// // AUTO-GENERATED FILE, DO NOT MODIFY! // // @dart=2.18 // ignore_for_file: unused_element, unused_import // ignore_for_file: always_put_required_named_parameters_first // ignore_for_file: constant_identifier_names // ignore_for_file: lines_longer_than_80_chars part of openapi.api; class AlbumsApi { AlbumsApi([ApiClient? apiClient]) : apiClient = apiClient ?? defaultApiClient; final ApiClient apiClient; /// This endpoint requires the `albumAsset.create` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] id (required): /// /// * [BulkIdsDto] bulkIdsDto (required): /// /// * [String] key: /// /// * [String] slug: Future addAssetsToAlbumWithHttpInfo(String id, BulkIdsDto bulkIdsDto, { String? key, String? slug, }) async { // ignore: prefer_const_declarations final apiPath = r'/albums/{id}/assets' .replaceAll('{id}', id); // ignore: prefer_final_locals Object? postBody = bulkIdsDto; final queryParams = []; final headerParams = {}; final formParams = {}; if (key != null) { queryParams.addAll(_queryParams('', 'key', key)); } if (slug != null) { queryParams.addAll(_queryParams('', 'slug', slug)); } const contentTypes = ['application/json']; return apiClient.invokeAPI( apiPath, 'PUT', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `albumAsset.create` permission. /// /// Parameters: /// /// * [String] id (required): /// /// * [BulkIdsDto] bulkIdsDto (required): /// /// * [String] key: /// /// * [String] slug: Future?> addAssetsToAlbum(String id, BulkIdsDto bulkIdsDto, { String? key, String? slug, }) async { final response = await addAssetsToAlbumWithHttpInfo(id, bulkIdsDto, key: key, slug: slug, ); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } // When a remote server returns no body with a status of 204, we shall not decode it. // At the time of writing this, `dart:convert` will throw an "Unexpected end of input" // FormatException when trying to decode an empty string. if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) { final responseBody = await _decodeBodyBytes(response); return (await apiClient.deserializeAsync(responseBody, 'List') as List) .cast() .toList(growable: false); } return null; } /// This endpoint requires the `albumUser.create` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] id (required): /// /// * [AddUsersDto] addUsersDto (required): Future addUsersToAlbumWithHttpInfo(String id, AddUsersDto addUsersDto,) async { // ignore: prefer_const_declarations final apiPath = r'/albums/{id}/users' .replaceAll('{id}', id); // ignore: prefer_final_locals Object? postBody = addUsersDto; final queryParams = []; final headerParams = {}; final formParams = {}; const contentTypes = ['application/json']; return apiClient.invokeAPI( apiPath, 'PUT', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `albumUser.create` permission. /// /// Parameters: /// /// * [String] id (required): /// /// * [AddUsersDto] addUsersDto (required): Future addUsersToAlbum(String id, AddUsersDto addUsersDto,) async { final response = await addUsersToAlbumWithHttpInfo(id, addUsersDto,); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } // When a remote server returns no body with a status of 204, we shall not decode it. // At the time of writing this, `dart:convert` will throw an "Unexpected end of input" // FormatException when trying to decode an empty string. if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) { return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'AlbumResponseDto',) as AlbumResponseDto; } return null; } /// This endpoint requires the `album.create` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [CreateAlbumDto] createAlbumDto (required): Future createAlbumWithHttpInfo(CreateAlbumDto createAlbumDto,) async { // ignore: prefer_const_declarations final apiPath = r'/albums'; // ignore: prefer_final_locals Object? postBody = createAlbumDto; final queryParams = []; final headerParams = {}; final formParams = {}; const contentTypes = ['application/json']; return apiClient.invokeAPI( apiPath, 'POST', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `album.create` permission. /// /// Parameters: /// /// * [CreateAlbumDto] createAlbumDto (required): Future createAlbum(CreateAlbumDto createAlbumDto,) async { final response = await createAlbumWithHttpInfo(createAlbumDto,); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } // When a remote server returns no body with a status of 204, we shall not decode it. // At the time of writing this, `dart:convert` will throw an "Unexpected end of input" // FormatException when trying to decode an empty string. if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) { return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'AlbumResponseDto',) as AlbumResponseDto; } return null; } /// This endpoint requires the `album.delete` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] id (required): Future deleteAlbumWithHttpInfo(String id,) async { // ignore: prefer_const_declarations final apiPath = r'/albums/{id}' .replaceAll('{id}', id); // ignore: prefer_final_locals Object? postBody; final queryParams = []; final headerParams = {}; final formParams = {}; const contentTypes = []; return apiClient.invokeAPI( apiPath, 'DELETE', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `album.delete` permission. /// /// Parameters: /// /// * [String] id (required): Future deleteAlbum(String id,) async { final response = await deleteAlbumWithHttpInfo(id,); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } } /// This endpoint requires the `album.read` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] id (required): /// /// * [String] key: /// /// * [String] slug: /// /// * [bool] withoutAssets: Future getAlbumInfoWithHttpInfo(String id, { String? key, String? slug, bool? withoutAssets, }) async { // ignore: prefer_const_declarations final apiPath = r'/albums/{id}' .replaceAll('{id}', id); // ignore: prefer_final_locals Object? postBody; final queryParams = []; final headerParams = {}; final formParams = {}; if (key != null) { queryParams.addAll(_queryParams('', 'key', key)); } if (slug != null) { queryParams.addAll(_queryParams('', 'slug', slug)); } if (withoutAssets != null) { queryParams.addAll(_queryParams('', 'withoutAssets', withoutAssets)); } const contentTypes = []; return apiClient.invokeAPI( apiPath, 'GET', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `album.read` permission. /// /// Parameters: /// /// * [String] id (required): /// /// * [String] key: /// /// * [String] slug: /// /// * [bool] withoutAssets: Future getAlbumInfo(String id, { String? key, String? slug, bool? withoutAssets, }) async { final response = await getAlbumInfoWithHttpInfo(id, key: key, slug: slug, withoutAssets: withoutAssets, ); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } // When a remote server returns no body with a status of 204, we shall not decode it. // At the time of writing this, `dart:convert` will throw an "Unexpected end of input" // FormatException when trying to decode an empty string. if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) { return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'AlbumResponseDto',) as AlbumResponseDto; } return null; } /// This endpoint requires the `album.statistics` permission. /// /// Note: This method returns the HTTP [Response]. Future getAlbumStatisticsWithHttpInfo() async { // ignore: prefer_const_declarations final apiPath = r'/albums/statistics'; // ignore: prefer_final_locals Object? postBody; final queryParams = []; final headerParams = {}; final formParams = {}; const contentTypes = []; return apiClient.invokeAPI( apiPath, 'GET', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `album.statistics` permission. Future getAlbumStatistics() async { final response = await getAlbumStatisticsWithHttpInfo(); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } // When a remote server returns no body with a status of 204, we shall not decode it. // At the time of writing this, `dart:convert` will throw an "Unexpected end of input" // FormatException when trying to decode an empty string. if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) { return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'AlbumStatisticsResponseDto',) as AlbumStatisticsResponseDto; } return null; } /// This endpoint requires the `album.read` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] assetId: /// Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums /// /// * [bool] shared: Future getAllAlbumsWithHttpInfo({ String? assetId, bool? shared, }) async { // ignore: prefer_const_declarations final apiPath = r'/albums'; // ignore: prefer_final_locals Object? postBody; final queryParams = []; final headerParams = {}; final formParams = {}; if (assetId != null) { queryParams.addAll(_queryParams('', 'assetId', assetId)); } if (shared != null) { queryParams.addAll(_queryParams('', 'shared', shared)); } const contentTypes = []; return apiClient.invokeAPI( apiPath, 'GET', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `album.read` permission. /// /// Parameters: /// /// * [String] assetId: /// Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums /// /// * [bool] shared: Future?> getAllAlbums({ String? assetId, bool? shared, }) async { final response = await getAllAlbumsWithHttpInfo( assetId: assetId, shared: shared, ); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } // When a remote server returns no body with a status of 204, we shall not decode it. // At the time of writing this, `dart:convert` will throw an "Unexpected end of input" // FormatException when trying to decode an empty string. if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) { final responseBody = await _decodeBodyBytes(response); return (await apiClient.deserializeAsync(responseBody, 'List') as List) .cast() .toList(growable: false); } return null; } /// This endpoint requires the `albumAsset.delete` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] id (required): /// /// * [BulkIdsDto] bulkIdsDto (required): Future removeAssetFromAlbumWithHttpInfo(String id, BulkIdsDto bulkIdsDto,) async { // ignore: prefer_const_declarations final apiPath = r'/albums/{id}/assets' .replaceAll('{id}', id); // ignore: prefer_final_locals Object? postBody = bulkIdsDto; final queryParams = []; final headerParams = {}; final formParams = {}; const contentTypes = ['application/json']; return apiClient.invokeAPI( apiPath, 'DELETE', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `albumAsset.delete` permission. /// /// Parameters: /// /// * [String] id (required): /// /// * [BulkIdsDto] bulkIdsDto (required): Future?> removeAssetFromAlbum(String id, BulkIdsDto bulkIdsDto,) async { final response = await removeAssetFromAlbumWithHttpInfo(id, bulkIdsDto,); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } // When a remote server returns no body with a status of 204, we shall not decode it. // At the time of writing this, `dart:convert` will throw an "Unexpected end of input" // FormatException when trying to decode an empty string. if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) { final responseBody = await _decodeBodyBytes(response); return (await apiClient.deserializeAsync(responseBody, 'List') as List) .cast() .toList(growable: false); } return null; } /// This endpoint requires the `albumUser.delete` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] id (required): /// /// * [String] userId (required): Future removeUserFromAlbumWithHttpInfo(String id, String userId,) async { // ignore: prefer_const_declarations final apiPath = r'/albums/{id}/user/{userId}' .replaceAll('{id}', id) .replaceAll('{userId}', userId); // ignore: prefer_final_locals Object? postBody; final queryParams = []; final headerParams = {}; final formParams = {}; const contentTypes = []; return apiClient.invokeAPI( apiPath, 'DELETE', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `albumUser.delete` permission. /// /// Parameters: /// /// * [String] id (required): /// /// * [String] userId (required): Future removeUserFromAlbum(String id, String userId,) async { final response = await removeUserFromAlbumWithHttpInfo(id, userId,); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } } /// This endpoint requires the `album.update` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] id (required): /// /// * [UpdateAlbumDto] updateAlbumDto (required): Future updateAlbumInfoWithHttpInfo(String id, UpdateAlbumDto updateAlbumDto,) async { // ignore: prefer_const_declarations final apiPath = r'/albums/{id}' .replaceAll('{id}', id); // ignore: prefer_final_locals Object? postBody = updateAlbumDto; final queryParams = []; final headerParams = {}; final formParams = {}; const contentTypes = ['application/json']; return apiClient.invokeAPI( apiPath, 'PATCH', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `album.update` permission. /// /// Parameters: /// /// * [String] id (required): /// /// * [UpdateAlbumDto] updateAlbumDto (required): Future updateAlbumInfo(String id, UpdateAlbumDto updateAlbumDto,) async { final response = await updateAlbumInfoWithHttpInfo(id, updateAlbumDto,); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } // When a remote server returns no body with a status of 204, we shall not decode it. // At the time of writing this, `dart:convert` will throw an "Unexpected end of input" // FormatException when trying to decode an empty string. if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) { return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'AlbumResponseDto',) as AlbumResponseDto; } return null; } /// This endpoint requires the `albumUser.update` permission. /// /// Note: This method returns the HTTP [Response]. /// /// Parameters: /// /// * [String] id (required): /// /// * [String] userId (required): /// /// * [UpdateAlbumUserDto] updateAlbumUserDto (required): Future updateAlbumUserWithHttpInfo(String id, String userId, UpdateAlbumUserDto updateAlbumUserDto,) async { // ignore: prefer_const_declarations final apiPath = r'/albums/{id}/user/{userId}' .replaceAll('{id}', id) .replaceAll('{userId}', userId); // ignore: prefer_final_locals Object? postBody = updateAlbumUserDto; final queryParams = []; final headerParams = {}; final formParams = {}; const contentTypes = ['application/json']; return apiClient.invokeAPI( apiPath, 'PUT', queryParams, postBody, headerParams, formParams, contentTypes.isEmpty ? null : contentTypes.first, ); } /// This endpoint requires the `albumUser.update` permission. /// /// Parameters: /// /// * [String] id (required): /// /// * [String] userId (required): /// /// * [UpdateAlbumUserDto] updateAlbumUserDto (required): Future updateAlbumUser(String id, String userId, UpdateAlbumUserDto updateAlbumUserDto,) async { final response = await updateAlbumUserWithHttpInfo(id, userId, updateAlbumUserDto,); if (response.statusCode >= HttpStatus.badRequest) { throw ApiException(response.statusCode, await _decodeBodyBytes(response)); } } }