-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.config.ts
35 lines (34 loc) · 1.75 KB
/
default.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { container, Types } from '@biorate/inversion';
import { IConfig, Config } from '@biorate/config';
import { ConfigLoader } from '@biorate/config-loader';
import { ConfigLoaderEnv } from '@biorate/config-loader-env';
import { ConfigLoaderFs } from '@biorate/config-loader-fs';
import { ConfigLoaderVault } from '@biorate/config-loader-vault';
import { VaultConnector, IVaultConnector } from '@biorate/vault';
import { ISequelizeConnection, SequelizeConnector } from '@biorate/sequelize';
import { IMinioConnection, MinioConnector } from '@biorate/minio';
import { IMongoDBConnection, MongoDBConnector } from '@biorate/mongodb';
import { Root } from './';
import * as Migrations from './types';
container.bind<IConfig>(Types.Config).to(Config).inSingletonScope();
container
.bind<ConfigLoader>(Types.ConfigLoaderEnv)
.to(ConfigLoaderEnv)
.inSingletonScope();
container.bind<ConfigLoader>(Types.ConfigLoaderFs).to(ConfigLoaderFs).inSingletonScope();
container
.bind<ConfigLoader>(Types.ConfigLoaderVault)
.to(ConfigLoaderVault)
.inSingletonScope();
container.bind<IVaultConnector>(Types.Vault).to(VaultConnector).inSingletonScope();
container
.bind<ISequelizeConnection>(Types.Sequelize)
.to(SequelizeConnector)
.inSingletonScope();
container.bind<IMinioConnection>(Types.Minio).to(MinioConnector).inSingletonScope();
container.bind<IMongoDBConnection>(Types.Mongodb).to(MongoDBConnector).inSingletonScope();
container.bind<Migrations.Sequelize>(Migrations.Sequelize).toSelf().inSingletonScope();
container.bind<Migrations.Minio>(Migrations.Minio).toSelf().inSingletonScope();
container.bind<Migrations.Mongodb>(Migrations.Mongodb).toSelf().inSingletonScope();
container.bind<Root>(Root).toSelf().inSingletonScope();
container.get<Root>(Root).$run().catch(console.error);