import { defineStore } from 'pinia'
import { useDataStore } from '@/stores/dataStore'
import { useAppUserUnitStore } from '../stores/appUserUnitStore'
import { useAppUserUnitValidationStore } from '../validation/appUserUnitValidationStore'

export const useAppUserUnitService = defineStore('appUserUnitService', () => {
  const dataStore = useDataStore()
  const appUserUnitStore = useAppUserUnitStore()
  const appUserUnitValidationStore = useAppUserUnitValidationStore()

  const GetAppUserUnitList = async () => {
    if (appUserUnitStore.appUserUnits.length === 0) {
      let data = await dataStore.dataGet('Birim')
      appUserUnitStore.appUserUnits = data
    }
  }

  const SaveUnit = async () => {
    if (appUserUnitValidationStore.FormCheck()) {
      if (appUserUnitStore.appUserUnitForm.appUsers === null)
        appUserUnitStore.appUserUnitForm.appUsers = []
      let dt: any
      if (!appUserUnitStore.isUpdate) {
        dt = await dataStore.dataPost('Birim', {
          data: appUserUnitStore.appUserUnitForm
        })
      } else {
        dt = await dataStore.dataPut('Birim/' + appUserUnitStore.appUserUnitForm.id, {
          data: appUserUnitStore.appUserUnitForm
        })
      }
      if (dt !== 'errorfalse') {
        appUserUnitStore.refreshList = true
        appUserUnitStore.isUpdate = false
        appUserUnitStore.unitPanel = false
      }
    }
  }

  return {
    GetAppUserUnitList,
    SaveUnit
  }
})
