using Refit; using Sledgemapper.Shared.Entities; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Sledgemapper { [Headers("Authorization: Bearer")] public interface IMapApi { [Headers("Authorization")] [Post("/authmanagement/register")] Task Register([Body] RegisterModel registerModel); [Headers("Authorization")] [Post("/authmanagement/login")] Task Authenticate([Body] AuthenticateModel registerModel); [Post("/map/{campaignId}/{mapId}/overlay")] Task NewOverlay([Body] Overlay overlay, Guid campaignId, Guid mapId); [Post("/map/{campaignId}/{mapId}/note")] Task NewNote([Body] Note note, Guid campaignId, Guid mapId); [Post("/map/{campaignId}/{mapId}/wall")] Task NewWall([Body] Wall overlay, Guid campaignId, Guid mapId); [Post("/map/{campaignId}/{mapId}/room")] Task NewRoom(Room room, Guid campaignId, Guid mapId); [Post("/map/{campaignId}/{mapId}/line")] Task NewLine(Line line, Guid campaignId, Guid mapId); [Post("/campaign/{campaignName}")] Task NewCampaign(string campaignName); [Get("/campaign/")] Task> GetCampaigns(); [Get("/campaign/{campaignName}/players")] Task> GetPlayers(string campaignName); [Get("/campaign/{campaignName}/maps")] Task> GetMaps(Guid campaignName); [Get("/map/{campaignName}/{mapName}")] Task GetMap(Guid campaignName, Guid mapName); [Post("/campaign/{campaignName}/players/{email}")] Task InvitePlayer(string campaignName, string email); [Get("/session/{sessionName}")] Task Session(string sessionName); [Post("/map/{campaignid}/{sessionName}")] Task NewSession(Guid campaignid, string sessionName); [Post("/session/{sessionName}/snapshot")] Task SaveSnapshot([Body] Session session, Guid sessionName); [Post("/map/{campaignId}/{mapId}/tile")] Task NewTile([Body] Tile tile, Guid campaignId, Guid mapId); [Delete("/map/{campaignId}/{mapId}/wall")] Task DeleteWall([Body] Wall wall, Guid campaignId, Guid mapId); [Delete("/map/{campaignId}/{mapId}/tile")] Task DeleteTile([Body] Tile tile, Guid campaignId, Guid mapId); [Delete("/map/{campaignId}/{mapId}/overlay")] Task DeleteOverlay([Body] Overlay overlay, Guid campaignId, Guid mapId); [Delete("/map/{campaignId}/{mapId}/note")] Task DeleteNote([Body] Note overlay, Guid campaignId, Guid mapId); public class AuthResult { public string Token { get; set; } public bool Result { get; set; } public List Errors { get; set; } } } }