/**
 * Workflow role seeds
 */

export interface WorkflowRoleSeed {
  name: string;
  code: string;
  description: string;
  ruleType: 'ORGANIZATION_RELATION' | 'SYSTEM_ROLE_MAPPING' | 'FIXED_USERS' | 'DYNAMIC_SCRIPT';
  ruleConfig: Record<string, any>;
}

export const WORKFLOW_ROLE_SEEDS: WorkflowRoleSeed[] = [
  {
    name: '申请人',
    code: 'APPLICANT',
    description: '发起流程的用户',
    ruleType: 'ORGANIZATION_RELATION',
    ruleConfig: { relation: 'SELF' },
  },
  {
    name: '直属上级',
    code: 'DIRECT_MANAGER',
    description: '申请人的直接主管',
    ruleType: 'ORGANIZATION_RELATION',
    ruleConfig: { relation: 'manager' },
  },
  {
    name: '部门负责人',
    code: 'DEPARTMENT_HEAD',
    description: '申请人所在部门的负责人',
    ruleType: 'ORGANIZATION_RELATION',
    ruleConfig: { relation: 'deptManager' },
  },
  {
    name: '跨级上级',
    code: 'SKIP_LEVEL_MANAGER',
    description: '申请人的跨级主管（上级的上级）',
    ruleType: 'ORGANIZATION_RELATION',
    ruleConfig: { relation: 'manager', level: 2 },
  },
  {
    name: 'HR 审批人',
    code: 'HR_APPROVER',
    description: 'HR 部门审批人员',
    ruleType: 'SYSTEM_ROLE_MAPPING',
    ruleConfig: { roleCode: 'HrManager' },
  },
  {
    name: '财务审批人',
    code: 'FINANCE_APPROVER',
    description: '财务部门审批人员',
    ruleType: 'SYSTEM_ROLE_MAPPING',
    ruleConfig: { roleCode: 'FinanceApprover' },
  },
  {
    name: 'CEO',
    code: 'CEO',
    description: 'CEO 审批',
    ruleType: 'FIXED_USERS',
    ruleConfig: {},
  },
];
