using Refit; using WatchIt.DTO.Models.Controllers.Photos.Photo; using WatchIt.DTO.Models.Controllers.Photos.PhotoBackground; using WatchIt.DTO.Query; namespace WatchIt.Website.Clients; public interface IPhotosClient { #region Main [Get("/{id}")] Task> GetPhoto(Guid id); [Get("/")] Task>> GetPhotos([Query] PhotoFilterQuery? filterQuery = null, [Query] OrderQuery? orderQuery = null, [Query] PagingQuery? pagingQuery = null); [Post("/")] Task> PostPhoto([Authorize]string token, [Body] PhotoRequest body); [Put("/{id}")] Task PutPhoto([Authorize]string token, Guid id, [Body] PhotoRequest body); [Delete("/{id}")] Task DeletePhoto([Authorize]string token, Guid id); #endregion #region Background [Get("/background")] Task> GetPhotoBackground(); [Put("/{photo_id}/background")] Task> PutPhotoBackground([Authorize]string token, [AliasAs("photo_id")] Guid photoId, [Body] PhotoBackgroundRequest body); [Delete("/{photo_id}/background")] Task DeletePhotoBackground([Authorize]string token, [AliasAs("photo_id")] Guid photoId); #endregion }