detect/detect.gui/Api/System/DeviceApi.cs

37 lines
1.5 KiB
C#
Raw Normal View History

2024-11-13 17:09:15 +08:00
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<DetectDeviceService>()!.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<DetectDeviceService>()!.Search(regionId, name, ip, pageNum, pageSize));
// id
webApp?.MapGet("/v1/system/device/{id:long}", ([FromRoute] long id) =>
Locator.Current.GetService<DetectDeviceService>()!.ListById(id));
// add
webApp?.MapPost("/v1/system/device/", ([FromBody] DeviceEntity entity) =>
Locator.Current.GetService<DetectDeviceService>()!.AddData(entity));
// update
webApp?.MapPut("/v1/system/device/", ([FromBody] DeviceEntity entity) =>
Locator.Current.GetService<DetectDeviceService>()!.UpdateData(entity));
// delete
webApp?.MapDelete("/v1/system/device/{id:long}", ([FromRoute] long id) =>
Locator.Current.GetService<DetectDeviceService>()!.DeleteById(id));
}
}