using detect.gui.Models.Entities; using detect.gui.Services.Detect; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Routing; using Splat; namespace detect.gui.Api.System; public class AuthorityApi { public AuthorityApi(IEndpointRouteBuilder? webApp) { // all webApp?.MapGet("/v1/system/authority/all", () => Locator.Current.GetService()!.ListAll()); // search webApp?.MapGet("/v1/system/authority/search", ([FromQuery] int? id, [FromQuery] string? name = "", [FromQuery]int pageNum = 1, [FromQuery]int pageSize = 10) => Locator.Current.GetService()!.Search(id, name, pageNum, pageSize)); // one webApp?.MapGet("/v1/system/authority/one", ([FromQuery] int? id, [FromQuery] string? name = "") => Locator.Current.GetService()!.ListOne(id, name)); // id webApp?.MapGet("/v1/system/authority/{id:long}", ([FromRoute] long id) => Locator.Current.GetService()!.ListById(id)); // add webApp?.MapPost("/v1/system/authority/", ([FromBody] AuthorityEntity entity) => Locator.Current.GetService()!.AddData(entity)); // update webApp?.MapPut("/v1/system/authority/", ([FromBody] AuthorityEntity entity) => Locator.Current.GetService()!.UpdateData(entity)); // delete webApp?.MapDelete("/v1/system/authority/{id:long}", ([FromRoute] long id) => Locator.Current.GetService()!.DeleteById(id)); } }