import { ref } from "vue";
import { defineStore } from "pinia";

import type { DataOption } from "@/modules/04_registryPerson/interface/index/Main";

export const useGovernmentPosDataStore = defineStore("GovernmentPos", () => {
  //  commandCode ขอตำแหน่ง
  const positionCode = ref<number[]>([
    0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20,
  ]);

  const commandCodeData = ref<DataOption[]>([]);
  const posTypeData = ref<DataOption[]>([]); //รายการประเภทตำแหน่ง | กลุ่มงาน
  const posLevelData = ref<DataOption[]>([]); //รายการระดับตำแหน่ง | ระดับชั้นงาน
  const posLineData = ref<DataOption[]>([]); //รายการสายงาน
  const posPathSideData = ref<DataOption[]>([]); //รายการด้าน/สาขา
  const posExecutiveData = ref<DataOption[]>([]); //รายการตำแหน่งทางการบริหาร

  function convertCommandCodeName(val: string) {
    return (
      commandCodeData.value.find((e: DataOption) => e.id === val)?.name ?? "-"
    );
  }

  return {
    // Data
    commandCodeData,
    posTypeData,
    posLevelData,
    posLineData,
    posPathSideData,
    posExecutiveData,
    positionCode,

    // Function
    convertCommandCodeName,
  };
});
