import env from "../index";

const metadata = `${env.API_URI}/org/metadata/`;
const org = `${env.API_URI}/org`;
const profileOrg = `${env.API_URI}/org/profile`;
const workflow = `${env.API_URI}/org/workflow`;
export default {
  orgCommandCode: `${metadata}commandCode`,

  profilePosition: () => `${org}/profile/keycloak/position`,

  searchCommander: `${org}/profile/search/commander`,

  proFileType: `${profileOrg}/type`,
  dataUserInformation: `${profileOrg}/user`,
  dataUserInformationByType: (type: string) => `${org}/profile${type}/user`,
  dataUserChangeName: `${profileOrg}/changeName/user`,
  dataUserChangeNameByType: (type: string) =>
    `${org}/profile${type}/changeName/user`,
  dataUserAddress: `${profileOrg}/address/user`,
  dataUserAddressByType: (type: string) => `${org}/profile${type}/address/user`,
  dataUserFamily: (type: string) => `${profileOrg}/family/${type}/user`,
  dataUserFamilyByType: (emtype: string, type: string) =>
    `${org}/profile${emtype}/family/${type}/user`,
  dataUserEducations: `${profileOrg}/educations/user`,
  dataUserEducationsByType: (type: string) =>
    `${org}/profile${type}/educations/user`,
  dataUserAbility: `${profileOrg}/ability/user`,
  dataUserAbilityByType: (type: string) => `${org}/profile${type}/ability/user`,

  dataUserGovernment: `${profileOrg}/government/user`,
  dataUserGovernmentByType: (type: string) =>
    `${org}/profile${type}/government/user`,
  dataUserDiscipline: `${profileOrg}/discipline/user`,
  dataUserDisciplineByType: (type: string) =>
    `${org}/profile${type}/discipline/user`,
  dataUserLeave: `${profileOrg}/leave/user`,
  dataUserLeaveByType: (type: string) => `${org}/profile${type}/leave/user`,
  dataUserDuty: `${profileOrg}/duty/user`,
  dataUserDutyByType: (type: string) => `${org}/profile${type}/duty/user`,

  dataUserActpositionByType: (type: string) =>
    `${org}/profile${type}/actposition/user`,
  dataUserAssistanceByType: (type: string) =>
    `${org}/profile${type}/assistance/user`,

  //ตำแหน่ง
  dataUserPosition: (type: string) =>
    `${org}/profile${type}/salary/position/user`,
  dataUserPositionHistory: (emType: string, id: string) =>
    `${org}/profile${emType}/salary/position/history/${id}`,

  dataUserSalary: `${profileOrg}/salary/user`,
  dataUserSalaryPosition: `${profileOrg}/salary/position/user`,
  dataUserSalaryByType: (type: string) => `${org}/profile${type}/salary/user`,
  dataUserAssessments: `${profileOrg}/assessments/user`,
  dataUserPortfolio: `${env.API_URI}/development/portfolio/user`,
  dataUserPerformance: `${env.API_URI}/evaluation/performance/user`,
  dataUserNopaid: `${profileOrg}/nopaid/user`,
  dataUserNopaidByType: (type: string) => `${org}/profile${type}/nopaid/user`,

  dataUserCertificate: (type: string) => `${profileOrg}/${type}/user`,
  dataUserCertificateByType: (emType: string, type: string) =>
    `${org}/profile${emType}/${type}/user`,

  dataUserEvaByType: (type: string) => `${org}/profile/${type}/user`,

  dataUserOther: `${profileOrg}/other/user`,
  dataUserOtherByType: (type: string) => `${org}/profile${type}/other/user`,

  profileReportId: (profileId: string, type: string) =>
    `${org}/${type}/kk1/${profileId}`,
  profileKp7ShortId: (profileId: string, type: string) =>
    `${org}/${type}/kp7-short/${profileId}`,

  /** history */
  dataUserInformatioHistory: (type: string) =>
    `${profileOrg}${type}/history/user`,
  dataUserChangeNameHistory: `${profileOrg}/changeName/history`,
  dataUserChangeNameHistoryByType: (type: string) =>
    `${org}/profile${type}/changeName/history`,
  dataUserHistory: (type: string) =>
    `${profileOrg}${type}/address/history/user`,
  dataUserFamilyHistory: (type: string, emType: string, id: string) =>
    `${profileOrg}${emType}/family/${type}/history/${id}`,
  dataUserEducationsHistory: (id: string) =>
    `${profileOrg}/educations/history/${id}`,
  dataUserEducationsHistoryByType: (type: string, id: string) =>
    `${org}/profile${type}/educations/history/${id}`,
  dataUserAbilityHistory: (id: string) => `${profileOrg}/ability/history/${id}`,
  dataUserAbilityHistoryByType: (type: string, id: string) =>
    `${org}/profile${type}/ability/history/${id}`,

  dataUserGovernmentHistory: (type: string) =>
    `${profileOrg}${type}/government/history/user`,
  dataUserDisciplineHistory: (id: string) =>
    `${profileOrg}/discipline/history/${id}`,
  dataUserDisciplineHistoryByType: (emType: string, id: string) =>
    `${org}/profile${emType}/discipline/history/${id}`,
  dataUserLeaveHistory: (id: string) => `${profileOrg}/leave/history/${id}`,
  dataUserLeaveHistoryByType: (emType: string, id: string) =>
    `${org}/profile${emType}/leave/history/${id}`,
  dataUserDutyHistory: (id: string) => `${profileOrg}/duty/history/${id}`,
  dataUserDutyHistoryByType: (emType: string, id: string) =>
    `${org}/profile${emType}/duty/history/${id}`,

  dataUserActpositionHistoryByType: (emType: string, id: string) =>
    `${org}/profile${emType}/actposition/history/${id}`,
  dataUserAssistanceHistoryByType: (emType: string, id: string) =>
    `${org}/profile${emType}/assistance/history/${id}`,

  dataUserSalaryHistory: (id: string) => `${profileOrg}/salary/history/${id}`,
  dataUserSalaryHistoryByType: (emType: string, id: string) =>
    `${org}/profile${emType}/salary/history/${id}`,
  dataUserSalaryNopaidHistory: (id: string) =>
    `${profileOrg}/nopaid/history/${id}`,
  dataUserSalaryNopaidHistoryByType: (emType: string, id: string) =>
    `${org}/profile${emType}/nopaid/history/${id}`,

  salaryTenurePosition: (emType: string) =>
    `${org}/profile${emType}/salary/tenure/user`,

  dataUserCertificateHistory: (type: string, id: string) =>
    `${profileOrg}/${type}/history/${id}`,
  dataUserCertificateHistoryByType: (
    emType: string,
    type: string,
    id: string,
  ) => `${org}/profile${emType}/${type}/history/${id}`,
  dataUserHonorHistory: (type: string, emType: string, id: string) =>
    `${profileOrg}${emType}/${type}/history/${id}`,
  dataUserOtherHistory: (id: string) => `${profileOrg}/other/history/${id}`,
  dataUserOtherHistoryByType: (emType: string, id: string) =>
    `${org}/profile${emType}/other/history/${id}`,

  orgCheckAvatar: (id: string) => `${profileOrg}/avatar/profileId/${id}`,
  orgSearchCommander: () => `${profileOrg}/search/commander`,

  orgActive: `${org}/active`,
  /** struct-chart*/
  orgStructChart: (id: string, type: string) =>
    `${org}/struct-chart/${id}/${type}`,

  /**
   * ข้อมูลจังหวัด
   */
  profileNewProvince: `${metadata}province`,
  profileNewDistrictByPId: (id: string) => `${metadata}province/${id}`,
  profileNewSubDistrictByDId: (id: string) => `${metadata}district/${id}`,

  /**
   * รายการคำร้องขอแก้ไขข้อมูลทะเบียนประวัติ
   */
  requestEdit: `${profileOrg}/edit/`,
  requestEditByType: (type: string) => `${org}/profile${type}/edit/`,
  requestsEdit: `${profileOrg}/edit`,
  requestsEditByType: (type: string) => `${org}/profile${type}/edit`,
  developmentUser: `${profileOrg}/development/user`,
  developmentUserByType: (type: string) =>
    `${org}/profile${type}/development/user`,

  upDateNumber: `${profileOrg}/updatePhoneNumber/user`,
  upDateNumberByType: (type: string) =>
    `${org}/profile${type}/updatePhoneNumber/user`,
  updateEmail: `${profileOrg}/updateEmail/user`,
  updateEmailByType: (type: string) => `${org}/profile${type}/updateEmail/user`,
  /**
   * workflow
   */
  workflow: `${workflow}/`,
  commanderPosexe: (type: string) => `${workflow}/commander-posexe/${type}`,
  commanderOperate: `${workflow}/commander/operate`,

  keycloakLogSSO: `${org}/keycloak/log/sso`,
  changePassword: `${org}/keycloak/user/change-password`,

  orgAssistance: (id: string) => `${profileOrg}/assistance/${id}`,
  orgIssues: `${env.API_URI}/org/issues`,

  // ตรวจสอบข้อมูลตำแหน่งและเงินเดือน
  profileSalaryTemp: `${profileOrg}/salaryTemp`,
};
