aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons
diff options
context:
space:
mode:
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs
index c9e43f2..8942979 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs
@@ -2,6 +2,27 @@ namespace CrupestApi.Commons.Crud;
public static class CrudWebApplicationExtensions
{
+ public static WebApplication UseCrudCore(this WebApplication app)
+ {
+ app.Use(async (context, next) =>
+ {
+ try
+ {
+ await next();
+ }
+ catch (EntityNotExistException)
+ {
+ await context.ResponseMessageAsync("Requested entity does not exist.", StatusCodes.Status404NotFound);
+ }
+ catch (UserException e)
+ {
+ await context.ResponseMessageAsync(e.Message);
+ }
+ });
+
+ return app;
+ }
+
public static WebApplication MapCrud<TEntity>(this WebApplication app, string path, string? permission) where TEntity : class
{
app.MapGet(path, async (context) =>