mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-12 02:20:28 +08:00
23 lines
1.1 KiB
C#
23 lines
1.1 KiB
C#
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<PaginatedResult<AlbumResponse>> GetAlbumsAsync(int page = 1, int pageSize = 10, string? searchQuery = null, int? userId = null);
|
|
Task<AlbumResponse> GetAlbumByIdAsync(int id);
|
|
Task<AlbumResponse> CreateAlbumAsync(AlbumCreateRequest request, int creatorUserId);
|
|
Task<AlbumResponse> UpdateAlbumAsync(int id, AlbumUpdateRequest request);
|
|
Task<bool> DeleteAlbumAsync(int id);
|
|
Task<BatchDeleteResult> BatchDeleteAlbumsAsync(List<int> ids);
|
|
Task<PaginatedResult<AlbumResponse>> GetAlbumsByUserIdAsync(int userId, int page = 1, int pageSize = 10);
|
|
Task<bool> AddPictureToAlbumAsync(int albumId, int pictureId);
|
|
Task<bool> RemovePictureFromAlbumAsync(int albumId, int pictureId);
|
|
Task<PaginatedResult<PictureResponse>> GetPicturesInAlbumAsync(int albumId, int page = 1, int pageSize = 10);
|
|
Task<bool> SetAlbumCoverAsync(int albumId, int pictureId);
|
|
}
|
|
}
|