Skip to content
This repository was archived by the owner on Aug 1, 2021. It is now read-only.

Commit e3fac3a

Browse files
authored
Merge branch 'master' into types/models
2 parents 1a43b0c + 48948eb commit e3fac3a

File tree

4 files changed

+11
-5142
lines changed

4 files changed

+11
-5142
lines changed

src/loaders/events.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
//Here we import all events
2+
import '../subscribers/user';

src/loaders/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import dependencyInjectorLoader from './dependencyInjector';
33
import mongooseLoader from './mongoose';
44
import jobsLoader from './jobs';
55
import Logger from './logger';
6+
//We have to import at least all the events once so they can be triggered
7+
import './events';
8+
69
export default async ({ expressApp }) => {
710
const mongoConnection = await mongooseLoader();
811
Logger.info('✌️ DB loaded and connected!');

src/services/auth.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,18 @@ import config from '../config';
55
import * as argon2 from 'argon2';
66
import { randomBytes } from 'crypto';
77
import { IUser, IUserInputDTO } from '../interfaces/IUser';
8+
import { EventDispatcher, EventDispatcherInterface } from '../decorators/eventDispatcher';
9+
import events from '../subscribers/events';
810

911
@Service()
1012
export default class AuthService {
1113
constructor(
1214
@Inject('userModel') private userModel : Models.UserModel,
1315
private mailer: MailerService,
1416
@Inject('logger') private logger,
17+
@EventDispatcher() private eventDispatcher: EventDispatcherInterface,
1518
) {}
19+
) {}
1620

1721
public async SignUp(userInputDTO: IUserInputDTO): Promise<{ user: IUser; token: string }> {
1822
try {
@@ -51,6 +55,8 @@ export default class AuthService {
5155
this.logger.silly('Sending welcome email');
5256
await this.mailer.SendWelcomeEmail(userRecord);
5357

58+
this.eventDispatcher.dispatch(events.user.signUp, { user: userRecord });
59+
5460
/**
5561
* @TODO This is not the best way to deal with this
5662
* There should exist a 'Mapper' layer

0 commit comments

Comments
 (0)