From 717739434a922093170763d11d9f59727ca854bc Mon Sep 17 00:00:00 2001 From: wodka Date: Thu, 12 Sep 2019 00:02:28 +0200 Subject: [PATCH] start basic init service --- api/src/app.module.ts | 9 ++++++--- api/src/user/services/init.service.ts | 13 +++++++++++++ api/src/user/services/user.service.ts | 2 +- api/src/user/user.providers.ts | 2 ++ 4 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 api/src/user/services/init.service.ts diff --git a/api/src/app.module.ts b/api/src/app.module.ts index e9b408d1..7690284f 100644 --- a/api/src/app.module.ts +++ b/api/src/app.module.ts @@ -11,15 +11,18 @@ import { AuthModule } from './auth/auth.module'; import { MailModule } from "./mail/mail.module" import { MailerModule } from "@nest-modules/mailer" +const MONGODB_URI = process.env.MONGODB_URI || 'mongodb://localhost/ohmyform' +const MAILER_URI = process.env.MAILER_URI || 'smtp://localhost:1025' + @Module({ imports: [ - TypegooseModule.forRoot('mongodb://localhost/ohmyform', { useNewUrlParser: true }), - MongooseModule.forRoot('mongodb://localhost/ohmyform'), + TypegooseModule.forRoot(MONGODB_URI, { useNewUrlParser: true }), + MongooseModule.forRoot(MONGODB_URI), TerminusModule.forRootAsync({ useClass: TerminusOptionsService, }), MailerModule.forRoot({ - transport: 'smtp://localhost:1025', + transport: MAILER_URI, defaults: { from:'"OhMyForm" ', } diff --git a/api/src/user/services/init.service.ts b/api/src/user/services/init.service.ts new file mode 100644 index 00000000..79d96044 --- /dev/null +++ b/api/src/user/services/init.service.ts @@ -0,0 +1,13 @@ +import { Injectable, OnModuleInit } from '@nestjs/common'; + +@Injectable() +export class InitService implements OnModuleInit { + onModuleInit() { + if (!process.env.CREATE_ADMIN || process.env.CREATE_ADMIN.toUpperCase() === 'FALSE') { + console.log('SKIP INITIAL ADMIN USER CREATION') + return + } + + // TODO process user creation if ENV CREATE_ADMIN is set + } +} diff --git a/api/src/user/services/user.service.ts b/api/src/user/services/user.service.ts index f320fe2a..80aa4600 100644 --- a/api/src/user/services/user.service.ts +++ b/api/src/user/services/user.service.ts @@ -1,4 +1,4 @@ -import {Injectable, NotFoundException} from '@nestjs/common'; +import { Injectable, NotFoundException } from '@nestjs/common'; import { InjectModel } from 'nestjs-typegoose'; import { ModelType } from 'typegoose'; import { User } from "../models/user.model" diff --git a/api/src/user/user.providers.ts b/api/src/user/user.providers.ts index 9f880f97..8c996e74 100644 --- a/api/src/user/user.providers.ts +++ b/api/src/user/user.providers.ts @@ -1,8 +1,10 @@ import { UserService } from "./services/user.service" import { UsernameAlreadyInUse } from "./validators/UsernameAlreadyInUse" import { EmailAlreadyInUse } from "./validators/EmailAlreadyInUse" +import { InitService } from "./services/init.service" export default [ + InitService, UserService, UsernameAlreadyInUse, EmailAlreadyInUse,