diff options
author | crupest <crupest@outlook.com> | 2022-12-23 16:31:47 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-12-23 16:31:47 +0800 |
commit | 564b3d70b18afb25a792125548a37070b66c3a60 (patch) | |
tree | b54d036a41739cb8d2dce97fac8b304e4c19a9b3 /docker/crupest-api/CrupestApi/CrupestApi.Commons | |
parent | d1e2a504b0543f00a9c9d9602ba7f120bb0e8895 (diff) | |
download | crupest-564b3d70b18afb25a792125548a37070b66c3a60.tar.gz crupest-564b3d70b18afb25a792125548a37070b66c3a60.tar.bz2 crupest-564b3d70b18afb25a792125548a37070b66c3a60.zip |
Develop secret api. v61
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons')
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs | 21 |
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) => |