using System.ComponentModel;
namespace SimpleAdmin.Web.Core;
///
/// 提供入职模板聚合配置接口。
///
[ApiDescriptionSettings("Application", Tag = "入职模板")]
[Route("biz/onboarding/template")]
[Route("biz/onboarding/setup")]
[RolePermission]
public class OnboardingTemplateController
{
private readonly IOnboardingTemplateService _service;
public OnboardingTemplateController(IOnboardingTemplateService service)
{
_service = service;
}
///
/// 分页查询入职模板。
///
[HttpGet("page")]
[DisplayName("分页查询入职模板")]
public async Task Page([FromQuery] OnboardingTemplatePageInput input)
{
return await _service.Page(input);
}
///
/// 查询入职模板详情及全部关联配置。
///
[HttpGet("detail")]
[DisplayName("查询入职模板详情")]
public async Task Detail([FromQuery] BaseIdInput input)
{
return await _service.Detail(input);
}
///
/// 新增或编辑入职模板。
///
[HttpPost("save")]
[DisplayName("保存入职业务模板")]
public async Task Save([FromBody] OnboardingTemplateSaveInput input)
{
return await _service.Save(input);
}
///
/// 删除未被任务使用的入职模板。
///
[HttpPost("delete")]
[DisplayName("删除入职业务模板")]
public async Task Delete([FromBody] BaseIdListInput input)
{
await _service.Delete(input);
}
///
/// 查询指定公司、部门和岗位可使用的入职模板。
///
[HttpGet("list-enabled")]
[DisplayName("查询可用入职模板")]
public async Task ListEnabled(
[FromQuery] long companyId,
[FromQuery] long departmentId,
[FromQuery] long positionId)
{
return await _service.ListEnabled(companyId, departmentId, positionId);
}
}