import { getAllDataTypes,addDataType,deleteDataType ,getDataTypeDTOs} from "@/api/dataType";
const state={
    allDataTypes:[],
    dataTypeDTOs:[]
}
const mutations ={
    SET_ALL_DATA_TYPES:(state,allDataTypes)=>{
        state.allDataTypes=allDataTypes
      },
    SET_DATAT_TYPE_DTOS:(state,dataTypeDTOs)=>{
        state.dataTypeDTOs=dataTypeDTOs
    }
}
const actions={
    getAllDataTypes({commit}){
        console.log('start to get all  data types')
        return new Promise((resolve,reject)=>{
            getAllDataTypes().then(res=>{
                console.log('all data types res',res)
                commit('SET_ALL_DATA_TYPES',res.data.data)
                resolve(res)
            }).catch(err=>{
                reject(err)
            })
        })
    },
    getDataTypeDTOs({commit},data){

        console.log('in store:start to get dataTypeDTOs for :',data)
      
        return new Promise((resolve,reject)=>{
            getDataTypeDTOs(data).then(res=>{
                console.log(data.name+' dataTypeDTOs:',res.data)
                commit('SET_DATAT_TYPE_DTOS',res.data.data)
                resolve(res)
            }).catch(err=>{
            reject(err)
        })
    })
},
    addDataType({commit},data){
        console.log('start to add   data type',data)
        return new Promise((resolve,reject)=>{
           addDataType(data).then(res=>{
                console.log('add dataType res',res)
                resolve(res)
            }).catch(err=>{
                reject(err)
            })
        })
    },
    deleteDataType({commit},data){
        console.log('start to delete  data type',data)
        return new Promise((resolve,reject)=>{
           deleteDataType(data).then(res=>{
                console.log('delete dataType res',res)
                resolve(res)
            }).catch(err=>{
                reject(err)
            })
        })
    }
}
export default {
    namespaced: true,
    state,
    mutations,
    actions
  }