import { AnyJson } from '~/types/interfaces' import {QUERY_TYPE} from "~/types/enums"; import {Country} from "~/models/Core/Country"; import { useContext, useFetch, computed } from '@nuxtjs/composition-api' import DataProvider from "~/services/data/dataProvider"; import {repositoryHelper} from "~/services/store/repository"; /** * @category composables/data * @class UseCountry * Use Classe qui va récupérer les Countries */ export class UseCountry { private $dataProvider!: DataProvider constructor() { const {$dataProvider} = useContext() this.$dataProvider = $dataProvider } /** * Récupération des Country via l'API */ public getAll(): AnyJson{ const {fetch, fetchState} = useFetch(async () => { await this.$dataProvider.invoke({ type: QUERY_TYPE.MODEL, model: Country }) }) const countries = computed(() => { return repositoryHelper.findCollectionFromModel(Country) }) return { countries, fetch, fetchState } } }