UNPKG

2.72 kBTypeScriptView Raw
1import UFS from "./ufs";
2export default interface Config {
3 disabledDb: boolean;
4 db: {
5 type: string;
6 host: string;
7 port: number;
8 username: string;
9 password: string;
10 database: string;
11 entities: string[];
12 synchronize: boolean;
13 logging: boolean;
14 };
15 disabledGraphQL: boolean;
16 publicFolders: string[];
17 viewFolders: string[];
18 translationFolders: string[];
19 middlewaresFolders: string[];
20 controllersFolders: string[];
21 migrationsFolders: string[];
22 disableMigrations: boolean;
23 sessionSecret: string;
24 sessionStore?: any;
25 tokenSecret: string;
26 mailer: {
27 sender: string;
28 host: string;
29 port: number;
30 secure: boolean;
31 auth: {
32 user: string;
33 pass: string;
34 };
35 };
36 defaultLanguage: string;
37 uploadPath: string;
38 cachePath: string;
39 jsonLimit?: string;
40 ufs: UFS;
41 onDatabaseInit: () => void;
42 chachingImages: boolean;
43}
44export declare class ConfigBuilder {
45 private config;
46 constructor(basePath: string);
47 setPublicFolders(folders: string[]): ConfigBuilder;
48 setViewFolders(folders: string[]): ConfigBuilder;
49 setTranslationFolders(folders: string[]): ConfigBuilder;
50 setMiddlewaresFolders(folders: string[]): ConfigBuilder;
51 setControllersFolders(folders: string[]): ConfigBuilder;
52 setMigrationsFolders(folders: string[]): ConfigBuilder;
53 setSessionSecret(secret: string): ConfigBuilder;
54 setTokenSecret(secret: string): ConfigBuilder;
55 setSessionStore(store: any): ConfigBuilder;
56 setUploadPath(path: string): ConfigBuilder;
57 setCachePath(path: string): ConfigBuilder;
58 setDefaultLanguage(language: string): ConfigBuilder;
59 setEntitiesFolders(folders: string[]): ConfigBuilder;
60 setDatabaseType(type: string): ConfigBuilder;
61 setDatabaseHost(host: string): ConfigBuilder;
62 setDatabasePort(port: number): ConfigBuilder;
63 setDatabaseLogin(username: string, password: string): ConfigBuilder;
64 setDatabase(database: string): ConfigBuilder;
65 disableDB(): ConfigBuilder;
66 disableMigration(): ConfigBuilder;
67 enableMigration(): ConfigBuilder;
68 disableGraphQL(): ConfigBuilder;
69 setMailerSender(address: string): ConfigBuilder;
70 setMailerAuth(user: string, password: string): ConfigBuilder;
71 setMailerServer(host: string, port: number, secure: boolean): ConfigBuilder;
72 setCustomUserEntity(hasCustom: boolean): ConfigBuilder;
73 setJsonLimit(limit: string): ConfigBuilder;
74 setUFS(ufs: UFS): ConfigBuilder;
75 setOnDatabaseInit(cb: () => void): ConfigBuilder;
76 enableCachingImages(): ConfigBuilder;
77 build(): Config;
78}