Skip to content

Commit aae93ba

Browse files
committed
Refactor backoffice fronted dependency inyection
1 parent 8a6455e commit aae93ba

File tree

18 files changed

+141
-117
lines changed

18 files changed

+141
-117
lines changed

package-lock.json

Lines changed: 28 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
"http-status": "^1.4.2",
5353
"mandrill-api": "^1.0.45",
5454
"mongodb": "^3.5.7",
55-
"node-dependency-injection": "^2.6.3",
55+
"node-dependency-injection": "^2.6.8",
5656
"nunjucks": "^3.2.1",
5757
"ts-node": "^8.10.1",
5858
"typescript": "^3.9.2",
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
services:
2+
Mooc.courses.CourseRepository:
3+
class: ../../../../../../Contexts/Mooc/Courses/infrastructure/persistence/MongoCourseRepository
4+
arguments: ['@Shared.ConnectionManager']
5+
6+
Mooc.courses.CourseCreator:
7+
class: ../../../../../../Contexts/Mooc/Courses/application/CourseCreator
8+
arguments: ['@Mooc.courses.CourseRepository', '@Shared.EventBus']
9+
10+
Mooc.courses.CreateCourseCommandHandler:
11+
class: ../../../../../../Contexts/Mooc/Courses/application/CreateCourseCommandHandler
12+
arguments: ['@Mooc.courses.CourseCreator']
13+
tags:
14+
- { name: 'commandHandler' }
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
services:
2+
Mooc.coursesCounter.CoursesCounterFinder:
3+
class: ../../../../../../Contexts/Mooc/CoursesCounter/application/Find/CoursesCounterFinder
4+
arguments: ['@Mooc.coursesCounter.CoursesCounterRepository']
5+
6+
Mooc.coursesCounter.CoursesCounterRepository:
7+
class: ../../../../../../Contexts/Mooc/CoursesCounter/infrastructure/persistence/mongo/MongoCoursesCounterRepository
8+
arguments: ['@Shared.ConnectionManager']
9+
10+
Mooc.coursesCounter.FindCoursesCounterQueryHandler:
11+
class: ../../../../../../Contexts/Mooc/CoursesCounter/application/Find/FindCoursesCounterQueryHandler
12+
arguments: ['@Mooc.coursesCounter.CoursesCounterFinder']
13+
tags:
14+
- { name: 'queryHandler' }
15+
16+
Mooc.coursesCounter.CoursesCounterIncrementer:
17+
class: ../../../../../../Contexts/Mooc/CoursesCounter/application/Increment/CoursesCounterIncrementer
18+
arguments: ['@Mooc.coursesCounter.CoursesCounterRepository', '@Shared.EventBus']
19+
20+
Mooc.coursesCounter.IncrementCoursesCounterOnCourseCreated:
21+
class: ../../../../../../Contexts/Mooc/CoursesCounter/application/Increment/IncrementCoursesCounterOnCourseCreated
22+
arguments: ['@Mooc.coursesCounter.CoursesCounterIncrementer']
23+
tags:
24+
- { name: 'domainEventSubscriber' }
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
services:
2+
Shared.Logger:
3+
class: ../../../../../../Contexts/Shared/infrastructure/WinstonLogger
4+
arguments: []
5+
6+
Shared.ConnectionManager:
7+
factory:
8+
class: ../../../../../../Contexts/Shared/infrastructure/persistence/mongo/MongoClientFactory
9+
method: 'createClient'
10+
arguments: ['mooc']
11+
12+
Shared.EventBus:
13+
class: ../../../../../../Contexts/Shared/infrastructure/EventBus/InMemoryAsyncEventBus
14+
arguments: []
15+
16+
Shared.QueryBus:
17+
class: ../../../../../../Contexts/Shared/infrastructure/QueryBus/InMemoryQueryBus
18+
arguments: ['@Shared.QueryHandlersInformation']
19+
20+
Shared.CommandBus:
21+
class: ../../../../../../Contexts/Shared/infrastructure/CommandBus/InMemoryCommandBus
22+
arguments: ['@Shared.CommandHandlersInformation']
23+
24+
Shared.QueryHandlersInformation:
25+
class: ../../../../../../Contexts/Shared/infrastructure/QueryBus/QueryHandlersInformation
26+
arguments: ['!tagged queryHandler']
27+
28+
Shared.CommandHandlersInformation:
29+
class: ../../../../../../Contexts/Shared/infrastructure/CommandBus/CommandHandlersInformation
30+
arguments: ['!tagged commandHandler']
Lines changed: 5 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,5 @@
1-
services:
2-
Contexts.shared.Logger:
3-
class: ../../../../../Contexts/Shared/infrastructure/WinstonLogger
4-
arguments: []
5-
6-
Apps.Backoffice.Frontend.controllers.HomeGetController:
7-
class: ../../controllers/HomeGetController
8-
9-
Mooc.coursesCounter.CoursesCounterFinder:
10-
class: ../../../../../Contexts/Mooc/CoursesCounter/application/Find/CoursesCounterFinder
11-
arguments: ['@Mooc.coursesCounter.CoursesCounterRepository']
12-
13-
Mooc.coursesCounter.CoursesCounterRepository:
14-
class: ../../../../../Contexts/Mooc/CoursesCounter/infrastructure/persistence/mongo/MongoCoursesCounterRepository
15-
arguments: ['@Mooc.shared.ConnectionManager']
16-
17-
Mooc.shared.ConnectionManager:
18-
factory:
19-
class: ../../../../../Contexts/Shared/infrastructure/persistence/mongo/MongoClientFactory
20-
method: 'createClient'
21-
arguments: ['mooc']
22-
23-
Mooc.courses.CourseRepository:
24-
class: ../../../../../Contexts/Mooc/Courses/infrastructure/persistence/MongoCourseRepository
25-
arguments: ['@Mooc.shared.ConnectionManager']
26-
27-
Mooc.shared.EventBus:
28-
class: ../../../../../Contexts/Shared/infrastructure/EventBus/InMemoryAsyncEventBus
29-
arguments: []
30-
31-
Mooc.courses.CourseCreator:
32-
class: ../../../../../Contexts/Mooc/Courses/application/CourseCreator
33-
arguments: ['@Mooc.courses.CourseRepository', '@Mooc.shared.EventBus']
34-
35-
Apps.Backoffice.Frontend.controllers.CoursesGetController:
36-
class: ../../controllers/CoursesGetController
37-
arguments: ['@Mooc.shared.QueryBus']
38-
39-
Apps.Backoffice.Frontend.controllers.CoursesPostController:
40-
class: ../../controllers/CoursesPostController
41-
arguments: ['@Mooc.shared.CommandBus']
42-
43-
Mooc.coursesCounter.FindCoursesCounterQueryHandler:
44-
class: ../../../../../Contexts/Mooc/CoursesCounter/application/Find/FindCoursesCounterQueryHandler
45-
arguments: ['@Mooc.coursesCounter.CoursesCounterFinder']
46-
tags:
47-
- { name: 'queryHandler' }
48-
49-
Mooc.coursesCounter.CoursesCounterIncrementer:
50-
class: ../../../../../Contexts/Mooc/CoursesCounter/application/Increment/CoursesCounterIncrementer
51-
arguments: [
52-
"@Mooc.coursesCounter.CoursesCounterRepository",
53-
"@Mooc.shared.EventBus"
54-
]
55-
56-
Mooc.coursesCounter.IncrementCoursesCounterOnCourseCreated:
57-
class: ../../../../../Contexts/Mooc/CoursesCounter/application/Increment/IncrementCoursesCounterOnCourseCreated
58-
arguments: ["@Mooc.coursesCounter.CoursesCounterIncrementer"]
59-
tags:
60-
- { name: 'domainEventSubscriber' }
61-
62-
Mooc.courses.CreateCourseCommandHandler:
63-
class: ../../../../../Contexts/Mooc/Courses/application/CreateCourseCommandHandler
64-
arguments: ['@Mooc.courses.CourseCreator']
65-
tags:
66-
- { name: 'commandHandler' }
67-
68-
Mooc.shared.QueryBus:
69-
class: ../../../../../Contexts/Shared/infrastructure/QueryBus/InMemoryQueryBus
70-
arguments: ['@Mooc.shared.QueryHandlersInformation']
71-
72-
Mooc.shared.CommandBus:
73-
class: ../../../../../Contexts/Shared/infrastructure/CommandBus/InMemoryCommandBus
74-
arguments: ['@Mooc.shared.CommandHandlersInformation']
75-
76-
Mooc.shared.QueryHandlersInformation:
77-
class: ../../../../../Contexts/Shared/infrastructure/QueryBus/QueryHandlersInformation
78-
arguments: ['!tagged queryHandler']
79-
80-
Mooc.shared.CommandHandlersInformation:
81-
class: ../../../../../Contexts/Shared/infrastructure/CommandBus/CommandHandlersInformation
82-
arguments: ['!tagged commandHandler']
1+
imports:
2+
- { resource: ./apps/application.yaml }
3+
- { resource: ./Shared/application.yaml }
4+
- { resource: ./CoursesCounter/application.yaml }
5+
- { resource: ./Courses/application.yaml }
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
services:
2+
Apps.Backoffice.Frontend.controllers.HomeGetController:
3+
class: ../../../controllers/HomeGetController
4+
5+
Apps.Backoffice.Frontend.controllers.CoursesGetController:
6+
class: ../../../controllers/CoursesGetController
7+
arguments: ['@Shared.QueryBus']
8+
9+
Apps.Backoffice.Frontend.controllers.CoursesPostController:
10+
class: ../../../controllers/CoursesPostController
11+
arguments: ['@Shared.CommandBus']

src/apps/backoffice/frontend/seed.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import container from './config/dependency-injection';
55

66
export async function seed() {
77
const repository: CoursesCounterRepository = container.get('Mooc.coursesCounter.CoursesCounterRepository');
8-
const logger = container.get('Contexts.shared.Logger');
8+
const logger = container.get('Shared.Logger');
99

1010
const alreadyExists = await repository.search();
1111
const isTestEnvironment = process.env.NODE_ENV === 'test';

src/apps/backoffice/frontend/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ app.use(errorHandler());
1212
* Start Express server.
1313
*/
1414
const server = app.listen(app.get('port'), async () => {
15-
const winstonLogger = container.get('Contexts.shared.Logger');
15+
const winstonLogger = container.get('Shared.Logger');
1616

1717
await seed();
1818

src/apps/backoffice/frontend/subscribers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { DomainEventSubscriber } from '../../../Contexts/Shared/domain/DomainEve
55
import { DomainEvent } from '../../../Contexts/Shared/domain/DomainEvent';
66

77
export function registerSubscribers() {
8-
const eventBus = container.get('Mooc.shared.EventBus') as InMemoryAsyncEventBus;
8+
const eventBus = container.get('Shared.EventBus') as InMemoryAsyncEventBus;
99
const subscriberDefinitions = container.findTaggedServiceIds('domainEventSubscriber') as Map<String, Definition>;
1010
const subscribers: Array<DomainEventSubscriber<DomainEvent>> = [];
1111

0 commit comments

Comments
 (0)