sozsoft-platform/api/src/Sozsoft.Platform.Application/DeveloperKit/CustomComponentAppService.cs
2026-08-05 23:51:43 +03:00

44 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Sozsoft.Platform.DeveloperKit;
using Sozsoft.Platform.Entities;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
namespace Platform.Api.Application;
[Authorize]
public class CustomComponentAppService : CrudAppService<
CustomComponent,
CustomComponentDto,
Guid,
PagedAndSortedResultRequestDto,
CreateUpdateCustomComponentDto>, ICustomComponentAppService
{
public CustomComponentAppService(IRepository<CustomComponent, Guid> repository) : base(repository)
{
}
public override async Task<CustomComponentDto> UpdateAsync(
Guid id,
CreateUpdateCustomComponentDto input)
{
if (input.Props is null)
{
var existingComponent = await Repository.GetAsync(id);
input.Props = existingComponent.Props;
}
return await base.UpdateAsync(id, input);
}
public async Task<List<CustomComponentDto>> GetActiveComponentsAsync()
{
var components = await Repository.GetListAsync(x => x.IsActive);
return await MapToGetListOutputDtosAsync(components);
}
}