diff --git a/PiwigoDotnet/Piwigo.Client/IImageApi.cs b/PiwigoDotnet/Piwigo.Client/IImageApi.cs index dfbfc06..c528203 100644 --- a/PiwigoDotnet/Piwigo.Client/IImageApi.cs +++ b/PiwigoDotnet/Piwigo.Client/IImageApi.cs @@ -4,13 +4,89 @@ namespace Piwigo.Client; public interface IImageApi { + /// + /// Adds an image to piwigo after all parts have been uploaded. + /// + /// The metadata of the uploaded image + /// + /// + /// + /// Information about the uploaded image + /// Ensure that you called for every chunk of the image. Task AddAsync(ImageUpload imageUpload, CancellationToken cancellationToken = default); + + /// + /// Updates an image to piwigo after all parts have been uploaded. + /// + /// The image id to update + /// The metadata of the uploaded image + /// + /// + /// + /// Information about the uploaded image + /// Ensure that you called for every chunk of the image. Task UpdateAsync(int imageId, ImageUpload imageUpload, CancellationToken cancellationToken = default); + + /// + /// Adds a comment to the given image. + /// + /// The id of the image + /// The author + /// The content + /// + /// The key to post: The key can read from and + /// + /// + /// + /// + /// The id of the new comment Task AddCommentAsync(int imageId, string? author, string content, string key, CancellationToken cancellationToken = default); + + /// + /// Adds a chunk of an image to piwigo. + /// This enables uploading of large images using multiple chunks of data. + /// + /// The chunk to upload + /// The original image checksum + /// The chunk position + /// + /// + /// Task AddChunkAsync(byte[] data, string originalSum, int position, CancellationToken cancellationToken = default); + + /// + /// Checks if piwigo is ready to get images uploaded. + /// + /// + /// + /// + /// true if ready; otherwise false Task ReadyForUploadAsync(CancellationToken cancellationToken = default); + + /// + /// Gets detailed information about the image. + /// + /// The image id to read + /// The requested comments page + /// Number of comments per page + /// + /// + /// + /// The metadata of a given image id Task GetInfoAsync(int imageId, int? commentsPage, int? commentsPerPage, CancellationToken cancellationToken = default); + /// + /// Gets a list of images for a given album. + /// + /// The album id + /// true to get images from sub-albums + /// Information about the paging + /// Filter criteria applied to the returned images + /// How the list should be sorted + /// + /// + /// + /// a paged list of the images of a given album Task GetImages(int albumId, bool recursive, PagingInfo page, ImageFilter filter, ImageOrder order = ImageOrder.Name, CancellationToken cancellationToken = default);