package job import ( "context" "haixun-backend/internal/svc" "haixun-backend/internal/types" ) type ListJobTemplatesLogic struct { ctx context.Context svcCtx *svc.ServiceContext } func NewListJobTemplatesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListJobTemplatesLogic { return &ListJobTemplatesLogic{ctx: ctx, svcCtx: svcCtx} } func (l *ListJobTemplatesLogic) ListJobTemplates() (*types.JobTemplateListData, error) { if err := requireAdmin(l.ctx, l.svcCtx); err != nil { return nil, err } templates, err := l.svcCtx.Job.ListTemplates(l.ctx) if err != nil { return nil, err } list := make([]types.JobTemplateData, 0, len(templates)) for _, template := range templates { list = append(list, toJobTemplateData(template)) } return &types.JobTemplateListData{List: list}, nil }