aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/Endpoints/EndpointBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'code/api/Endpoints/EndpointBase.cs')
-rw-r--r--code/api/Endpoints/EndpointBase.cs24
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