Пример #1
0
        public PlaylistResult UpdatePlaylist([FromBody] UpdatePlaylistRequest request)
        {
            CheckTokenResult checkTokenResult = _authService.CheckToken(AccessToken);

            if (!checkTokenResult.Ok)
            {
                return(new PlaylistResult(checkTokenResult));
            }

            return(_playlistService.UpdatePlaylist(checkTokenResult.AuthToken.UserId, request));
        }
Пример #2
0
        public PlaylistResult UpdatePlaylist(Guid userId, UpdatePlaylistRequest request)
        {
            return(BaseInvokeCheckModel(request, () =>
            {
                DataModel.Playlist playlist = _dbContext.Playlists.FirstOrDefault(x => x.Id == request.PlaylistId && x.OwnerId == userId);

                if (playlist == null)
                {
                    return ResponseBuilder <PlaylistResult> .Fail().SetInfoAndBuild(PlaylistNotFound);
                }

                playlist.Title = request.Title;

                _dbContext.SaveChanges();

                return ResponseBuilder <PlaylistResult> .SuccessBuild(new PlaylistResult()
                {
                    Playlist = PlaylistMapper.ToApi.FromData(playlist),
                });
            }));
        }
Пример #3
0
        public async Task <ActionResult> Update(long id, [FromBody] UpdatePlaylistRequest request)
        {
            var entity = await _dbContext.Playlist.FindAsync(id);

            if (entity == null)
            {
                return(NotFound());
            }

            if (entity.OwnerId != UserId)
            {
                return(StatusCode(StatusCodes.Status403Forbidden, "Permission denied"));
            }

            entity.Name     = request.Name ?? entity.Name;
            entity.IsPublic = request.IsPublic ?? entity.IsPublic;

            entity = _dbContext.Playlist.Update(entity).Entity;

            _dbContext.SaveChanges();

            return(Ok(entity));
        }