using Foxel.Models; using Foxel.Models.Request.Album; using Foxel.Models.Response.Album; using Foxel.Models.Response.Picture; namespace Foxel.Services.Management { public interface IAlbumManagementService { Task> GetAlbumsAsync(int page = 1, int pageSize = 10, string? searchQuery = null, int? userId = null); Task GetAlbumByIdAsync(int id); Task CreateAlbumAsync(AlbumCreateRequest request, int creatorUserId); Task UpdateAlbumAsync(int id, AlbumUpdateRequest request); Task DeleteAlbumAsync(int id); Task BatchDeleteAlbumsAsync(List ids); Task> GetAlbumsByUserIdAsync(int userId, int page = 1, int pageSize = 10); Task AddPictureToAlbumAsync(int albumId, int pictureId); Task RemovePictureFromAlbumAsync(int albumId, int pictureId); Task> GetPicturesInAlbumAsync(int albumId, int page = 1, int pageSize = 10); Task SetAlbumCoverAsync(int albumId, int pictureId); } }