mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
770 lines
24 KiB
Dart
Generated
770 lines
24 KiB
Dart
Generated
//
|
|
// 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;
|
|
|
|
/// Add assets to an album
|
|
///
|
|
/// Add multiple assets to a specific album by its ID.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [BulkIdsDto] bulkIdsDto (required):
|
|
///
|
|
/// * [String] key:
|
|
///
|
|
/// * [String] slug:
|
|
Future<Response> 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 = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
if (key != null) {
|
|
queryParams.addAll(_queryParams('', 'key', key));
|
|
}
|
|
if (slug != null) {
|
|
queryParams.addAll(_queryParams('', 'slug', slug));
|
|
}
|
|
|
|
const contentTypes = <String>['application/json'];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'PUT',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Add assets to an album
|
|
///
|
|
/// Add multiple assets to a specific album by its ID.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [BulkIdsDto] bulkIdsDto (required):
|
|
///
|
|
/// * [String] key:
|
|
///
|
|
/// * [String] slug:
|
|
Future<List<BulkIdResponseDto>?> 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<BulkIdResponseDto>') as List)
|
|
.cast<BulkIdResponseDto>()
|
|
.toList(growable: false);
|
|
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/// Add assets to albums
|
|
///
|
|
/// Send a list of asset IDs and album IDs to add each asset to each album.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [AlbumsAddAssetsDto] albumsAddAssetsDto (required):
|
|
///
|
|
/// * [String] key:
|
|
///
|
|
/// * [String] slug:
|
|
Future<Response> addAssetsToAlbumsWithHttpInfo(AlbumsAddAssetsDto albumsAddAssetsDto, { String? key, String? slug, }) async {
|
|
// ignore: prefer_const_declarations
|
|
final apiPath = r'/albums/assets';
|
|
|
|
// ignore: prefer_final_locals
|
|
Object? postBody = albumsAddAssetsDto;
|
|
|
|
final queryParams = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
if (key != null) {
|
|
queryParams.addAll(_queryParams('', 'key', key));
|
|
}
|
|
if (slug != null) {
|
|
queryParams.addAll(_queryParams('', 'slug', slug));
|
|
}
|
|
|
|
const contentTypes = <String>['application/json'];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'PUT',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Add assets to albums
|
|
///
|
|
/// Send a list of asset IDs and album IDs to add each asset to each album.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [AlbumsAddAssetsDto] albumsAddAssetsDto (required):
|
|
///
|
|
/// * [String] key:
|
|
///
|
|
/// * [String] slug:
|
|
Future<AlbumsAddAssetsResponseDto?> addAssetsToAlbums(AlbumsAddAssetsDto albumsAddAssetsDto, { String? key, String? slug, }) async {
|
|
final response = await addAssetsToAlbumsWithHttpInfo(albumsAddAssetsDto, 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) {
|
|
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'AlbumsAddAssetsResponseDto',) as AlbumsAddAssetsResponseDto;
|
|
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/// Share album with users
|
|
///
|
|
/// Share an album with multiple users. Each user can be given a specific role in the album.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [AddUsersDto] addUsersDto (required):
|
|
Future<Response> 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 = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
const contentTypes = <String>['application/json'];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'PUT',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Share album with users
|
|
///
|
|
/// Share an album with multiple users. Each user can be given a specific role in the album.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [AddUsersDto] addUsersDto (required):
|
|
Future<AlbumResponseDto?> 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;
|
|
}
|
|
|
|
/// Create an album
|
|
///
|
|
/// Create a new album. The album can also be created with initial users and assets.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [CreateAlbumDto] createAlbumDto (required):
|
|
Future<Response> createAlbumWithHttpInfo(CreateAlbumDto createAlbumDto,) async {
|
|
// ignore: prefer_const_declarations
|
|
final apiPath = r'/albums';
|
|
|
|
// ignore: prefer_final_locals
|
|
Object? postBody = createAlbumDto;
|
|
|
|
final queryParams = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
const contentTypes = <String>['application/json'];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'POST',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Create an album
|
|
///
|
|
/// Create a new album. The album can also be created with initial users and assets.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [CreateAlbumDto] createAlbumDto (required):
|
|
Future<AlbumResponseDto?> 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;
|
|
}
|
|
|
|
/// Delete an album
|
|
///
|
|
/// Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
Future<Response> deleteAlbumWithHttpInfo(String id,) async {
|
|
// ignore: prefer_const_declarations
|
|
final apiPath = r'/albums/{id}'
|
|
.replaceAll('{id}', id);
|
|
|
|
// ignore: prefer_final_locals
|
|
Object? postBody;
|
|
|
|
final queryParams = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
const contentTypes = <String>[];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'DELETE',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Delete an album
|
|
///
|
|
/// Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
Future<void> deleteAlbum(String id,) async {
|
|
final response = await deleteAlbumWithHttpInfo(id,);
|
|
if (response.statusCode >= HttpStatus.badRequest) {
|
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
|
}
|
|
}
|
|
|
|
/// Retrieve an album
|
|
///
|
|
/// Retrieve information about a specific album by its ID.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [String] key:
|
|
///
|
|
/// * [String] slug:
|
|
///
|
|
/// * [bool] withoutAssets:
|
|
Future<Response> 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 = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
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 = <String>[];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'GET',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Retrieve an album
|
|
///
|
|
/// Retrieve information about a specific album by its ID.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [String] key:
|
|
///
|
|
/// * [String] slug:
|
|
///
|
|
/// * [bool] withoutAssets:
|
|
Future<AlbumResponseDto?> 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;
|
|
}
|
|
|
|
/// Retrieve album statistics
|
|
///
|
|
/// Returns statistics about the albums available to the authenticated user.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
Future<Response> getAlbumStatisticsWithHttpInfo() async {
|
|
// ignore: prefer_const_declarations
|
|
final apiPath = r'/albums/statistics';
|
|
|
|
// ignore: prefer_final_locals
|
|
Object? postBody;
|
|
|
|
final queryParams = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
const contentTypes = <String>[];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'GET',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Retrieve album statistics
|
|
///
|
|
/// Returns statistics about the albums available to the authenticated user.
|
|
Future<AlbumStatisticsResponseDto?> 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;
|
|
}
|
|
|
|
/// List all albums
|
|
///
|
|
/// Retrieve a list of albums available to the authenticated user.
|
|
///
|
|
/// 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<Response> getAllAlbumsWithHttpInfo({ String? assetId, bool? shared, }) async {
|
|
// ignore: prefer_const_declarations
|
|
final apiPath = r'/albums';
|
|
|
|
// ignore: prefer_final_locals
|
|
Object? postBody;
|
|
|
|
final queryParams = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
if (assetId != null) {
|
|
queryParams.addAll(_queryParams('', 'assetId', assetId));
|
|
}
|
|
if (shared != null) {
|
|
queryParams.addAll(_queryParams('', 'shared', shared));
|
|
}
|
|
|
|
const contentTypes = <String>[];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'GET',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// List all albums
|
|
///
|
|
/// Retrieve a list of albums available to the authenticated user.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] assetId:
|
|
/// Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums
|
|
///
|
|
/// * [bool] shared:
|
|
Future<List<AlbumResponseDto>?> 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<AlbumResponseDto>') as List)
|
|
.cast<AlbumResponseDto>()
|
|
.toList(growable: false);
|
|
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/// Remove assets from an album
|
|
///
|
|
/// Remove multiple assets from a specific album by its ID.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [BulkIdsDto] bulkIdsDto (required):
|
|
Future<Response> 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 = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
const contentTypes = <String>['application/json'];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'DELETE',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Remove assets from an album
|
|
///
|
|
/// Remove multiple assets from a specific album by its ID.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [BulkIdsDto] bulkIdsDto (required):
|
|
Future<List<BulkIdResponseDto>?> 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<BulkIdResponseDto>') as List)
|
|
.cast<BulkIdResponseDto>()
|
|
.toList(growable: false);
|
|
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/// Remove user from album
|
|
///
|
|
/// Remove a user from an album. Use an ID of \"me\" to leave a shared album.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [String] userId (required):
|
|
Future<Response> 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 = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
const contentTypes = <String>[];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'DELETE',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Remove user from album
|
|
///
|
|
/// Remove a user from an album. Use an ID of \"me\" to leave a shared album.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [String] userId (required):
|
|
Future<void> removeUserFromAlbum(String id, String userId,) async {
|
|
final response = await removeUserFromAlbumWithHttpInfo(id, userId,);
|
|
if (response.statusCode >= HttpStatus.badRequest) {
|
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
|
}
|
|
}
|
|
|
|
/// Update an album
|
|
///
|
|
/// Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [UpdateAlbumDto] updateAlbumDto (required):
|
|
Future<Response> 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 = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
const contentTypes = <String>['application/json'];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'PATCH',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Update an album
|
|
///
|
|
/// Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [UpdateAlbumDto] updateAlbumDto (required):
|
|
Future<AlbumResponseDto?> 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;
|
|
}
|
|
|
|
/// Update user role
|
|
///
|
|
/// Change the role for a specific user in a specific album.
|
|
///
|
|
/// Note: This method returns the HTTP [Response].
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [String] userId (required):
|
|
///
|
|
/// * [UpdateAlbumUserDto] updateAlbumUserDto (required):
|
|
Future<Response> 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 = <QueryParam>[];
|
|
final headerParams = <String, String>{};
|
|
final formParams = <String, String>{};
|
|
|
|
const contentTypes = <String>['application/json'];
|
|
|
|
|
|
return apiClient.invokeAPI(
|
|
apiPath,
|
|
'PUT',
|
|
queryParams,
|
|
postBody,
|
|
headerParams,
|
|
formParams,
|
|
contentTypes.isEmpty ? null : contentTypes.first,
|
|
);
|
|
}
|
|
|
|
/// Update user role
|
|
///
|
|
/// Change the role for a specific user in a specific album.
|
|
///
|
|
/// Parameters:
|
|
///
|
|
/// * [String] id (required):
|
|
///
|
|
/// * [String] userId (required):
|
|
///
|
|
/// * [UpdateAlbumUserDto] updateAlbumUserDto (required):
|
|
Future<void> 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));
|
|
}
|
|
}
|
|
}
|