Esempio n. 1
0
        public async Task <ActionResult <Concept> > Delete(Guid id)
        {
            var currentUser    = HttpContext.GetUser();
            var currentConcept = await _concepts.Get(id, HttpContext.RequestAborted);

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

            if (!await _authorization.HasAuthorship(currentUser, currentConcept, HttpContext.RequestAborted))
            {
                return(Unauthorized());
            }

            var result = await _concepts.Delete(id, HttpContext.RequestAborted);

            if (!result)
            {
                return(StatusCode(500, new ErrorResponse("An internal error occured while trying to delete this entity. Please contact an administrator if this is not intended.")));
            }

            return(currentConcept);
        }