UNPKG

1.14 kBPlain TextView Raw
1import Config from "./config";
2
3export default abstract class BaseModule {
4 abstract get controllers(): string;
5 abstract get middlewares(): string;
6 abstract get translation(): string;
7 abstract get views(): string;
8 abstract get public(): string;
9 abstract get entities(): string;
10 abstract get migrations(): string;
11
12 public mount(config: Config) {
13 if (this.controllers) {
14 config.controllersFolders.unshift(this.controllers);
15 }
16 if (this.middlewares) {
17 config.middlewaresFolders.unshift(this.middlewares);
18 }
19 if (this.translation) {
20 config.translationFolders.unshift(this.translation);
21 }
22 if (this.views) {
23 config.viewFolders.unshift(this.views);
24 }
25 if (this.public) {
26 config.publicFolders.unshift(this.public);
27 }
28 if (this.entities) {
29 config.db.entities.unshift(this.entities + "/*.entity.js");
30 }
31 if (this.migrations) {
32 config.migrationsFolders.unshift(this.migrations);
33 }
34 }
35
36 public onDatabaseConnected() {}
37}