diff options
author | crupest <crupest@outlook.com> | 2022-12-19 12:24:54 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-12-20 20:32:53 +0800 |
commit | 88477dffdd0811a5613dba0aa1db4818bf4fd058 (patch) | |
tree | 1e431c0b2038cde586be12cfb96c6c2da75b11e8 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs | |
parent | 2efc4f7ea0784a504ce50207a19a8899a121f8cd (diff) | |
download | crupest-88477dffdd0811a5613dba0aa1db4818bf4fd058.tar.gz crupest-88477dffdd0811a5613dba0aa1db4818bf4fd058.tar.bz2 crupest-88477dffdd0811a5613dba0aa1db4818bf4fd058.zip |
Develop secret api. v43
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs')
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs index 9e85c68..b7bc6f1 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/CrudWebApplicationExtensions.cs @@ -2,11 +2,11 @@ namespace CrupestApi.Commons.Crud; public static class CrudWebApplicationExtensions { - public static WebApplication UseCrud<TEntity>(this WebApplication app, string path, string? key) where TEntity : class + public static WebApplication MapCrud<TEntity>(this WebApplication app, string path, string? permission) where TEntity : class { app.MapGet(path, async (context) => { - + if (!context.RequirePermission(permission)) return; var crudService = context.RequestServices.GetRequiredService<CrudService<TEntity>>(); var allEntities = crudService.GetAll(); await context.ResponseJsonAsync(allEntities.Select(e => crudService.JsonHelper.ConvertEntityToDictionary(e))); @@ -14,6 +14,7 @@ public static class CrudWebApplicationExtensions app.MapGet(path + "/{key}", async (context) => { + if (!context.RequirePermission(permission)) return; var crudService = context.RequestServices.GetRequiredService<CrudService<TEntity>>(); var key = context.Request.RouteValues["key"]?.ToString(); if (key == null) @@ -28,6 +29,7 @@ public static class CrudWebApplicationExtensions app.MapPost(path, async (context) => { + if (!context.RequirePermission(permission)) return; var crudService = context.RequestServices.GetRequiredService<CrudService<TEntity>>(); var jsonDocument = await context.Request.ReadJsonAsync(); var key = crudService.Create(jsonDocument.RootElement); @@ -36,6 +38,7 @@ public static class CrudWebApplicationExtensions app.MapPatch(path + "/{key}", async (context) => { + if (!context.RequirePermission(permission)) return; var crudService = context.RequestServices.GetRequiredService<CrudService<TEntity>>(); var key = context.Request.RouteValues["key"]?.ToString(); if (key == null) @@ -52,6 +55,7 @@ public static class CrudWebApplicationExtensions app.MapDelete(path + "/{key}", async (context) => { + if (!context.RequirePermission(permission)) return; var crudService = context.RequestServices.GetRequiredService<CrudService<TEntity>>(); var key = context.Request.RouteValues["key"]?.ToString(); if (key == null) |