diff --git a/src/Piwigo.Client/Albums/IAlbumApi.cs b/src/Piwigo.Client/Albums/IAlbumApi.cs index 5c5c85f..a9fa74f 100644 --- a/src/Piwigo.Client/Albums/IAlbumApi.cs +++ b/src/Piwigo.Client/Albums/IAlbumApi.cs @@ -2,24 +2,124 @@ namespace Piwigo.Client.Albums; public interface IAlbumApi { + /// + /// Calculates the number of orphans for a given album + /// + /// the album id + /// + /// + /// + /// Information about images that would become orphan Task CalculateOrphansAsync(int albumId, CancellationToken cancellationToken = default); + /// + /// Deletes an album + /// + /// album id to delete + /// The API token that can be read from + /// + /// + /// + /// Task DeleteAsync(int albumId, string apiToken, CancellationToken cancellationToken = default); + /// + /// Moves an album into another album as a sub-album + /// + /// album id to move + /// new parent album id + /// The API token that can be read from + /// + /// + /// + /// Task MoveAsync(int albumId, int parentAlbumId, string apiToken, CancellationToken cancellationToken = default); + /// + /// deletes the album image used in the album overview + /// + /// album id that should get cleared + /// + /// + /// + /// Task DeleteRepresentativeAsync(int albumId, CancellationToken cancellationToken = default); + /// + /// performs a refresh of the album title image. + /// + /// album id to refresh + /// + /// + /// + /// Task RefreshRepresentativeAsync(int albumId, CancellationToken cancellationToken = default); + /// + /// Sets the representative image for the given album id + /// + /// album id that gets a new representative image + /// image id to use for the given album + /// + /// + /// + /// Task SetRepresentativeAsync(int albumId, int imageId, CancellationToken cancellationToken = default); + /// + /// Sets the rank of a given album + /// + /// album id + /// + /// + /// + /// + /// Task SetRankAsync(int albumId, int rank, CancellationToken cancellationToken = default); + /// + /// sets album information + /// + /// the album id to update + /// the album name + /// a comment to describe the album + /// the status + /// + /// + /// + /// Task SetInfoAsync(int albumId, string name, string? comment, AlbumStatus? status, CancellationToken cancellationToken = default); + /// + /// adds an album to the gallery + /// + /// name of the album + /// an optional parent album id if you create a new sub album + /// a comment to describe the album + /// true if the album is visible; false to hide it + /// the status + /// true to enable comments on the images; false otherwise + /// the position of the album + /// + /// + /// + /// Task AddAsync(string name, int? parentId = null, string? comment = null, bool? visible = null, AlbumStatus? status = null, bool? commentable = null, AlbumPosition? position = null, CancellationToken cancellationToken = default); + /// + /// Gets a list of albums + /// + /// provides an album as a starting point to get sub-albums + /// tells if the sub albums should get recursively + /// + /// ture to get the full name of an album e.g. 'UnitTestMain / UnitTestSub1' while false only + /// returns 'UnitTestSub1' + /// + /// defines the size of the album thumbnail + /// + /// + /// + /// Task> GetListAsync(int? albumId, bool? recursive, bool? fullName, ThumbnailSize? thumbnailSize, CancellationToken cancellationToken = default); } \ No newline at end of file