LFlow/LFlow.VersionManagement/Controller/VersionManagementController.cs

76 lines
2.2 KiB
C#

using LFlow.Base.Interfaces;
using LFlow.Base.Utils;
using LFlow.VersionManagement.Enums;
using LFlow.VersionManagement.Model;
using LFlow.VersionManagement.Service;
using Mapster;
using Microsoft.AspNetCore.Mvc;
namespace LFlow.VersionManagement.Controller;
public class VersionManagementController(IVersionManagementService service) : BaseController
{
[HttpDelete]
public int DeleteById(string id)
{
return service.DeleteById(id);
}
[HttpGet]
public PagedApiResult<List<VersionDto>> GetAll(int pageIndex, int pageSize)
{
var total = 0;
var result = service.GetAll(pageIndex, pageSize, ref total);
return PagedApiResult<List<VersionDto>>.SuccessResult(
data: Mapper.Map<List<VersionDto>>(result) ?? [],
total,
pageIndex,
pageSize
);
//return new PagedApiResult<List<VersionDto>>
//{
// Data = Mapper.Map<List<VersionDto>>(result),
// PageIndex = pageIndex,
// PageSize = pageSize,
// Message = "获取成功",
// Code = 200,
// Success = true,
// TotalCount = total
//};
}
[HttpGet]
public ApiResult<VersionDto> GetById(string id)
{
var result = service.GetById(id).Adapt<VersionDto>();
return ApiResult<VersionDto>.SuccessResult(result);
}
[HttpPost]
public ApiResult<VersionDto> Save(VersionDto entity, bool isUpdate)
{
if (!isUpdate)
{
entity.ID = Guid.NewGuid().ToString();
entity.DownloadUrl = "/";
}
var result = service.Save(entity, isUpdate).Adapt<VersionDto>();
return ApiResult<VersionDto>.SuccessResult(result);
}
[HttpPost]
public List<VersionDto> Search(VersionDto whereObj)
{
return service.Search(whereObj).Adapt<List<VersionDto>>();
}
//[HttpPost]
//public ApiResult<VersionDto> CheckUpdate(VersionDto current)
//{
//}
[HttpGet]
public ApiResult<VersionDto> GetLastUpdate(VersionChannel channel, UpgradeTargetType targetType)
{
return ApiResult<VersionDto>.SuccessResult(service.GetLastVersion(channel, targetType));
}
}