diff --git a/.env.dev b/.env.dev index c5e0d66..bc159cc 100644 --- a/.env.dev +++ b/.env.dev @@ -4,6 +4,9 @@ HOST=0.0.0.0 PORT=3000 TRANSPORT_PORT=5000 +#GLOBAL +GLOBAL_PREFIX_V1=matrix-core/api/v1 + #SWAGGER SWAGGER_PATH=swagger SWAGGER_TITLE= diff --git a/package.json b/package.json index de5d3b0..69891b4 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ }, "homepage": "https://github.com/QuantaVerse/matrix-core#readme", "volta": { - "node": "14.15.3", + "node": "14.15.4", "npm": "6.14.10" } } diff --git a/scripts/dev/pg_init.sql b/scripts/dev/pg_init.sql index 98985c4..2a0e009 100644 --- a/scripts/dev/pg_init.sql +++ b/scripts/dev/pg_init.sql @@ -1,18 +1,18 @@ DO $do$ BEGIN - IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'admin') THEN - CREATE ROLE admin WITH - LOGIN - SUPERUSER - CREATEDB - CREATEROLE - INHERIT - REPLICATION - CONNECTION LIMIT -1 - PASSWORD 'admin@123'; - GRANT pg_execute_server_program, pg_monitor, pg_read_all_settings, pg_read_all_stats, pg_read_server_files, pg_signal_backend TO admin; - END IF; + IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'admin') THEN + CREATE ROLE admin WITH + LOGIN + SUPERUSER + CREATEDB + CREATEROLE + INHERIT + REPLICATION + CONNECTION LIMIT -1 + PASSWORD 'admin@123'; + GRANT pg_execute_server_program, pg_monitor, pg_read_all_settings, pg_read_all_stats, pg_read_server_files, pg_signal_backend TO admin; + END IF; END $do$; diff --git a/src/app.controller.ts b/src/app.controller.ts index f9c9cc7..58ae260 100644 --- a/src/app.controller.ts +++ b/src/app.controller.ts @@ -5,7 +5,7 @@ import { HealthCheckResult } from "@nestjs/terminus/dist/health-check/health-che import { AppService } from "./app.service"; import { CustomLoggerService } from "./shared/services/logger.service"; -@Controller() +@Controller("app/v1") export class AppController { constructor( private readonly _appService: AppService, diff --git a/src/main.ts b/src/main.ts index 1d227bb..1301320 100644 --- a/src/main.ts +++ b/src/main.ts @@ -28,6 +28,9 @@ async function bootstrap() { const configService = app.select(SharedModule).get(ConfigService); const loggerService = await app.select(SharedModule).resolve(CustomLoggerService); + // set global prefix + app.setGlobalPrefix(configService.globalPrefixV1); + // common logger middleware app.useLogger(loggerService); // HTTP request logger middleware diff --git a/src/modules/advisor.sim/advisor.sim.controller.ts b/src/modules/advisor.sim/advisor.sim.controller.ts index 25fd44c..823be0d 100644 --- a/src/modules/advisor.sim/advisor.sim.controller.ts +++ b/src/modules/advisor.sim/advisor.sim.controller.ts @@ -3,7 +3,7 @@ import { Controller, Get } from "@nestjs/common"; import { CustomLoggerService } from "../../shared/services/logger.service"; import { AdvisorSimService } from "./advisor.sim.service"; -@Controller("advisor/simulation") +@Controller("advisor-sim/v1") export class AdvisorSimController { constructor(private readonly simulationService: AdvisorSimService, private logger: CustomLoggerService) { this.logger.setContext(AdvisorSimController.name); diff --git a/src/modules/advisor/advisor.controller.ts b/src/modules/advisor/advisor.controller.ts index 370fd95..eeda0ea 100644 --- a/src/modules/advisor/advisor.controller.ts +++ b/src/modules/advisor/advisor.controller.ts @@ -3,7 +3,7 @@ import { Controller, Get } from "@nestjs/common"; import { CustomLoggerService } from "../../shared/services/logger.service"; import { AdvisorService } from "./advisor.service"; -@Controller("advisor") +@Controller("advisor/v1") export class AdvisorController { constructor(private readonly advisorService: AdvisorService, private logger: CustomLoggerService) { this.logger.setContext(AdvisorController.name); diff --git a/src/modules/advisor/advisor.service.ts b/src/modules/advisor/advisor.service.ts index 6bb0b05..8032369 100644 --- a/src/modules/advisor/advisor.service.ts +++ b/src/modules/advisor/advisor.service.ts @@ -1,7 +1,13 @@ import { Injectable } from "@nestjs/common"; +import { CustomLoggerService } from "../../shared/services/logger.service"; + @Injectable() export class AdvisorService { + constructor(private _logger: CustomLoggerService) { + this._logger.setContext(AdvisorService.name); + } + getHello(): string { return "Hello World!"; } diff --git a/src/shared/services/config.service.ts b/src/shared/services/config.service.ts index d564508..948bc87 100644 --- a/src/shared/services/config.service.ts +++ b/src/shared/services/config.service.ts @@ -40,6 +40,10 @@ export class ConfigService { return getEnvironmentEnum(this.get("NODE_ENV") || "development"); } + public get globalPrefixV1(): string { + return this.get("GLOBAL_PREFIX_V1"); + } + public get swaggerConfig(): ISwaggerConfigInterface { return { path: this.get("SWAGGER_PATH") || "swagger",