useCountryProvider.ts 764 B

1234567891011121314151617181920212223242526272829
  1. import {QUERY_TYPE} from "~/types/enums";
  2. import {Country} from "~/models/Core/Country";
  3. import { useFetch, computed } from '@nuxtjs/composition-api'
  4. import DataProvider from "~/services/data/dataProvider";
  5. import {repositoryHelper} from "~/services/store/repository";
  6. /**
  7. * @category composables/data
  8. * @param $dataProvider
  9. * Composable Classe qui va récupérer les Countries
  10. */
  11. export function useCountryProvider($dataprovider: DataProvider){
  12. const {fetch, fetchState} = useFetch(async () => {
  13. await $dataprovider.invoke({
  14. type: QUERY_TYPE.MODEL,
  15. model: Country
  16. })
  17. })
  18. const countries = computed(() => {
  19. return repositoryHelper.findCollectionFromModel(Country)
  20. })
  21. return {
  22. countries,
  23. fetch,
  24. fetchState
  25. }
  26. }