aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-23 16:31:47 +0800
committercrupest <crupest@outlook.com>2022-12-23 16:31:47 +0800
commit4d8c1ed02fbe706d42f2364c34509216f71b8266 (patch)
treeb54d036a41739cb8d2dce97fac8b304e4c19a9b3 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs
parente19d5550d88c114acaab77799345135d63117fcc (diff)
downloadcrupest-4d8c1ed02fbe706d42f2364c34509216f71b8266.tar.gz
crupest-4d8c1ed02fbe706d42f2364c34509216f71b8266.tar.bz2
crupest-4d8c1ed02fbe706d42f2364c34509216f71b8266.zip
Develop secret api. v61
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs')
-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) =>