export const employeeLifecycleRoutes = {
  employeeLifecycle: () => '/employee-lifecycle',
  onboardings: () =>
    `${employeeLifecycleRoutes.employeeLifecycle()}/onboardings`,
  tasks: {
    base: () => `${employeeLifecycleRoutes.employeeLifecycle()}/tasks`,
    detail: (taskId: number) =>
      `${employeeLifecycleRoutes.tasks.base()}/${taskId}`,
  },
  form: {
    base: () => `${employeeLifecycleRoutes.employeeLifecycle()}/form`,
    complete: (formTag: string, formProgressionId: string, taskId: number) =>
      `${employeeLifecycleRoutes.form.base()}/${taskId}/${formTag}/${formProgressionId}`,
    success: (formTag: string, formProgressionId: string) =>
      `${employeeLifecycleRoutes.form.base()}/${formTag}/${formProgressionId}/success`,
    results: (formTag: string, formAnswerId: number, formAnswerToken: string) =>
      `${employeeLifecycleRoutes.form.base()}/${formTag}/${formAnswerId}/${formAnswerToken}/results`,
  },
  journeys: {
    base: () => `${employeeLifecycleRoutes.onboardings()}/journeys`,
    steps: (journeyId: number) =>
      `${employeeLifecycleRoutes.onboardings()}/${journeyId}/steps`,
    stepTasks: (journeyId: number, stepId: number) =>
      `${employeeLifecycleRoutes.journeys.steps(journeyId)}/${stepId}/tasks`,
    task: (journeyId: number, stepId: number, taskId: number) =>
      `${employeeLifecycleRoutes.journeys.stepTasks(journeyId, stepId)}/${taskId}`,
  },
};
