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 DeviceApi { public DeviceApi(IEndpointRouteBuilder? webApp) { // all webApp?.MapGet("/v1/system/device/all", () => Locator.Current.GetService()!.ListAll()); // search webApp?.MapGet("/v1/system/device/search", ([FromQuery] int? regionId, [FromQuery] string? name, [FromQuery] string? ip, [FromQuery]int pageNum = 1, [FromQuery]int pageSize = 10) => Locator.Current.GetService()!.Search(regionId, name, ip, pageNum, pageSize)); // id webApp?.MapGet("/v1/system/device/{id:long}", ([FromRoute] long id) => Locator.Current.GetService()!.ListById(id)); // add webApp?.MapPost("/v1/system/device/", ([FromBody] DeviceEntity entity) => Locator.Current.GetService()!.AddData(entity)); // update webApp?.MapPut("/v1/system/device/", ([FromBody] DeviceEntity entity) => Locator.Current.GetService()!.UpdateData(entity)); // delete webApp?.MapDelete("/v1/system/device/{id:long}", ([FromRoute] long id) => Locator.Current.GetService()!.DeleteById(id)); } }