269 lines
11 KiB
C#
269 lines
11 KiB
C#
using SPTarkov.DI.Annotations;
|
|
using SPTarkov.Server.Core.Callbacks;
|
|
using SPTarkov.Server.Core.DI;
|
|
using SPTarkov.Server.Core.Models.Eft.Common;
|
|
using SPTarkov.Server.Core.Models.Eft.Common.Request;
|
|
using SPTarkov.Server.Core.Models.Eft.Dialog;
|
|
using SPTarkov.Server.Core.Utils;
|
|
|
|
namespace SPTarkov.Server.Core.Routers.Static;
|
|
|
|
[Injectable]
|
|
public class DialogStaticRouter : StaticRouter
|
|
{
|
|
public DialogStaticRouter(JsonUtil jsonUtil, DialogueCallbacks dialogueCallbacks)
|
|
: base(
|
|
jsonUtil,
|
|
[
|
|
new RouteAction(
|
|
"/client/chatServer/list",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.GetChatServerList(
|
|
url,
|
|
info as GetChatServerListRequestData,
|
|
sessionID
|
|
),
|
|
typeof(GetChatServerListRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/list",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.GetMailDialogList(
|
|
url,
|
|
info as GetMailDialogListRequestData,
|
|
sessionID
|
|
),
|
|
typeof(GetMailDialogListRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/view",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.GetMailDialogView(
|
|
url,
|
|
info as GetMailDialogViewRequestData,
|
|
sessionID
|
|
),
|
|
typeof(GetMailDialogViewRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/info",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.GetMailDialogInfo(
|
|
url,
|
|
info as GetMailDialogInfoRequestData,
|
|
sessionID
|
|
),
|
|
typeof(GetMailDialogInfoRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/remove",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.RemoveDialog(
|
|
url,
|
|
info as RemoveDialogRequestData,
|
|
sessionID
|
|
),
|
|
typeof(RemoveDialogRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/pin",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.PinDialog(
|
|
url,
|
|
info as PinDialogRequestData,
|
|
sessionID
|
|
),
|
|
typeof(PinDialogRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/unpin",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.UnpinDialog(
|
|
url,
|
|
info as PinDialogRequestData,
|
|
sessionID
|
|
),
|
|
typeof(PinDialogRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/read",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.SetRead(
|
|
url,
|
|
info as SetDialogReadRequestData,
|
|
sessionID
|
|
),
|
|
typeof(SetDialogReadRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/getAllAttachments",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.GetAllAttachments(
|
|
url,
|
|
info as GetAllAttachmentsRequestData,
|
|
sessionID
|
|
),
|
|
typeof(GetAllAttachmentsRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/msg/send",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.SendMessage(
|
|
url,
|
|
info as SendMessageRequest,
|
|
sessionID
|
|
),
|
|
typeof(SendMessageRequest)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/clear",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.ClearMail(
|
|
url,
|
|
info as ClearMailMessageRequest,
|
|
sessionID
|
|
),
|
|
typeof(ClearMailMessageRequest)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/group/create",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.CreateGroupMail(
|
|
url,
|
|
info as CreateGroupMailRequest,
|
|
sessionID
|
|
),
|
|
typeof(CreateGroupMailRequest)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/group/owner/change",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.ChangeMailGroupOwner(
|
|
url,
|
|
info as ChangeGroupMailOwnerRequest,
|
|
sessionID
|
|
),
|
|
typeof(ChangeGroupMailOwnerRequest)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/group/users/add",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.AddUserToMail(
|
|
url,
|
|
info as AddUserGroupMailRequest,
|
|
sessionID
|
|
),
|
|
typeof(AddUserGroupMailRequest)
|
|
),
|
|
new RouteAction(
|
|
"/client/mail/dialog/group/users/remove",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.RemoveUserFromMail(
|
|
url,
|
|
info as RemoveUserGroupMailRequest,
|
|
sessionID
|
|
),
|
|
typeof(RemoveUserGroupMailRequest)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/list",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.GetFriendList(
|
|
url,
|
|
info as EmptyRequestData,
|
|
sessionID
|
|
)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/request/list/outbox",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.ListOutbox(url, info as EmptyRequestData, sessionID)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/request/list/inbox",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.ListInbox(url, info as EmptyRequestData, sessionID)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/request/send",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.SendFriendRequest(
|
|
url,
|
|
info as FriendRequestData,
|
|
sessionID
|
|
),
|
|
typeof(FriendRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/request/accept-all",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.AcceptAllFriendRequests(
|
|
url,
|
|
info as EmptyRequestData,
|
|
sessionID
|
|
)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/request/accept",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.AcceptFriendRequest(
|
|
url,
|
|
info as AcceptFriendRequestData,
|
|
sessionID
|
|
),
|
|
typeof(AcceptFriendRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/request/decline",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.DeclineFriendRequest(
|
|
url,
|
|
info as DeclineFriendRequestData,
|
|
sessionID
|
|
),
|
|
typeof(DeclineFriendRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/request/cancel",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.CancelFriendRequest(
|
|
url,
|
|
info as CancelFriendRequestData,
|
|
sessionID
|
|
),
|
|
typeof(CancelFriendRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/delete",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.DeleteFriend(
|
|
url,
|
|
info as DeleteFriendRequest,
|
|
sessionID
|
|
),
|
|
typeof(DeleteFriendRequest)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/ignore/set",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.IgnoreFriend(
|
|
url,
|
|
info as UIDRequestData,
|
|
sessionID
|
|
),
|
|
typeof(UIDRequestData)
|
|
),
|
|
new RouteAction(
|
|
"/client/friend/ignore/remove",
|
|
async (url, info, sessionID, output) =>
|
|
await dialogueCallbacks.UnIgnoreFriend(
|
|
url,
|
|
info as UIDRequestData,
|
|
sessionID
|
|
),
|
|
typeof(UIDRequestData)
|
|
),
|
|
]
|
|
) { }
|
|
}
|