Przeglądaj źródła

useTypeOfPracticeProvider

Vincent GUFFON 3 lat temu
rodzic
commit
3737864e68

+ 0 - 42
composables/data/useTypeOfPractice.ts

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

+ 29 - 0
composables/data/useTypeOfPracticeProvider.ts

@@ -0,0 +1,29 @@
+import {QUERY_TYPE} from "~/types/enums";
+import { useFetch, computed } from '@nuxtjs/composition-api'
+import DataProvider from "~/services/data/dataProvider";
+import {repositoryHelper} from "~/services/store/repository";
+import {TypeOfPractice} from "~/models/Organization/TypeOfPractice";
+
+/**
+ * @category composables/data
+ * @class UseTypeOfPractice
+ * Composable qui va récupérer les UseTypeOfPractices
+ */
+export function useTypeOfPracticeProvider($dataProvider: DataProvider){
+  const {fetch, fetchState} = useFetch(async () => {
+    await $dataProvider.invoke({
+      type: QUERY_TYPE.MODEL,
+      model: TypeOfPractice
+    })
+  })
+
+  const typeOfPractices =  computed(() => {
+    return repositoryHelper.findCollectionFromModel(TypeOfPractice)
+  })
+
+  return {
+    typeOfPractices,
+    fetch,
+    fetchState
+  }
+}

+ 3 - 3
pages/organization/index.vue

@@ -458,7 +458,7 @@ import UseValidator from '~/composables/form/useValidator'
 import { UseNavigationHelpers } from '~/composables/form/useNavigationHelpers'
 import I18N from '~/services/utils/i18n'
 import {Country} from "~/models/Core/Country";
-import {UseTypeOfPractice} from "~/composables/data/useTypeOfPractice";
+import {useTypeOfPracticeProvider} from "~/composables/data/useTypeOfPracticeProvider";
 import ModelsUtils from "~/services/utils/modelsUtils";
 import {NetworkOrganization} from "~/models/Network/NetworkOrganization";
 import {OrganizationArticle} from "~/models/Organization/OrganizationArticle";
@@ -467,13 +467,13 @@ export default defineComponent({
   name: 'OrganizationParent',
   setup () {
     const { store, app: { i18n }, $dataProvider } = useContext()
+    const {typeOfPractices, fetchState:typeOfPracticesFetchingState} = useTypeOfPracticeProvider($dataProvider)
+
     const organizationProfile = reactive($organizationProfile(store))
     const id: number = store.state.profile.organization.id
 
     const { siretError, siretErrorMessage, checkSiret } = UseValidator.useHandleSiret(i18n, $dataProvider)
 
-    const {typeOfPractices, fetchState:typeOfPracticesFetchingState} = new UseTypeOfPractice().getAll()
-
     const checkSiretHook = async (siret: string, field: string, updateRepository: any) => {
       await checkSiret(siret)
       if (!siretError.value) { updateRepository(siret, field) }