feat: favorite albums

This commit is contained in:
Alex Tran
2026-03-29 05:05:44 +00:00
parent b09ebb11e9
commit 6876eb2f05
43 changed files with 1421 additions and 29 deletions
+61
View File
@@ -771,4 +771,65 @@ class AlbumsApi {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
}
/// Update album user metadata
///
/// Update metadata for the authenticated user on a specific album.
///
/// Note: This method returns the HTTP [Response].
///
/// Parameters:
///
/// * [String] id (required):
///
/// * [UpdateAlbumUserMetadataDto] updateAlbumUserMetadataDto (required):
Future<Response> updateAlbumUserMetadataWithHttpInfo(String id, UpdateAlbumUserMetadataDto updateAlbumUserMetadataDto,) async {
// ignore: prefer_const_declarations
final apiPath = r'/albums/{id}/user-metadata'
.replaceAll('{id}', id);
// ignore: prefer_final_locals
Object? postBody = updateAlbumUserMetadataDto;
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 album user metadata
///
/// Update metadata for the authenticated user on a specific album.
///
/// Parameters:
///
/// * [String] id (required):
///
/// * [UpdateAlbumUserMetadataDto] updateAlbumUserMetadataDto (required):
Future<AlbumResponseDto?> updateAlbumUserMetadata(String id, UpdateAlbumUserMetadataDto updateAlbumUserMetadataDto,) async {
final response = await updateAlbumUserMetadataWithHttpInfo(id, updateAlbumUserMetadataDto,);
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;
}
}