From 446da405ae78538891d8641ed86c989e0f9bd07c Mon Sep 17 00:00:00 2001 From: RXRD Date: Fri, 16 Feb 2024 13:03:17 +0700 Subject: [PATCH] fix --- src/config.ts | 7 ++++++ src/endpoints/conversion/conversion.module.ts | 12 ++++------ src/endpoints/myriad/myriad.module.ts | 11 ++++----- src/endpoints/myriad/myriad.service.ts | 23 +++++-------------- src/endpoints/pinata/pinata.service.ts | 11 ++++----- .../recaptcha/recaptcha.controller.ts | 8 ++----- .../second-opinion/second-opinion.module.ts | 12 ++++------ .../substrate-endpoint.controller.ts | 7 +++--- .../verification/verification.controller.ts | 9 ++++---- .../verification/verification.module.ts | 12 ++++------ 10 files changed, 46 insertions(+), 66 deletions(-) diff --git a/src/config.ts b/src/config.ts index f45cb826..6b8db76f 100644 --- a/src/config.ts +++ b/src/config.ts @@ -2,6 +2,8 @@ import dotenv from 'dotenv'; dotenv.config(); export const config = { + DEBIO_API_KEY: process.env.DEBIO_API_KEY ?? '', + RECAPTCHA_SECRET_KEY : process.env.RECAPTCHA_SECRET_KEY ?? '', REDIS_HOST : process.env.HOST_REDIS ?? 'localhost', REDIS_PORT : process.env.PORT_REDIS ?? '6379', REDIS_PASSWORD : process.env.REDIS_PASSWORD ?? 'root', @@ -23,5 +25,10 @@ export const config = { ADMIN_SUBSTRATE_MNEMONIC : process.env.ADMIN_SUBSTRATE_MNEMONIC ?? '', BUCKET_NAME : process.env.BUCKET_NAME ?? '', STORAGE_BASE_URI : process.env.STORAGE_BASE_URI ?? '', + MYRIAD_API_URL : process.env.MYRIAD_API_URL ?? '', + MYRIAD_ADMIN_USERNAME : process.env.MYRIAD_ADMIN_USERNAME ?? '', + MYRIAD_PHYSICAL_HEALTH_TIMELINE_ID : process.env.PHYSICAL_HEALTH_EXPERIENCE_ID ?? '', + MYRIAD_MENTAL_HEALTH_TIMELINE_ID : process.env.MENTAL_HEALTH_EXPERIENCE_ID ?? '', + PINATA_JWT : process.env.PINATA_SECRET_KEY ?? '' }; diff --git a/src/endpoints/conversion/conversion.module.ts b/src/endpoints/conversion/conversion.module.ts index 4efa9152..4becb93d 100644 --- a/src/endpoints/conversion/conversion.module.ts +++ b/src/endpoints/conversion/conversion.module.ts @@ -1,23 +1,21 @@ -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; import { HttpModule } from '@nestjs/axios'; import { CacheModule, Module } from '@nestjs/common'; import * as redisStore from 'cache-manager-redis-store'; import { DebioConversionModule } from 'src/common'; -import { keyList } from '../../common/secrets'; import { CacheController } from './conversion.controller'; +import { config } from 'src/config'; @Module({ imports: [ CacheModule.registerAsync({ - inject: [GCloudSecretManagerService], + inject: [], useFactory: async ( - gCloudSecretManagerService: GCloudSecretManagerService, ) => { return { store: redisStore, - host: gCloudSecretManagerService.getSecret('REDIS_HOST'), - port: gCloudSecretManagerService.getSecret('REDIS_PORT'), - auth_pass: gCloudSecretManagerService.getSecret('REDIS_PASSWORD'), + host: config.REDIS_HOST, + port: config.REDIS_PORT, + auth_pass: config.REDIS_PASSWORD, ttl: 2 * 60 * 60, }; }, diff --git a/src/endpoints/myriad/myriad.module.ts b/src/endpoints/myriad/myriad.module.ts index 52a7f096..0c565d84 100644 --- a/src/endpoints/myriad/myriad.module.ts +++ b/src/endpoints/myriad/myriad.module.ts @@ -1,24 +1,23 @@ import { keyList } from '@common/secrets'; -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; import { CacheModule, Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { MyriadAccount } from './models/myriad-account.entity'; import { MyriadController } from './myriad.controller'; import { MyriadService } from './myriad.service'; import * as redisStore from 'cache-manager-redis-store'; +import { config } from 'src/config'; @Module({ imports: [ CacheModule.registerAsync({ - inject: [GCloudSecretManagerService], + inject: [], useFactory: async ( - gCloudSecretManagerService: GCloudSecretManagerService, ) => { return { store: redisStore, - host: gCloudSecretManagerService.getSecret('REDIS_HOST'), - port: gCloudSecretManagerService.getSecret('REDIS_PORT'), - auth_pass: gCloudSecretManagerService.getSecret('REDIS_PASSWORD'), + host: config.REDIS_HOST, + port: config.REDIS_PORT, + auth_pass: config.REDIS_PASSWORD, ttl: 2 * 60 * 60, }; }, diff --git a/src/endpoints/myriad/myriad.service.ts b/src/endpoints/myriad/myriad.service.ts index 23e1b7e9..23868cd6 100644 --- a/src/endpoints/myriad/myriad.service.ts +++ b/src/endpoints/myriad/myriad.service.ts @@ -1,5 +1,4 @@ import { keyList } from '@common/secrets'; -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; import { CACHE_MANAGER, Inject, @@ -23,6 +22,7 @@ import { UserMyriadInterface } from './interface/user'; import { UsernameCheckInterface } from './interface/username-check'; import { MyriadAccount } from './models/myriad-account.entity'; import { Cache } from 'cache-manager'; +import { config } from 'src/config'; @Injectable() export class MyriadService { @@ -32,12 +32,9 @@ export class MyriadService { constructor( @InjectRepository(MyriadAccount) private readonly myriadAccountRepository: Repository, - private readonly gCloudSecretManagerService: GCloudSecretManagerService, @Inject(CACHE_MANAGER) private readonly cacheManager: Cache, ) { - this.myriadEndPoints = this.gCloudSecretManagerService - .getSecret('MYRIAD_API_URL') - .toString(); + this.myriadEndPoints = config.MYRIAD_API_URL.toString(); } public async checkUsernameMyriad(username: string): Promise { @@ -68,9 +65,7 @@ export class MyriadService { const user = await this.myriadAccountRepository.findOne({ select: ['username', 'jwt_token'], where: { - username: this.gCloudSecretManagerService - .getSecret('MYRIAD_ADMIN_USERNAME') - .toString(), + username: config.MYRIAD_ADMIN_USERNAME.toString(), }, }); @@ -583,9 +578,7 @@ export class MyriadService { const user = await this.myriadAccountRepository.findOne({ select: ['username', 'jwt_token'], where: { - username: this.gCloudSecretManagerService - .getSecret('MYRIAD_ADMIN_USERNAME') - .toString(), + username: config.MYRIAD_ADMIN_USERNAME.toString(), }, }); @@ -616,13 +609,9 @@ export class MyriadService { private getExperienceIdAdmin(type: string): string { if (type === E_PostType.PHYSICAL_HEALTH) { - return this.gCloudSecretManagerService - .getSecret('MYRIAD_PHYSICAL_HEALTH_TIMELINE_ID') - .toString(); + return config.MYRIAD_PHYSICAL_HEALTH_TIMELINE_ID.toString(); } else if (type === E_PostType.MENTAL_HEALTH) { - return this.gCloudSecretManagerService - .getSecret('MYRIAD_MENTAL_HEALTH_TIMELINE_ID') - .toString(); + return config.MYRIAD_MENTAL_HEALTH_TIMELINE_ID.toString(); } else { throw new HttpException( { diff --git a/src/endpoints/pinata/pinata.service.ts b/src/endpoints/pinata/pinata.service.ts index 9b3fd19d..373e8e8b 100644 --- a/src/endpoints/pinata/pinata.service.ts +++ b/src/endpoints/pinata/pinata.service.ts @@ -1,14 +1,13 @@ import { Injectable } from '@nestjs/common'; -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; import { keyList } from '../../common/secrets'; import axios from 'axios'; import { AxiosRequestConfig } from 'axios'; import FormData from 'form-data'; +import { config } from 'src/config'; @Injectable() export class PinataService { constructor( - private readonly gCloudSecretManagerService: GCloudSecretManagerService, ) {} async uploadToPinata(file: Express.Multer.File) { const options = { @@ -30,19 +29,17 @@ export class PinataService { data.append('pinataMetadata', JSON.stringify(options.pinataMetadata)); data.append('pinataOptions', JSON.stringify(options.pinataOptions)); - const config: AxiosRequestConfig = { + const configuration: AxiosRequestConfig = { method: 'POST', url: 'https://api.pinata.cloud/pinning/pinFileToIPFS', headers: { - Authorization: this.gCloudSecretManagerService - .getSecret('PINATA_JWT') - .toString(), + Authorization: config.PINATA_JWT.toString(), ...data.getHeaders(), }, data: data, }; - const res = await axios(config); + const res = await axios(configuration); return res; } diff --git a/src/endpoints/recaptcha/recaptcha.controller.ts b/src/endpoints/recaptcha/recaptcha.controller.ts index 188a54da..14f0b456 100644 --- a/src/endpoints/recaptcha/recaptcha.controller.ts +++ b/src/endpoints/recaptcha/recaptcha.controller.ts @@ -1,15 +1,13 @@ -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; import { Body, Controller, Post, Res, UseInterceptors } from '@nestjs/common'; import axios from 'axios'; import { Response } from 'express'; -import { keyList } from '../../common/secrets'; import { SentryInterceptor } from '../../common/interceptors'; +import { config } from 'src/config'; @UseInterceptors(SentryInterceptor) @Controller('recaptcha') export class RecaptchaController { constructor( - private readonly gCloudSecretManagerService: GCloudSecretManagerService, ) {} @Post() @@ -17,9 +15,7 @@ export class RecaptchaController { const result = await axios.post( 'https://www.google.com/recaptcha/api/siteverify' + '?secret=' + - this.gCloudSecretManagerService - .getSecret('RECAPTCHA_SECRET_KEY') - .toString() + + config.RECAPTCHA_SECRET_KEY.toString() + '&response=' + payload.response, ); diff --git a/src/endpoints/second-opinion/second-opinion.module.ts b/src/endpoints/second-opinion/second-opinion.module.ts index 820ad15a..6fb5aa05 100644 --- a/src/endpoints/second-opinion/second-opinion.module.ts +++ b/src/endpoints/second-opinion/second-opinion.module.ts @@ -1,5 +1,3 @@ -import { keyList } from '@common/secrets'; -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; import { CacheModule, Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { HealthProfessionalRole } from './models/health-professional-role.entity'; @@ -7,19 +5,19 @@ import { HealthProfessionalSpecialization } from './models/health-professional-s import { SecondOpinionController } from './second-opinion.controller'; import { SecondOpinionService } from './second-opinion.service'; import * as redisStore from 'cache-manager-redis-store'; +import { config } from 'src/config'; @Module({ imports: [ CacheModule.registerAsync({ - inject: [GCloudSecretManagerService], + inject: [], useFactory: async ( - gCloudSecretManagerService: GCloudSecretManagerService, ) => { return { store: redisStore, - host: gCloudSecretManagerService.getSecret('REDIS_HOST'), - port: gCloudSecretManagerService.getSecret('REDIS_PORT'), - auth_pass: gCloudSecretManagerService.getSecret('REDIS_PASSWORD'), + host: config.REDIS_HOST, + port: config.REDIS_PORT, + auth_pass: config.REDIS_PASSWORD, ttl: 2 * 60 * 60, }; }, diff --git a/src/endpoints/substrate-endpoint/substrate-endpoint.controller.ts b/src/endpoints/substrate-endpoint/substrate-endpoint.controller.ts index 6a1f8d31..3cf05375 100644 --- a/src/endpoints/substrate-endpoint/substrate-endpoint.controller.ts +++ b/src/endpoints/substrate-endpoint/substrate-endpoint.controller.ts @@ -39,9 +39,9 @@ import { geneticAnalysisByTrakingIdResponse, geneticAnalysisOrderByGA, } from './models/response'; -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; import { keyList } from '../../common/secrets'; import { MenstrualSubscriptionService } from './services/menstrual-subscription.service'; +import { config } from 'src/config'; @Controller('substrate') @UseInterceptors(SentryInterceptor) @@ -51,7 +51,6 @@ export class SubstrateController { private readonly labService: LabService, private readonly serviceService: ServiceService, private readonly orderService: OrderService, - private readonly gCloudSecretManagerService: GCloudSecretManagerService, private readonly serviceRequestService: ServiceRequestService, private readonly geneticAnalysisService: GeneticAnalysisService, private readonly geneticAnalysisOrderService: GeneticAnalysisOrderService, @@ -407,7 +406,7 @@ export class SubstrateController { ) { if ( debioApiKey !== - this.gCloudSecretManagerService.getSecret('DEBIO_API_KEY').toString() + config.DEBIO_API_KEY.toString() ) { return response.status(401).send('debio-api-key header is required'); } @@ -444,7 +443,7 @@ export class SubstrateController { if ( debioApiKey != - this.gCloudSecretManagerService.getSecret('DEBIO_API_KEY').toString() + config.DEBIO_API_KEY.toString() ) { return response.status(401).send('debio-api-key header is required'); } diff --git a/src/endpoints/verification/verification.controller.ts b/src/endpoints/verification/verification.controller.ts index 50fbe5dc..3b653c24 100644 --- a/src/endpoints/verification/verification.controller.ts +++ b/src/endpoints/verification/verification.controller.ts @@ -1,4 +1,3 @@ -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; import { Body, Controller, @@ -16,12 +15,12 @@ import { SentryInterceptor } from '../../common'; import { VerificationService } from './verification.service'; import { VerificationStatus } from '@debionetwork/polkadot-provider/lib/primitives'; import { HealthProfessionalRegisterDTO } from './dto/health-professional.dto'; +import { config } from 'src/config'; @UseInterceptors(SentryInterceptor) @Controller('verification') export class VerificationController { constructor( - private readonly gCloudSecretManagerService: GCloudSecretManagerService, private readonly verificationService: VerificationService, ) {} @@ -41,7 +40,7 @@ export class VerificationController { try { if ( debioApiKey != - this.gCloudSecretManagerService.getSecret('DEBIO_API_KEY').toString() + config.DEBIO_API_KEY.toString() ) { return response.status(401).send('debio-api-key header is required'); } @@ -77,7 +76,7 @@ export class VerificationController { try { if ( debioApiKey != - this.gCloudSecretManagerService.getSecret('DEBIO_API_KEY').toString() + config.DEBIO_API_KEY.toString() ) { return response.status(401).send('debio-api-key header is required'); } @@ -104,7 +103,7 @@ export class VerificationController { ) { if ( debioApiKey != - this.gCloudSecretManagerService.getSecret('DEBIO_API_KEY').toString() + config.DEBIO_API_KEY.toString() ) { throw new HttpException( { diff --git a/src/endpoints/verification/verification.module.ts b/src/endpoints/verification/verification.module.ts index 538c52a4..bd847d75 100644 --- a/src/endpoints/verification/verification.module.ts +++ b/src/endpoints/verification/verification.module.ts @@ -7,22 +7,20 @@ import { VerificationService } from './verification.service'; import { TypeOrmModule } from '@nestjs/typeorm'; import { MyriadAccount } from '@endpoints/myriad/models/myriad-account.entity'; import * as redisStore from 'cache-manager-redis-store'; -import { GCloudSecretManagerService } from '@debionetwork/nestjs-gcloud-secret-manager'; -import { keyList } from '@common/secrets'; import { MyriadModule } from '@endpoints/myriad/myriad.module'; +import { config } from 'src/config'; @Module({ imports: [ CacheModule.registerAsync({ - inject: [GCloudSecretManagerService], + inject: [], useFactory: async ( - gCloudSecretManagerService: GCloudSecretManagerService, ) => { return { store: redisStore, - host: gCloudSecretManagerService.getSecret('REDIS_HOST'), - port: gCloudSecretManagerService.getSecret('REDIS_PORT'), - auth_pass: gCloudSecretManagerService.getSecret('REDIS_PASSWORD'), + host: config.REDIS_HOST, + port: config.REDIS_PORT, + auth_pass: config.REDIS_PASSWORD, ttl: 2 * 60 * 60, }; },