exodus-framework 2.0.724 → 2.0.726

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.
@@ -20,10 +20,10 @@ declare class SequelizeService extends Service implements IService {
20
20
  reconnect(db: Sequelize, attempts?: number): void;
21
21
  createConnection(hostUuid: string, database?: string): Promise<false | Sequelize>;
22
22
  testConnection(host: string, port: number, username: string, password: string): Promise<boolean>;
23
- getRelation(tenantId: string): Promise<false | EnvDBHost>;
23
+ getRelation(tenantId: string): Promise<EnvDBHost>;
24
24
  getModel<M extends typeof Model<any, any>>(model: typeof Model<any, any> & {
25
25
  initialize: (connection: Sequelize) => M;
26
- }, tenantId: string): Promise<false | M>;
26
+ }, tenantId: string): Promise<M>;
27
27
  registerModels(models: ModelStatic<any>[]): void;
28
28
  }
29
29
  export default SequelizeService;
@@ -1 +1 @@
1
- {"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../src/services/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAcpD,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,QAAQ;IACxD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;;IAM5B,IAAI;IAOJ,gBAAgB;IAgChB,KAAK,CAAC,QAAQ,EAAE,MAAM;IActB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA6BvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvC,MAAM,CAAC,QAAQ,EAAE,MAAM;IAiB7B,SAAS,CAAC,QAAQ,EAAE,MAAM;IAK1B,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,SAAI;IAe/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IA6CpD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA4B7E,WAAW,CAAC,QAAQ,EAAE,MAAM;IAmB5B,QAAQ,CAAC,CAAC,SAAS,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAC7C,KAAK,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;QAAE,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,KAAK,CAAC,CAAA;KAAE,EAC5E,QAAQ,EAAE,MAAM;IAsBlB,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE;CAG1C;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../src/services/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAcpD,cAAM,gBAAiB,SAAQ,OAAQ,YAAW,QAAQ;IACxD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;;IAM5B,IAAI;IAQJ,gBAAgB;IAgChB,KAAK,CAAC,QAAQ,EAAE,MAAM;IActB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA6BvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvC,MAAM,CAAC,QAAQ,EAAE,MAAM;IAiB7B,SAAS,CAAC,QAAQ,EAAE,MAAM;IAK1B,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,SAAI;IAe/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IA6CpD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA4B7E,WAAW,CAAC,QAAQ,EAAE,MAAM;IAe5B,QAAQ,CAAC,CAAC,SAAS,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAC7C,KAAK,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;QAAE,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,KAAK,CAAC,CAAA;KAAE,EAC5E,QAAQ,EAAE,MAAM;IAsBlB,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE;CAG1C;AAED,eAAe,gBAAgB,CAAC"}
@@ -38,6 +38,7 @@ class SequelizeService extends _service.default {
38
38
  this.masterDB = _database.masterDB;
39
39
  this.connections = new Map();
40
40
  this.initializedModels = new Map();
41
+ this.relations = new Map();
41
42
  await this.connectDatabases();
42
43
  }
43
44
  async connectDatabases() {
@@ -224,29 +225,30 @@ class SequelizeService extends _service.default {
224
225
  envUuid: tenantId
225
226
  }
226
227
  });
227
- if (!relation) {
228
- new _error.ApplicationException('Não foi possível encontrar a relação env-db: tenantId=' + tenantId);
229
- return false;
228
+ if (relation) {
229
+ this.relations.set(tenantId, relation);
230
230
  }
231
- this.relations.set(tenantId, relation);
232
231
  }
233
232
  return relation;
234
233
  }
235
234
 
236
235
  // #Entity
237
236
  async getModel(model, tenantId) {
238
- const relation = await this.getRelation(tenantId);
239
- if (!relation) return false;
240
- const modelKey = `${relation.envToken}@${relation.hostUuid}#${model.name}`;
241
- if (this.initializedModels.has(modelKey)) return this.initializedModels.get(modelKey);
242
- const connection = await this.getDB(tenantId);
243
- if (!connection) {
244
- throw new _error.ApplicationException('Não foi possível obter o model espeficificado: Conexão não encontrada');
237
+ try {
238
+ const relation = await this.getRelation(tenantId);
239
+ const modelKey = `${relation.envToken}@${relation.hostUuid}#${model.name}`;
240
+ if (this.initializedModels.has(modelKey)) return this.initializedModels.get(modelKey);
241
+ const connection = await this.getDB(tenantId);
242
+ if (!connection) {
243
+ throw new _error.ApplicationException('Conexão não encontrada');
244
+ }
245
+ const m = model.initialize(connection);
246
+ await m.sync();
247
+ this.initializedModels.set(modelKey, m);
248
+ return m;
249
+ } catch (error) {
250
+ throw new _error.ApplicationException('Erro ao obter o model', error);
245
251
  }
246
- const m = model.initialize(connection);
247
- await m.sync();
248
- this.initializedModels.set(modelKey, m);
249
- return m;
250
252
  }
251
253
  registerModels(models) {
252
254
  this.models = models;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exodus-framework",
3
- "version": "2.0.724",
3
+ "version": "2.0.726",
4
4
  "description": "Exodus Framework",
5
5
  "author": "jhownpaixao",
6
6
  "license": "ISC",