public async Task <ActionResult <GroupPlaylistDownloadModel> > GetGroupPlaylistAsync(string groupIdentifier, string groupPlaylistIdentifier) { try { if (await IsUserValidAsync()) { var groupPlaylist = await GroupPlaylistModel.GetGroupPlaylistAsync( groupIdentifier, groupPlaylistIdentifier, ExtractUserIdFromToken(), RepositoryManager); return(Ok(MapEntityToDownloadModel <GroupPlaylist, GroupPlaylistDownloadModel>(groupPlaylist))); } 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> > CreateGroupPlaylistAsync(GroupPlaylistUploadModel groupPlaylistUploadModel) { try { if (await IsUserValidAsync()) { var newGroupPlaylistIdentifier = await GroupPlaylistModel.CreateNewGroupPlaylistAsync( groupPlaylistUploadModel, ExtractUserIdFromToken(), RepositoryManager, GetMapper(), _spotifyAPICredentials); return(Ok(newGroupPlaylistIdentifier)); } 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()); } }