schema.js 743 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import {Service} from '@e22m4u/service';
  2. import {DefinitionRegistry} from './definition/index.js';
  3. import {RepositoryRegistry} from './repository/index.js';
  4. /**
  5. * Schema.
  6. */
  7. export class Schema extends Service {
  8. /**
  9. * Define datasource.
  10. *
  11. * @param datasourceDef
  12. */
  13. defineDatasource(datasourceDef) {
  14. this.getService(DefinitionRegistry).addDatasource(datasourceDef);
  15. return this;
  16. }
  17. /**
  18. * Define model.
  19. *
  20. * @param modelDef
  21. */
  22. defineModel(modelDef) {
  23. this.getService(DefinitionRegistry).addModel(modelDef);
  24. return this;
  25. }
  26. /**
  27. * Get repository.
  28. *
  29. * @param modelName
  30. */
  31. getRepository(modelName) {
  32. return this.getService(RepositoryRegistry).getRepository(modelName);
  33. }
  34. }