@punks/backend-entity-manager 0.0.98 → 0.0.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -2303,7 +2303,7 @@ exports.EntityManagerRegistry = class EntityManagerRegistry {
2303
2303
  .registerEventEmitter(eventEmitter);
2304
2304
  }
2305
2305
  }
2306
- async registerDiscoveredEntity(app, { adapter, entityName, converter, queryBuilder, repository, authMiddleware, serializer, settings, }) {
2306
+ async registerDiscoveredEntity(app, { adapter, entityName, entity, converter, queryBuilder, repository, authMiddleware, serializer, settings, }) {
2307
2307
  if (!repository.discoveredClass.injectType) {
2308
2308
  throw new Error(`No inject type found for entity repository: ${entityName}`);
2309
2309
  }
@@ -20878,21 +20878,27 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
20878
20878
  });
20879
20879
  }
20880
20880
  async registerEntities(app, staticProviders) {
20881
+ const entities = await this.discoverEntities();
20881
20882
  const repositories = await this.discoverRepositories();
20882
20883
  const queryBuilders = await this.discoverQueryBuilders();
20883
20884
  const converters = await this.discoverConverters();
20884
20885
  const serializers = await this.discoverSerializers();
20885
20886
  const adapters = await this.discoverAdapters();
20886
20887
  const auth = await this.discoverAuthMiddlewares();
20888
+ const repositoriesDict = backendCore.toDict(repositories, (q) => q.meta.entityName);
20887
20889
  const queryBuilderDict = backendCore.toDict(queryBuilders, (q) => q.meta.entityName);
20888
20890
  const converterDict = backendCore.toDict(converters, (c) => c.meta.entityName);
20889
20891
  const serializerDict = backendCore.toDict(serializers, (s) => s.meta.entityName);
20890
20892
  const adapterDict = backendCore.toDict(adapters, (a) => a.meta.entityName);
20891
20893
  const authDict = backendCore.toDict(auth, (a) => a.meta.entityName);
20892
- const sortedRepositories = lodash.exports.orderBy(repositories, (x) => x.meta.entityName);
20893
- this.logger.log(`Discovered repositories: \n${sortedRepositories.join(" \n")}`);
20894
- for (const repository of sortedRepositories) {
20895
- const entityName = repository.meta.entityName;
20894
+ const sortedEntities = lodash.exports.orderBy(entities, (x) => x.meta.name);
20895
+ this.logger.log(`Discovered entities: \n${sortedEntities.join(" \n")}`);
20896
+ for (const entity of sortedEntities) {
20897
+ const entityName = entity.meta.name;
20898
+ const repository = repositoriesDict[entityName];
20899
+ if (!repository) {
20900
+ throw new Error(`No repository found for entity: ${entityName}`);
20901
+ }
20896
20902
  const queryBuilder = queryBuilderDict[entityName];
20897
20903
  if (!queryBuilder) {
20898
20904
  throw new Error(`No query builder found for entity: ${entityName}`);
@@ -20903,6 +20909,7 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
20903
20909
  const serializer = serializerDict[entityName];
20904
20910
  await this.registry.registerDiscoveredEntity(app, {
20905
20911
  entityName,
20912
+ entity,
20906
20913
  adapter,
20907
20914
  repository,
20908
20915
  queryBuilder,
@@ -21001,6 +21008,9 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
21001
21008
  .get(exports.ModulesContainerProvider)
21002
21009
  .setModulesContainer(staticProviders.modulesContainer);
21003
21010
  }
21011
+ async discoverEntities() {
21012
+ return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.Entity);
21013
+ }
21004
21014
  async discoverRepositories() {
21005
21015
  return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EntityRepository);
21006
21016
  }