From b49736ec307b5c00b52a6e565d48c93b4367d4e5 Mon Sep 17 00:00:00 2001 From: jiayi <690405541@qq.com> Date: Thu, 21 Feb 2019 15:52:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=B7=A5=E5=85=B7=E6=A8=A1=E5=9D=97):=20?= =?UTF-8?q?=20=E6=8F=90=E4=BA=A4=E8=8E=B7=E5=8F=96redis=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/mongodb/base.service.ts | 6 +++--- src/shared/services/mail.services.ts | 13 ++++++------- src/tools/get-redis.ts | 8 ++++++++ 3 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 src/tools/get-redis.ts diff --git a/src/shared/mongodb/base.service.ts b/src/shared/mongodb/base.service.ts index fd94929..25effb5 100644 --- a/src/shared/mongodb/base.service.ts +++ b/src/shared/mongodb/base.service.ts @@ -103,7 +103,7 @@ export abstract class BaseService { page: 1, pages: 0, }; - const { offset, page, option } = options; + const { offset, page, option } = options || { offset: 0, page: 1, option: {}}; if (offset !== undefined) { result.offset = options.offset; options.skip = offset; @@ -136,8 +136,8 @@ export abstract class BaseService { populates?: ModelPopulateOptions[] | ModelPopulateOptions; [key: string]: any; }): Promise { - const { option, populates } = options; - const docsQuery = this._model.findOne(conditions, projection, option); + const { option, populates } = options || { option: {}, populates: [] }; + const docsQuery = this._model.findOne(conditions, projection || {}, option); return this.populates(docsQuery, populates); } diff --git a/src/shared/services/mail.services.ts b/src/shared/services/mail.services.ts index 6d57f55..fd3b213 100644 --- a/src/shared/services/mail.services.ts +++ b/src/shared/services/mail.services.ts @@ -1,7 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { InjectMailer, MailerService } from 'core/mailer'; +import { MailerService } from 'core/mailer'; import { ConfigService, EnvConfig } from 'config'; -import { InjectConfig } from 'config/config.decorators'; @Injectable() export class MailService { @@ -9,12 +8,12 @@ export class MailService { private readonly name: string; private readonly host: string; constructor( - @InjectMailer() private readonly mailer: MailerService, - @InjectConfig() private readonly config: ConfigService, + private readonly mailer: MailerService, + private readonly configService: ConfigService, ) { - this.name = this.config.get('name'); - this.host = `${this.config.get('HOST')}:${this.config.get('PORT')}`; - this.from = `${this.name} <${this.config.get('MAIL_USER')}>`; + this.name = this.configService.get('name'); + this.host = `${this.configService.get('HOST')}:${this.configService.get('PORT')}`; + this.from = `${this.name} <${this.configService.get('MAIL_USER')}>`; } /** diff --git a/src/tools/get-redis.ts b/src/tools/get-redis.ts new file mode 100644 index 0000000..7687385 --- /dev/null +++ b/src/tools/get-redis.ts @@ -0,0 +1,8 @@ +export function getRedisConfig(config) { + const client = config.getKeys(['REDIS_HOST', 'REDIS_PORT', 'REDIS_DB', 'REDIS_PASSWORD']); + return Object.keys(client).reduce((obj, key) => { + const field = key.split('_')[1].toLocaleUpperCase(); + obj[field] = key === ('REDIS_PORT' || 'REDIS_DB') ? parseInt(client[key], 10) : client[key]; + return obj; + }, {}); +} \ No newline at end of file