using Microsoft.AspNetCore.Mvc;
using SVSim.Database.Services.Guild;
using SVSim.EmulatedEntrypoint.Models.Dtos.Common;
using SVSim.EmulatedEntrypoint.Models.Dtos.GuildChat;
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests;
namespace SVSim.EmulatedEntrypoint.Controllers;
/// /guild_chat/* — 7 endpoints. See docs/api-spec/endpoints/post-login/guild_chat-*.md.
[Route("guild_chat")]
public sealed class GuildChatController : SVSimController
{
private readonly IGuildChatService _chat;
public GuildChatController(IGuildChatService chat) => _chat = chat;
[HttpPost("messages")]
public Task> Messages([FromBody] GuildChatMessagesRequest req, CancellationToken ct)
=> Task.FromResult>(new GuildChatMessagesResponse
{
MaintenanceCardList = new(),
Users = new(),
ChatMessage = new(),
WaitInterval = 10,
});
[HttpPost("post")]
public Task> Post([FromBody] GuildChatPostRequest req, CancellationToken ct)
=> Task.FromResult>(new GuildChatPostResponse());
[HttpPost("add_deck")]
public Task> AddDeck([FromBody] GuildChatAddDeckRequest req, CancellationToken ct)
=> Task.FromResult>(new EmptyResponse());
[HttpPost("delete_deck")]
public Task> DeleteDeck([FromBody] GuildChatDeleteDeckRequest req, CancellationToken ct)
=> Task.FromResult>(new EmptyResponse());
[HttpPost("add_replay")]
public Task> AddReplay([FromBody] GuildChatAddReplayRequest req, CancellationToken ct)
=> Task.FromResult>(new EmptyResponse());
[HttpPost("replay_detail")]
public Task> ReplayDetail([FromBody] GuildChatReplayDetailRequest req, CancellationToken ct)
=> Task.FromResult>(new GuildChatReplayDetailResponse());
[HttpPost("deck_log")]
public Task> DeckLog([FromBody] GuildChatDeckLogRequest req, CancellationToken ct)
=> Task.FromResult>(new GuildChatDeckLogResponse());
}