diff options
Diffstat (limited to 'code/api/Endpoints/EndpointBase.cs')
| -rw-r--r-- | code/api/Endpoints/EndpointBase.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/code/api/Endpoints/EndpointBase.cs b/code/api/Endpoints/EndpointBase.cs new file mode 100644 index 0000000..a16f40f --- /dev/null +++ b/code/api/Endpoints/EndpointBase.cs @@ -0,0 +1,24 @@ +namespace I2R.Storage.Api.Endpoints; + +[ApiController] +[Authorize] +public class EndpointBase : ControllerBase +{ + protected LoggedInUserModel LoggedInUser => new(User); + + [NonAction] + protected ActionResult KnownProblem(string title = default, string subtitle = default, Dictionary<string, string[]> errors = default) { + return BadRequest(new KnownProblemModel { + Title = title, + Subtitle = subtitle, + Errors = errors, + TraceId = HttpContext.TraceIdentifier + }); + } + + [NonAction] + protected ActionResult KnownProblem(KnownProblemModel problem) { + problem.TraceId = HttpContext.TraceIdentifier; + return BadRequest(problem); + } +}
\ No newline at end of file |
