FIX: get frontend url

This commit is contained in:
Gabriel Rosa
2023-12-07 11:01:38 -03:00
parent 86b076246e
commit 695fac97e9
3 changed files with 25 additions and 13 deletions
+1
View File
@@ -4,6 +4,7 @@ declare global {
NODE_ENV: 'test';
ENV: 'local' | 'stg' | 'prd' | 'test';
LOCAL_ENV: 'stg' | 'prd';
CLOUD_ENVIRONMENT: 'aws' | 'gcp' | 'mgc';
DUC_URL: string;
INFACTORY_URL: string;
+4 -13
View File
@@ -52,6 +52,7 @@ import jwt from 'jsonwebtoken';
import { LanguageEnum } from 'src/utils/languages.enum';
import { Language } from 'src/decorators/language.decorator';
import { ApiInternalOnlyEndpoint } from 'src/decorators/swagger.decorator';
import { getFrontendUrl } from 'src/utils/getFrontendBaseUrl';
@ApiTags('Auth')
@ApiHeaders([{ name: 'dadosfera-lang', enum: LanguageEnum, required: false }])
@@ -59,7 +60,7 @@ import { ApiInternalOnlyEndpoint } from 'src/decorators/swagger.decorator';
@Controller('auth')
export class AuthController {
logger: DadosferaLogger;
redirectUrl: string;
frontendRedirectUrl: URL;
constructor(
@Inject(DadosferaLogger)
@@ -67,17 +68,7 @@ export class AuthController {
private authClient: AuthClientService,
) {
this.logger = dadosferaLogger.logger;
switch (process.env.ENV) {
case 'stg':
this.redirectUrl = `https://app.${process.env.ENV}.dadosfera.ai/auth/login`;
break;
case 'prd':
this.redirectUrl = `https://app.dadosfera.ai/auth/login`;
break;
default:
this.redirectUrl = `http://localhost:4200/auth/login`;
}
this.frontendRedirectUrl = getFrontendUrl('/auth/login');
}
@Post('sign-in')
@@ -377,7 +368,7 @@ export class AuthController {
async callback(req: Request, oauth_type?: 'google' | 'magalu-id') {
const { error, state } = req.query;
const { authInfo } = req;
const url = new URL(this.redirectUrl);
const url = this.frontendRedirectUrl;
let email, token, refreshToken, error_title, error_description;
let language: 'pt-br' | 'en-us' = 'pt-br';
+20
View File
@@ -0,0 +1,20 @@
import getEnv from './getEnv';
export function getFrontendUrl(path?: string): URL {
const frontendUrl = new URL('https://app.dadosfera.ai');
if (path) frontendUrl.pathname = path;
const env = getEnv();
if (process.env.ENV === 'local') {
frontendUrl.protocol = 'http';
frontendUrl.host = 'localhost:4200';
return frontendUrl;
}
if (process.env.CLOUD_ENVIRONMENT === 'mgc')
frontendUrl.host = 'app.dadosfera.com';
if (env !== 'prd')
frontendUrl.host = frontendUrl.host.replace('app.', `app.${env}.`);
return frontendUrl;
}