public async Task <IActionResult> CreateNewTemplate([FromBody] TemplateCreationDto dto) { try { dto.AuthorID = ObjectId.Parse(tokenService.GetTokenClaim(requestService.GetToken(Request), "ID")); var createdTemplate = await templateService.CreateNewTemplate(dto).ConfigureAwait(false); return(new OkJson <TemplateDto>(createdTemplate)); } catch (FormatException) { return(new BadSentRequest <string>("userID is incorrect format")); } catch (ArgumentException ex) { return(new BadSentRequest <string>(ex.Message)); } catch (DatabaseException ex) { return(new InternalServerError(ex.Message)); } catch (Exception ex) { exceptionLogger.Log(new ApplicationError(ex), LogLevel.Error, logConfiguration); return(new InternalServerError()); } }