useEntityManager.ts 608 B

1234567891011121314151617
  1. import EntityManager from "~/services/data/entityManager";
  2. import {useAp2iRequestService} from "~/composables/data/useAp2iRequestService";
  3. import ApiResource from "~/models/ApiResource";
  4. import {useRepo} from "pinia-orm";
  5. let entityManager:EntityManager|null = null
  6. export const useEntityManager = () => {
  7. //Avoid memory leak
  8. if(entityManager === null){
  9. const { apiRequestService } = useAp2iRequestService()
  10. const getRepo = (model: typeof ApiResource) => useRepo(model)
  11. entityManager = new EntityManager(apiRequestService, getRepo)
  12. }
  13. return { em: entityManager }
  14. }