Пример #1
0
        public async Task <ActionResult <Guid> > CreateCard([FromBody] CreateCardRequest request)
        {
            var userId = this.GetUserId();

            if (!await deckRepository.IsUsersDeckAsync(request.DeckId, userId).ConfigureAwait(false))
            {
                return(Forbid());
            }

            var result = await manager.AddCardAsync(request.DeckId).ConfigureAwait(false);

            if (result == null)
            {
                return(StatusCode(500));
            }
            // Не совсем корректно отдавать Id, вместо карточки, но норм
            return(Created($"api/v1/cards/{result.Value}", result.Value));
        }
        public async Task <IActionResult> UpdateDeck([FromRoute] Guid deckId, [FromBody] UpdateDeckRequest updateDeck)
        {
            try
            {
                var userId = this.GetUserId();
                if (!await deckRepository.IsUsersDeckAsync(deckId, userId).ConfigureAwait(false))
                {
                    return(Forbid());
                }

                var result = await manager.UpdateDeckTitleAsync(deckId, updateDeck.Title).ConfigureAwait(false);

                if (result)
                {
                    return(Ok());
                }
                return(NotFound());
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }