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> GetAll(int pageIndex, int pageSize) { var total = 0; var result = service.GetAll(pageIndex, pageSize, ref total); return PagedApiResult>.SuccessResult( data: Mapper.Map>(result) ?? [], total, pageIndex, pageSize ); //return new PagedApiResult> //{ // Data = Mapper.Map>(result), // PageIndex = pageIndex, // PageSize = pageSize, // Message = "获取成功", // Code = 200, // Success = true, // TotalCount = total //}; } [HttpGet] public ApiResult GetById(string id) { var result = service.GetById(id).Adapt(); return ApiResult.SuccessResult(result); } [HttpPost] public ApiResult Save(VersionDto entity, bool isUpdate) { if (!isUpdate) { entity.ID = Guid.NewGuid().ToString(); entity.DownloadUrl = "/"; } var result = service.Save(entity, isUpdate).Adapt(); return ApiResult.SuccessResult(result); } [HttpPost] public List Search(VersionDto whereObj) { return service.Search(whereObj).Adapt>(); } //[HttpPost] //public ApiResult CheckUpdate(VersionDto current) //{ //} [HttpGet] public ApiResult GetLastUpdate(VersionType type, VersionChannel channel, UpgradeTargetType targetType) { return ApiResult.SuccessResult(service.GetLastVersion(type, channel, targetType)); } }