File tree Expand file tree Collapse file tree 5 files changed +37
-1
lines changed
Projects/BooksLibrary/src Expand file tree Collapse file tree 5 files changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,10 @@ export class ConfigurationManager {
1515 return ConfigurationManager . _config . Database . Flavour ;
1616 } ;
1717
18+ public static DatabaseType = ( ) : DatabaseType => {
19+ return ConfigurationManager . _config . Database . Type ;
20+ } ;
21+
1822 public static loadConfigurations = ( ) : void => {
1923 ConfigurationManager . _config = {
2024 BaseUrl : process . env . BASE_URL ,
Original file line number Diff line number Diff line change 1+ import { ConfigurationManager } from 'config/configuration.manager' ;
2+ import { DependencyContainer } from 'tsyringe' ;
3+ import { SQLInjector } from './sql/sql.injector' ;
4+
5+ export class DatabaseInjector {
6+ static registerInjections ( container : DependencyContainer ) {
7+ //
8+ const databaseType = ConfigurationManager . DatabaseType ( ) ;
9+ if ( databaseType === 'SQL' ) {
10+ SQLInjector . registerInjections ( container ) ;
11+ }
12+ }
13+ }
Original file line number Diff line number Diff line change 1- todo
1+ import { DependencyContainer } from 'tsyringe' ;
2+ import { DatabaseConnector_Sequelize } from './sequelize/database.connector.sequelize' ;
3+
4+ export class SQLInjector {
5+ static registerInjections ( container : DependencyContainer ) {
6+ container . register ( 'IDatabaseConnector' , DatabaseConnector_Sequelize ) ;
7+ }
8+ }
Original file line number Diff line number Diff line change 1+ import { DatabaseInjector } from 'database/database.injector' ;
2+ import { DependencyContainer } from 'tsyringe' ;
3+
4+ export class Injector {
5+ static registerInjections ( container : DependencyContainer ) {
6+ DatabaseInjector . registerInjections ( container ) ;
7+ }
8+ }
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import { Authenticator } from 'auth/authenticator';
33import { Logger } from '../common/logger' ;
44import { Authorizer } from 'auth/authorizer' ;
55import { DatabaseConnector } from 'database/database.connector' ;
6+ import { Injector } from './injector' ;
67
78export class Loader {
89 private static _container : DependencyContainer = container ;
@@ -32,6 +33,9 @@ export class Loader {
3233 public static init = async ( ) : Promise < boolean > => {
3334 try {
3435 //Register injections here...
36+
37+ Injector . registerInjections ( container ) ;
38+
3539 Loader . _databaseConnector = container . resolve ( DatabaseConnector ) ;
3640
3741 return true ;
You can’t perform that action at this time.
0 commit comments