public async Task <ActionResult <GroupAlbumDownloadModel> > GetAllGroupAlbumsAsync(string groupIdentifier, string groupAlbumIdentifier) { try { if (await IsUserValidAsync()) { var groupAlbum = await GroupAlbumModel.GetGroupAlbumAsync( groupIdentifier, groupAlbumIdentifier, ExtractUserIdFromToken(), RepositoryManager); return(Ok(MapEntityToDownloadModel <GroupAlbum, GroupAlbumDownloadModel>(groupAlbum))); } else { return(Unauthorized()); } } catch (InvalidTokenException err) { return(BadRequest(new InvalidTokenException(err.InvalidTokenType, err.ErrorMessage))); } catch (UserNotGroupMemberException) { return(Forbid()); } catch (Exception err) { LogException(err); return(Problem()); } }
public async Task <ActionResult <string> > CreateGroupAlbumAsync(GroupAlbumUploadModel groupAlbumUploadModel) { try { if (await IsUserValidAsync()) { var newGroupAlbumIdentifier = await GroupAlbumModel.CreateNewGroupAlbumAsync( groupAlbumUploadModel, ExtractUserIdFromToken(), RepositoryManager, GetMapper(), _spotifyAPICredentials); return(Ok(newGroupAlbumIdentifier)); } else { return(Unauthorized()); } } catch (InvalidTokenException err) { return(BadRequest(new InvalidTokenException(err.InvalidTokenType, err.ErrorMessage))); } catch (UserNotGroupMemberException) { return(Forbid()); } catch (Exception err) { LogException(err); return(Problem()); } }