feat: remove path alias.

feat: remove Webpack and depend on nodemon.
feat: refactoring expenses.
feat: optimize system users with caching.
feat: architecture tenant optimize.
This commit is contained in:
Ahmed Bouhuolia
2020-09-15 00:51:39 +02:00
parent ad00f140d1
commit a22c8395f3
293 changed files with 3391 additions and 1637 deletions

View File

@@ -1,37 +1,46 @@
import { Container } from 'typedi';
import LoggerInstance from '@/loaders/Logger';
import agendaFactory from '@/loaders/agenda';
import SmsClientLoader from '@/loaders/smsClient';
import mailInstance from '@/loaders/mail';
import dbManagerFactory from '@/loaders/dbManager';
import i18n from '@/loaders/i18n';
import LoggerInstance from 'loaders/logger';
import agendaFactory from 'loaders/agenda';
import SmsClientLoader from 'loaders/smsClient';
import mailInstance from 'loaders/mail';
import dbManagerFactory from 'loaders/dbManager';
import i18n from 'loaders/i18n';
import repositoriesLoader from 'loaders/systemRepositories';
import Cache from 'services/Cache';
export default ({ mongoConnection, knex }) => {
try {
const agendaInstance = agendaFactory({ mongoConnection });
const smsClientInstance = SmsClientLoader();
const dbManager = dbManagerFactory();
const dbManager = dbManagerFactory(knex);
const cacheInstance = new Cache();
Container.set('logger', LoggerInstance)
LoggerInstance.info('Logger instance has been injected into container');
LoggerInstance.info('[DI] Logger instance has been injected into container');
Container.set('knex', knex);
LoggerInstance.info('Knex instance has been injected into container');
LoggerInstance.info('[DI] Knex instance has been injected into container');
Container.set('SMSClient', smsClientInstance);
LoggerInstance.info('SMS client has been injected into container');
LoggerInstance.info('[DI] SMS client has been injected into container');
Container.set('mail', mailInstance);
LoggerInstance.info('Mail instance has been injected into container');
LoggerInstance.info('[DI] Mail instance has been injected into container');
Container.set('dbManager', dbManager);
LoggerInstance.info('Database manager has been injected into container.');
LoggerInstance.info('[DI] Database manager has been injected into container.');
Container.set('agenda', agendaInstance);
LoggerInstance.info('Agenda has been injected into container');
LoggerInstance.info('[DI] Agenda has been injected into container');
Container.set('i18n', i18n);
LoggerInstance.info('i18n has been injected into container');
LoggerInstance.info('[DI] i18n has been injected into container');
Container.set('cache', cacheInstance);
LoggerInstance.info('[DI] cache has been injected into container');
Container.set('repositories', repositoriesLoader());
LoggerInstance.info('[DI] repositories has been injected into container');
return { agenda: agendaInstance };
} catch (e) {