浏览代码

import models

Vincent 2 年之前
父节点
当前提交
cd0a29396c
共有 49 个文件被更改,包括 80 次插入142 次删除
  1. 1 1
      components/Layout/AlertBar/Cotisation.vue
  2. 3 3
      components/Layout/Header/Notification.vue
  3. 1 1
      components/Layout/SubHeader/ActivityYear.vue
  4. 1 1
      components/Layout/SubHeader/DataTiming.vue
  5. 1 1
      components/Layout/SubHeader/DataTimingRange.vue
  6. 1 1
      components/Layout/SubHeader/PersonnalizedList.vue
  7. 1 1
      components/Ui/Input/Image.vue
  8. 2 2
      models/Access/Access.ts
  9. 1 1
      models/Access/AdminAccess.ts
  10. 3 3
      models/Access/MyProfile.ts
  11. 1 1
      models/Access/PersonalizedList.ts
  12. 1 1
      models/Billing/ResidenceArea.ts
  13. 1 1
      models/Core/AddressPostal.ts
  14. 1 2
      models/Core/BankAccount.ts
  15. 1 1
      models/Core/ContactPoint.ts
  16. 1 1
      models/Core/Country.ts
  17. 1 1
      models/Core/File.ts
  18. 2 2
      models/Core/Notification.ts
  19. 1 1
      models/Core/NotificationMessage.ts
  20. 1 1
      models/Core/NotificationUsers.ts
  21. 1 1
      models/Core/Tagg.ts
  22. 1 1
      models/Education/Cycle.ts
  23. 1 1
      models/Education/EducationTiming.ts
  24. 1 1
      models/Export/LicenceCmfOrganizationER.ts
  25. 1 1
      models/Network/Network.ts
  26. 2 2
      models/Network/NetworkOrganization.ts
  27. 1 1
      models/Organization/Cotisation.ts
  28. 1 1
      models/Organization/DolibarrAccount.ts
  29. 1 1
      models/Organization/MobytUserStatus.ts
  30. 1 1
      models/Organization/Organization.ts
  31. 2 2
      models/Organization/OrganizationAddressPostal.ts
  32. 1 1
      models/Organization/OrganizationArticle.ts
  33. 1 1
      models/Organization/OrganizationLicence.ts
  34. 1 1
      models/Organization/OrganizationNetwork.ts
  35. 1 1
      models/Organization/OrganizationProfile.ts
  36. 1 1
      models/Organization/Parameters.ts
  37. 1 1
      models/Organization/Subdomain.ts
  38. 1 1
      models/Organization/TypeOfPractice.ts
  39. 1 1
      models/Person/Person.ts
  40. 6 68
      models/models.ts
  41. 1 0
      nuxt.config.ts
  42. 11 11
      pages/organization.vue
  43. 8 8
      pages/organization/index.vue
  44. 1 1
      pages/poc/[id].vue
  45. 1 1
      pages/poc/display.vue
  46. 1 1
      pages/poc/index.vue
  47. 1 1
      pages/poc/new.vue
  48. 2 2
      pages/subscription.vue
  49. 1 1
      services/data/entityManager.ts

+ 1 - 1
components/Layout/AlertBar/Cotisation.vue

@@ -52,7 +52,7 @@ import UrlUtils from "~/services/utils/urlUtils";
 import {ALERT_STATE_COTISATION} from "~/types/enum/enums";
 import {useAsyncData} from "#app";
 import {useEntityFetch} from "~/composables/data/useEntityFetch";
-import {Cotisation} from "~/models/Organization/Cotisation";
+import Cotisation from "~/models/Organization/Cotisation";
 
 const { fetch } = useEntityFetch()
 

+ 3 - 3
components/Layout/Header/Notification.vue

@@ -94,8 +94,8 @@
 
 <script setup lang="ts">
 import {NOTIFICATION_TYPE} from "~/types/enum/enums";
-import {Notification} from "~/models/Core/Notification";
-import {NotificationUsers} from "~/models/Core/NotificationUsers";
+import Notification from "~/models/Core/Notification";
+import NotificationUsers from "~/models/Core/NotificationUsers";
 import {useAccessProfileStore} from "~/stores/accessProfile";
 import {ComputedRef, Ref, ref} from "@vue/reactivity";
 import {useEntityFetch} from "~/composables/data/useEntityFetch";
@@ -140,7 +140,7 @@ const pagination: ComputedRef<Pagination> = computed(() => {
  */
 const unreadNotification: ComputedRef<Array<Notification>> = computed(() => {
   return notifications.value.filter((notification: Notification) => {
-    return notification.notificationUsers.length === 0
+    return notification.notificationUsers?.length === 0
   })
 })
 

+ 1 - 1
components/Layout/SubHeader/ActivityYear.vue

@@ -27,7 +27,7 @@ import {useEntityManager} from "~/composables/data/useEntityManager";
 import {useFormStore} from "~/stores/form";
 import {useOrganizationProfileStore} from "~/stores/organizationProfile";
 import {useAccessProfileStore} from "~/stores/accessProfile";
-import {Access} from "~/models/Access/Access";
+import Access from "~/models/Access/Access";
 import {Ref, ref} from "@vue/reactivity";
 import {useDisplay} from "vuetify";
 

+ 1 - 1
components/Layout/SubHeader/DataTiming.vue

@@ -34,7 +34,7 @@ import {useAccessProfileStore} from "~/stores/accessProfile";
 import {Ref} from "@vue/reactivity";
 import {useEntityManager} from "~/composables/data/useEntityManager";
 import {useDisplay, useTheme} from "vuetify";
-import {Access} from "~/models/Access/Access";
+import Access from "~/models/Access/Access";
 
 // TODO: en v3.0.5, pas de solution documentée pour renseigner directement la couleur dans le template, à revoir
 const color = useTheme().current.value.colors['ot-green']

+ 1 - 1
components/Layout/SubHeader/DataTimingRange.vue

@@ -39,7 +39,7 @@ import {useAccessProfileStore} from "~/stores/accessProfile";
 import {useFormStore} from "~/stores/form";
 import {WatchStopHandle} from "@vue/runtime-core";
 import {useEntityManager} from "~/composables/data/useEntityManager";
-import {Access} from "~/models/Access/Access";
+import Access from "~/models/Access/Access";
 
 const btn: Ref = ref(null)
 const show: Ref<boolean> = ref(false)

+ 1 - 1
components/Layout/SubHeader/PersonnalizedList.vue

@@ -56,7 +56,7 @@
 </template>
 
 <script setup lang="ts">
-import {PersonalizedList} from '~/models/Access/PersonalizedList'
+import PersonalizedList from '~/models/Access/PersonalizedList'
 import {useEntityFetch} from "~/composables/data/useEntityFetch";
 import {ComputedRef, Ref, ref} from "@vue/reactivity";
 import {AnyJson} from "~/types/data";

+ 1 - 1
components/Ui/Input/Image.vue

@@ -62,7 +62,7 @@ https://norserium.github.io/vue-advanced-cropper/
 import {useNuxtApp} from "#app";
 import {ref, Ref} from "@vue/reactivity";
 import {AnyJson} from "~/types/enum/data";
-import {File} from '~/models/Core/File'
+import File from '~/models/Core/File'
 import {useAp2iRequestService} from "~/composables/data/useAp2iRequestService";
 import UrlUtils from "~/services/utils/urlUtils";
 import {useImageFetch} from "~/composables/data/useImageFetch";

+ 2 - 2
models/Access/Access.ts

@@ -1,5 +1,5 @@
 import { Historical } from '~/types/interfaces'
-import {Person} from "~/models/Person/Person";
+import Person from "~/models/Person/Person";
 import ApiModel from "~/models/ApiModel";
 import {HasOne, Num, Uid, Attr} from "pinia-orm/dist/decorators";
 
@@ -8,7 +8,7 @@ import {HasOne, Num, Uid, Attr} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Access/Access.php
  */
-export class Access extends ApiModel {
+export default class Access extends ApiModel {
   static entity = 'accesses'
 
   @Uid()

+ 1 - 1
models/Access/AdminAccess.ts

@@ -4,7 +4,7 @@ import ApiResource from "~/models/ApiResource";
 /**
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/ApiResources/Access/AdminAccess.php
  */
-export class AdminAccess extends ApiResource {
+export default class AdminAccess extends ApiResource {
   static entity = 'admin'
 
   @Uid()

+ 3 - 3
models/Access/MyProfile.ts

@@ -1,7 +1,7 @@
 import {Num, Uid, Attr, Bool, Str} from 'pinia-orm/dist/decorators'
 import { Historical } from '~/types/interfaces'
-import {Access} from "~/models/Access/Access";
-import {OrganizationProfile} from "~/models/Organization/OrganizationProfile";
+import Access from "~/models/Access/Access";
+import OrganizationProfile from "~/models/Organization/OrganizationProfile";
 import ApiResource from "~/models/ApiResource";
 
 /**
@@ -9,7 +9,7 @@ import ApiResource from "~/models/ApiResource";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/ApiResources/Profile/AccessProfile.php
  */
-export class MyProfile extends ApiResource {
+export default class MyProfile extends ApiResource {
   static entity = 'my_profile'
 
   @Uid()

+ 1 - 1
models/Access/PersonalizedList.ts

@@ -6,7 +6,7 @@ import ApiModel from "~/models/ApiModel";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Access/PersonalizedList.php
  */
-export class PersonalizedList extends ApiModel {
+export default class PersonalizedList extends ApiModel {
   static entity = 'personalized_lists'
 
   @Uid()

+ 1 - 1
models/Billing/ResidenceArea.ts

@@ -6,7 +6,7 @@ import {Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Billing/ResidenceArea.php
  */
-export class ResidenceArea extends ApiModel {
+export default class ResidenceArea extends ApiModel {
   static entity = 'residence_areas'
 
   @Uid()

+ 1 - 1
models/Core/AddressPostal.ts

@@ -6,7 +6,7 @@ import {Num, Str, Uid, Attr} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/AddressPostal.php
  */
-export class AddressPostal extends ApiModel {
+export default class AddressPostal extends ApiModel {
   static entity = 'address_postals'
 
   @Uid()

+ 1 - 2
models/Core/BankAccount.ts

@@ -1,13 +1,12 @@
 import ApiModel from "~/models/ApiModel";
 import {Bool, Str, Uid, Attr} from "pinia-orm/dist/decorators";
-import {Organization} from "~/models/Organization/Organization";
 
 /**
  * AP2i Model : BankAccount
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/BankAccount.php
  */
-export class BankAccount extends ApiModel {
+export default class BankAccount extends ApiModel {
   static entity = 'bank_accounts'
 
   @Uid()

+ 1 - 1
models/Core/ContactPoint.ts

@@ -6,7 +6,7 @@ import {Str, Uid, Attr} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/ContactPoint.php
  */
-export class ContactPoint extends ApiModel {
+export default class ContactPoint extends ApiModel {
   static entity = 'contact_points'
 
   @Uid()

+ 1 - 1
models/Core/Country.ts

@@ -6,7 +6,7 @@ import {Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/Country.php
  */
-export class Country extends ApiModel {
+export default class Country extends ApiModel {
   static entity = 'countries'
 
   @Uid()

+ 1 - 1
models/Core/File.ts

@@ -6,7 +6,7 @@ import {Num, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/File.php
  */
-export class File extends ApiModel {
+export default class File extends ApiModel {
   static entity = 'files'
 
   @Uid()

+ 2 - 2
models/Core/Notification.ts

@@ -1,4 +1,4 @@
-import {NotificationMessage} from "~/models/Core/NotificationMessage";
+import NotificationMessage from "~/models/Core/NotificationMessage";
 import {HasOne, Str, Uid, Attr} from "pinia-orm/dist/decorators";
 import ApiModel from "~/models/ApiModel";
 
@@ -7,7 +7,7 @@ import ApiModel from "~/models/ApiModel";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/Notification.php
  */
-export class Notification extends ApiModel {
+export default class Notification extends ApiModel {
   static entity = 'notifications'
 
   @Uid()

+ 1 - 1
models/Core/NotificationMessage.ts

@@ -4,7 +4,7 @@ import {Str, Uid} from "pinia-orm/dist/decorators";
 /**
  * // TODO: qu'est-ce que c'est?
  */
-export class NotificationMessage extends ApiModel {
+export default class NotificationMessage extends ApiModel {
   static entity = 'notification_messages'
 
   @Uid()

+ 1 - 1
models/Core/NotificationUsers.ts

@@ -6,7 +6,7 @@ import {Bool, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/NotificationUser.php
  */
-export class NotificationUsers extends ApiModel {
+export default class NotificationUsers extends ApiModel {
   static entity = 'notification_users'
 
   @Uid()

+ 1 - 1
models/Core/Tagg.ts

@@ -6,7 +6,7 @@ import {Attr, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/Tagg.php
  */
-export class Tagg extends ApiModel {
+export default class Tagg extends ApiModel {
     static entity = 'taggs'
 
     @Uid()

+ 1 - 1
models/Education/Cycle.ts

@@ -6,7 +6,7 @@ import {Num, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Education/Cycle.php
  */
-export class Cycle extends ApiModel {
+export default class Cycle extends ApiModel {
   static entity = 'cycles'
 
   @Uid()

+ 1 - 1
models/Education/EducationTiming.ts

@@ -6,7 +6,7 @@ import {Num, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Education/EducationTiming.php
  */
-export class EducationTiming extends ApiModel {
+export default class EducationTiming extends ApiModel {
   static entity = 'education_timings'
 
   @Uid()

+ 1 - 1
models/Export/LicenceCmfOrganizationER.ts

@@ -6,7 +6,7 @@ import ApiResource from "~/models/ApiResource";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/ApiResources/Export/LicenceCmf/LicenceCmfOrganizationER.php
  */
-export class LicenceCmfOrganizationER extends ApiResource {
+export default class LicenceCmfOrganizationER extends ApiResource {
   static entity = ''
 
   @Uid()

+ 1 - 1
models/Network/Network.ts

@@ -6,7 +6,7 @@ import {Str, Uid, Attr} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Network/Network.php
  */
-export class Network extends ApiModel {
+export default class Network extends ApiModel {
   static entity = 'networks'
 
   @Uid()

+ 2 - 2
models/Network/NetworkOrganization.ts

@@ -1,4 +1,4 @@
-import {Network} from "~/models/Network/Network";
+import Network from "~/models/Network/Network";
 import ApiModel from "~/models/ApiModel";
 import {HasOne, Str, Uid} from "pinia-orm/dist/decorators";
 
@@ -7,7 +7,7 @@ import {HasOne, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Network/NetworkOrganization.php
  */
-export class NetworkOrganization extends ApiModel {
+export default class NetworkOrganization extends ApiModel {
   static entity = 'network_organizations'
 
   @Uid()

+ 1 - 1
models/Organization/Cotisation.ts

@@ -6,7 +6,7 @@ import {Num, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/ApiResources/Cotisation/Cotisation.php
  */
-export class Cotisation extends ApiResource {
+export default class Cotisation extends ApiResource {
     static entity = 'cotisations'
 
     @Uid()

+ 1 - 1
models/Organization/DolibarrAccount.ts

@@ -6,7 +6,7 @@ import {Attr, Num, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/ApiResources/Dolibarr/DolibarrAccount.php
  */
-export class DolibarrAccount extends ApiResource {
+export default class DolibarrAccount extends ApiResource {
     static entity = 'dolibarr/account'
 
     @Uid()

+ 1 - 1
models/Organization/MobytUserStatus.ts

@@ -7,7 +7,7 @@ import {Bool, Num, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/ApiResources/Mobyt/MobytUserStatus.php
  */
-export class MobytUserStatus extends ApiResource {
+export default class MobytUserStatus extends ApiResource {
     static entity = 'mobyt/status'
 
     @Uid()

+ 1 - 1
models/Organization/Organization.ts

@@ -6,7 +6,7 @@ import {Bool, Str, Attr, Num, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Organization/Organization.php
  */
-export class Organization extends ApiModel {
+export default class Organization extends ApiModel {
   static entity = 'organizations'
 
   @Uid()

+ 2 - 2
models/Organization/OrganizationAddressPostal.ts

@@ -1,4 +1,4 @@
-import { AddressPostal } from '~/models/Core/AddressPostal'
+import AddressPostal from '~/models/Core/AddressPostal'
 import ApiModel from "~/models/ApiModel";
 import {HasOne, Str, Uid} from "pinia-orm/dist/decorators";
 
@@ -7,7 +7,7 @@ import {HasOne, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Organization/OrganizationAddressPostal.php
  */
-export class OrganizationAddressPostal extends ApiModel {
+export default class OrganizationAddressPostal extends ApiModel {
   static entity = 'organization_address_postals'
 
   @Uid()

+ 1 - 1
models/Organization/OrganizationArticle.ts

@@ -6,7 +6,7 @@ import {Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Organization/OrganizationArticle.php
  */
-export class OrganizationArticle extends ApiModel {
+export default class OrganizationArticle extends ApiModel {
   static entity = 'organization_articles'
 
   @Uid()

+ 1 - 1
models/Organization/OrganizationLicence.ts

@@ -6,7 +6,7 @@ import {Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Organization/OrganizationLicence.php
  */
-export class OrganizationLicence extends ApiModel {
+export default class OrganizationLicence extends ApiModel {
   static entity = 'organization_licences'
 
   @Uid()

+ 1 - 1
models/Organization/OrganizationNetwork.ts

@@ -1,7 +1,7 @@
 import ApiModel from "~/models/ApiModel";
 import {Uid} from "pinia-orm/dist/decorators";
 
-export class OrganizationNetwork extends ApiModel {
+export default class OrganizationNetwork extends ApiModel {
   static entity = 'organization_networks'
 
   @Uid()

+ 1 - 1
models/Organization/OrganizationProfile.ts

@@ -6,7 +6,7 @@ import {Str, Uid, Attr, Bool, Num} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/ApiResources/Profile/OrganizationProfile.php
  */
-export class OrganizationProfile extends ApiResource {
+export default class OrganizationProfile extends ApiResource {
     static entity = 'organization_profile'
 
     @Uid()

+ 1 - 1
models/Organization/Parameters.ts

@@ -6,7 +6,7 @@ import {Bool, Num, Str, Uid, Attr} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Organization/Parameters.php
  */
-export class Parameters extends ApiModel {
+export default class Parameters extends ApiModel {
   static entity = 'parameters'
 
   @Uid()

+ 1 - 1
models/Organization/Subdomain.ts

@@ -6,7 +6,7 @@ import {Bool, Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Organization/Subdomain.php
  */
-export class Subdomain extends ApiModel {
+export default class Subdomain extends ApiModel {
   static entity = 'subdomains'
 
   @Uid()

+ 1 - 1
models/Organization/TypeOfPractice.ts

@@ -6,7 +6,7 @@ import {Str, Uid} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Organization/TypeOfPractice.php
  */
-export class TypeOfPractice extends ApiModel {
+export default class TypeOfPractice extends ApiModel {
   static entity = 'type_of_practices'
 
   @Uid()

+ 1 - 1
models/Person/Person.ts

@@ -6,7 +6,7 @@ import {Str, Uid, Attr} from "pinia-orm/dist/decorators";
  *
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Person/Person.php
  */
-export class Person extends ApiModel {
+export default class Person extends ApiModel {
   static entity = 'people'
 
   @Uid()

+ 6 - 68
models/models.ts

@@ -1,74 +1,12 @@
-import {Access} from "~/models/Access/Access";
-import {AdminAccess} from "~/models/Access/AdminAccess";
-import {MyProfile} from "~/models/Access/MyProfile";
-import {PersonalizedList} from "~/models/Access/PersonalizedList";
-import {ResidenceArea} from "~/models/Billing/ResidenceArea";
-import {AddressPostal} from "~/models/Core/AddressPostal";
-import {BankAccount} from "~/models/Core/BankAccount";
-import {ContactPoint} from "~/models/Core/ContactPoint";
-import {Country} from "~/models/Core/Country";
-import {File} from "~/models/Core/File";
-import {Notification} from "~/models/Core/Notification";
-import {NotificationUsers} from "~/models/Core/NotificationUsers";
-import {NotificationMessage} from "~/models/Core/NotificationMessage";
-import {Tagg} from "~/models/Core/Tagg";
-import {EducationTiming} from "~/models/Education/EducationTiming";
-import {Cycle} from "~/models/Education/Cycle";
-import {LicenceCmfOrganizationER} from "~/models/Export/LicenceCmfOrganizationER";
-import {Network} from "~/models/Network/Network";
-import {NetworkOrganization} from "~/models/Network/NetworkOrganization";
-import {Organization} from "~/models/Organization/Organization";
-import {OrganizationAddressPostal} from "~/models/Organization/OrganizationAddressPostal";
-import {OrganizationArticle} from "~/models/Organization/OrganizationArticle";
-import {OrganizationLicence} from "~/models/Organization/OrganizationLicence";
-import {OrganizationNetwork} from "~/models/Organization/OrganizationNetwork";
-import {OrganizationProfile} from "~/models/Organization/OrganizationProfile";
-import {Parameters} from "~/models/Organization/Parameters";
-import {TypeOfPractice} from "~/models/Organization/TypeOfPractice";
-import {Person} from "~/models/Person/Person";
-import {Subdomain} from "~/models/Organization/Subdomain";
+const modules = import.meta.glob('~/models/*/*.ts')
 import ApiResource from "~/models/ApiResource";
 
-// TODO: voir si possible de se passer de ce fichier
-// Actuellement, cet import n'est utilisé que par le service EntityManager pour
-//    retrouver la classe d'une entité à partir de son nom
-
-const classes = [
-    Access,
-    AdminAccess,
-    MyProfile,
-    PersonalizedList,
-    ResidenceArea,
-    AddressPostal,
-    BankAccount,
-    ContactPoint,
-    Country,
-    File,
-    Notification,
-    NotificationMessage,
-    NotificationUsers,
-    Tagg,
-    Cycle,
-    EducationTiming,
-    LicenceCmfOrganizationER,
-    Network,
-    NetworkOrganization,
-    Organization,
-    OrganizationAddressPostal,
-    OrganizationArticle,
-    OrganizationLicence,
-    OrganizationNetwork,
-    OrganizationProfile,
-    Parameters,
-    Subdomain,
-    TypeOfPractice,
-    Person
-]
-
 const models: Record<string, typeof ApiResource> = {}
 
-classes.forEach((model) => {
-    models[model.entity] = model
-})
+for (const path in modules) {
+    modules[path]().then((mod) => {
+        models[mod.default.entity] = mod.default
+    })
+}
 
 export default models

+ 1 - 0
nuxt.config.ts

@@ -78,6 +78,7 @@ export default defineNuxtConfig({
             nuxt.hooks.hook('vite:extendConfig', config => (config.plugins ?? []).push(
                 vuetify()
                 //Remplacer par cela quand l'issue https://github.com/vuetifyjs/vuetify-loader/issues/273 sera règlée..
+                // voir aussi : https://github.com/nuxt/nuxt/issues/15412 et https://github.com/vuetifyjs/vuetify-loader/issues/290
                 // vuetify({
                 //     styles: { configFile: './assets/css/settings.scss' }
                 // })

+ 11 - 11
pages/organization.vue

@@ -31,17 +31,17 @@ import {useEntityManager} from "~/composables/data/useEntityManager";
 import {useEntityFetch} from "~/composables/data/useEntityFetch";
 import {computed, ComputedRef, Ref} from "@vue/reactivity";
 import {useOrganizationProfileStore} from "~/stores/organizationProfile";
-import {Organization} from "~/models/Organization/Organization";
-import {ContactPoint} from "~/models/Core/ContactPoint";
-import {BankAccount} from "~/models/Core/BankAccount";
-import {OrganizationAddressPostal} from "~/models/Organization/OrganizationAddressPostal";
-import {AddressPostal} from "~/models/Core/AddressPostal";
-import {Country} from "~/models/Core/Country";
-import {TypeOfPractice} from "~/models/Organization/TypeOfPractice";
-import {Network} from "~/models/Network/Network";
-import {NetworkOrganization} from "~/models/Network/NetworkOrganization";
-import {OrganizationArticle} from "~/models/Organization/OrganizationArticle";
-import {File} from "~/models/Core/File";
+import Organization from "~/models/Organization/Organization";
+import ContactPoint from "~/models/Core/ContactPoint";
+import BankAccount from "~/models/Core/BankAccount";
+import OrganizationAddressPostal from "~/models/Organization/OrganizationAddressPostal";
+import AddressPostal from "~/models/Core/AddressPostal";
+import Country from "~/models/Core/Country";
+import TypeOfPractice from "~/models/Organization/TypeOfPractice";
+import Network from "~/models/Network/Network";
+import NetworkOrganization from "~/models/Network/NetworkOrganization";
+import OrganizationArticle from "~/models/Organization/OrganizationArticle";
+import File from "~/models/Core/File";
 
 const { em, pending: emPending } = useEntityManager()
 

+ 8 - 8
pages/organization/index.vue

@@ -446,7 +446,7 @@ Contient toutes les informations sur l'organization courante
 <script setup lang="ts">
 
 import {useEntityFetch} from "~/composables/data/useEntityFetch";
-import {TypeOfPractice} from "~/models/Organization/TypeOfPractice";
+import TypeOfPractice from "~/models/Organization/TypeOfPractice";
 import {computed, ComputedRef, reactive, ref} from "@vue/reactivity";
 import {$organizationProfile} from "~/services/profile/organizationProfile";
 import {useOrganizationProfileStore} from "~/stores/profile/organization";
@@ -455,14 +455,14 @@ import {useRoute} from "#app";
 import { useValidation } from "~/composables/form/useValidation";
 import {useEntityManager} from "~/composables/data/useEntityManager";
 import UrlUtils from "~/services/utils/urlUtils";
-import {Organization} from "~/models/Organization/Organization";
+import Organization from "~/models/Organization/Organization";
 import {useI18nUtils} from "~/composables/utils/useI18nUtils";
-import {ContactPoint} from "~/models/Core/ContactPoint";
-import {BankAccount} from "~/models/Core/BankAccount";
-import {OrganizationAddressPostal} from "~/models/Organization/OrganizationAddressPostal";
-import {Country} from "~/models/Core/Country";
-import {NetworkOrganization} from "~/models/Network/NetworkOrganization";
-import {OrganizationArticle} from "~/models/Organization/OrganizationArticle";
+import ContactPoint from "~/models/Core/ContactPoint";
+import BankAccount from "~/models/Core/BankAccount";
+import OrganizationAddressPostal from "~/models/Organization/OrganizationAddressPostal";
+import Country from "~/models/Core/Country";
+import NetworkOrganization from "~/models/Network/NetworkOrganization";
+import OrganizationArticle from "~/models/Organization/OrganizationArticle";
 import {useI18n} from "vue-i18n";
 
 const id: number | null = useOrganizationProfileStore().id

+ 1 - 1
pages/poc/[id].vue

@@ -32,7 +32,7 @@
 <script setup lang="ts">
 import {useEntityManager} from "~/composables/data/useEntityManager";
 import {ref, Ref} from "@vue/reactivity";
-import {File} from "~/models/Core/File";
+import File from "~/models/Core/File";
 import {navigateTo, useRoute} from "#app";
 import {useEntityFetch} from "~/composables/data/useEntityFetch";
 import {useI18n} from "vue-i18n";

+ 1 - 1
pages/poc/display.vue

@@ -20,7 +20,7 @@
 
 import {useEntityManager} from "~/composables/data/useEntityManager";
 import {useEntityFetch} from "~/composables/data/useEntityFetch";
-import {File} from "~/models/Core/File";
+import File from "~/models/Core/File";
 
 const { em }= useEntityManager()
 

+ 1 - 1
pages/poc/index.vue

@@ -30,7 +30,7 @@
   import {useEntityManager} from "~/composables/data/useEntityManager";
   import {computed, ComputedRef, ref, Ref} from "@vue/reactivity";
   import ApiResource from "~/models/ApiResource";
-  import {File} from "~/models/Core/File";
+  import File from "~/models/Core/File";
   import {Collection, Pagination} from "~/types/enum/data";
   import {useLazyAsyncData} from "#app";
   import {useEntityFetch} from "~/composables/data/useEntityFetch";

+ 1 - 1
pages/poc/new.vue

@@ -22,7 +22,7 @@
 import {useEntityManager} from "~/composables/data/useEntityManager";
 import {ref, Ref} from "@vue/reactivity";
 import ApiResource from "~/models/ApiResource";
-import {File} from "~/models/Core/File";
+import File from "~/models/Core/File";
 
 const em = useEntityManager()
 //@ts-ignore

+ 2 - 2
pages/subscription.vue

@@ -276,8 +276,8 @@ Page 'Mon abonnement'
   import {useAbility} from "@casl/vue";
   import {useOrganizationProfileStore} from "~/stores/organizationProfile";
   import {useEntityFetch} from "~/composables/data/useEntityFetch";
-  import {DolibarrAccount} from "~/models/Organization/DolibarrAccount";
-  import {MobytUserStatus} from "~/models/Organization/MobytUserStatus";
+  import DolibarrAccount from "~/models/Organization/DolibarrAccount";
+  import MobytUserStatus from "~/models/Organization/MobytUserStatus";
   import {Ref} from "@vue/reactivity";
   import {useDisplay} from "vuetify";
 

+ 1 - 1
services/data/entityManager.ts

@@ -4,7 +4,7 @@ import UrlUtils from "~/services/utils/urlUtils"
 import HydraDenormalizer from "./normalizer/hydraDenormalizer"
 import ApiModel from "~/models/ApiModel"
 import ApiResource from "~/models/ApiResource"
-import {MyProfile} from "~/models/Access/MyProfile"
+import MyProfile from "~/models/Access/MyProfile"
 import {v4 as uuid4} from 'uuid'
 import {AssociativeArray, Collection} from "~/types/data.d"
 import models from "~/models/models";