index.ts 909 B

12345678910111213141516171819202122232425262728293031323334
  1. import SequelizeDbConnector from "../../frameworks/sequelize";
  2. import createGenericExtrModel from "../../frameworks/sequelize/models/generic-extr";
  3. export default class Db {
  4. private _sequelizeDbConnector: SequelizeDbConnector;
  5. constructor(noInit = false) {
  6. if (!noInit) {
  7. this.initSequelizeDbConnector();
  8. }
  9. }
  10. private async initSequelizeDbConnector() {
  11. await new Promise((resolve, reject) => {
  12. SequelizeDbConnector.instance.ready.subscribe({
  13. complete: () => {
  14. this._sequelizeDbConnector = SequelizeDbConnector.instance;
  15. resolve(true);
  16. },
  17. error: (err) => {
  18. reject(err);
  19. }
  20. });
  21. });
  22. };
  23. public models() {
  24. return this._sequelizeDbConnector.sequelize.models;
  25. }
  26. public async defineModel(modelName: string) {
  27. await createGenericExtrModel(this._sequelizeDbConnector.sequelize, modelName);
  28. }
  29. }