Compare commits

...
14 Commits
8 changed files with 79 additions and 19 deletions
+26 -1
View File
@@ -79,6 +79,16 @@
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthRefreshAccessTokenReq"
}
}
}
},
"responses": {
"200": {
"description": "",
@@ -3287,7 +3297,7 @@
}
},
"info": {
"title": "Maestro - feat/upload-csv",
"title": "Maestro - fix/refresh-token",
"description": "Documentation for Maestro gateway",
"version": "1.0.0",
"contact": {}
@@ -3473,6 +3483,21 @@
"mfaStatus"
]
},
"AuthRefreshAccessTokenReq": {
"type": "object",
"properties": {
"refreshToken": {
"type": "string"
},
"customerName": {
"type": "string"
}
},
"required": [
"refreshToken",
"customerName"
]
},
"CreateConnectorDto": {
"type": "object",
"properties": {
+7 -7
View File
@@ -12,7 +12,7 @@
"dependencies": {
"@aws-sdk/client-secrets-manager": "^3.112.0",
"@dadosfera/dadosfera-logs": "^1.0.0-beta.4",
"@dadosfera/protospack-v2": "3.23.0",
"@dadosfera/protospack-v2": "3.24.0",
"@grpc/grpc-js": "^1.6.7",
"@grpc/proto-loader": "^0.6.13",
"@nestjs/common": "^8.4.7",
@@ -1727,9 +1727,9 @@
}
},
"node_modules/@dadosfera/protospack-v2": {
"version": "3.23.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.23.0.tgz",
"integrity": "sha512-pe2s7aJYaNlUhQ+QoMGkJoFjTS8Dh+xSgUClSJuCsTia17oidRAucfpeMUX9ws1a3+tDrXTpH519CxeHzuZQPA==",
"version": "3.24.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.24.0.tgz",
"integrity": "sha512-CZmRK2shS8y7t6F2e1PSe8T+GgQJVXQPNYmcBqeWfb/ZmfL9zS2dDCACqbJpzBg2nmEneznYtpTw4nfH8n3utw==",
"dependencies": {
"@grpc/grpc-js": "^1.6.7",
"rxjs": "^7.5.5",
@@ -12324,9 +12324,9 @@
}
},
"@dadosfera/protospack-v2": {
"version": "3.23.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.23.0.tgz",
"integrity": "sha512-pe2s7aJYaNlUhQ+QoMGkJoFjTS8Dh+xSgUClSJuCsTia17oidRAucfpeMUX9ws1a3+tDrXTpH519CxeHzuZQPA==",
"version": "3.24.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.24.0.tgz",
"integrity": "sha512-CZmRK2shS8y7t6F2e1PSe8T+GgQJVXQPNYmcBqeWfb/ZmfL9zS2dDCACqbJpzBg2nmEneznYtpTw4nfH8n3utw==",
"requires": {
"@grpc/grpc-js": "^1.6.7",
"rxjs": "^7.5.5",
+1 -1
View File
@@ -28,7 +28,7 @@
"dependencies": {
"@aws-sdk/client-secrets-manager": "^3.112.0",
"@dadosfera/dadosfera-logs": "^1.0.0-beta.4",
"@dadosfera/protospack-v2": "3.23.0",
"@dadosfera/protospack-v2": "3.24.0",
"@grpc/grpc-js": "^1.6.7",
"@grpc/proto-loader": "^0.6.13",
"@nestjs/common": "^8.4.7",
+13 -5
View File
@@ -11,7 +11,6 @@ import {
} from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import {
AuthRefreshAccessTokenRequest,
AuthChangePasswordRequest,
AuthResetPasswordRequest,
AuthVerifyResetPasswordCodeRequest,
@@ -31,7 +30,12 @@ import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { GrpcToHttpExceptionFilter } from '../../error/grpc-to-http-exception.filter';
import { RequestUser, User } from 'src/authentication/user.decorator';
import { Metadata } from '@grpc/grpc-js';
import { AuthSignInReq, AuthSignInRes } from './dtos/login';
import {
AuthRefreshAccessTokenReq,
AuthSignInReq,
AuthSignInRes,
} from './dtos/login';
import { PackTheMetadata } from 'src/utils/ PackTheMetadata';
@ApiTags('Auth')
@UseFilters(new GrpcToHttpExceptionFilter())
@@ -77,12 +81,16 @@ export class AuthController {
@Post('refresh-access-token')
@HttpCode(HttpStatus.OK)
async refreshAccessToken(
@Body() { refreshToken }: AuthRefreshAccessTokenRequest,
@Body()
{ refreshToken, customerName: customer_name }: AuthRefreshAccessTokenReq,
@Headers('Dadosfera-Lang') language: string,
) {
this.logger.info('/auth - RefreshAccessToken');
const metadata = new Metadata();
metadata.add('language', language || 'pt-br');
const metadata = PackTheMetadata({
customer_name,
language,
});
return this.authClient.refreshAccessToken({ refreshToken }, metadata);
}
+7
View File
@@ -97,3 +97,10 @@ export class AuthSignInRes implements AuthSignInResponse {
@ApiPropertyOptional()
termsOfUse?: TermsOfUseStatus;
}
export class AuthRefreshAccessTokenReq {
@ApiProperty()
refreshToken: string;
@ApiProperty()
customerName: string;
}
@@ -164,11 +164,15 @@ export class ConnectionController {
@Headers('Dadosfera-Lang') language,
@User() user: RequestUser,
@Param('id') id,
@Query('details') details,
@Query() queries,
): Promise<ConnectionDetailsRes> {
this.logger.info('/connections - Get Connection Details');
if (!language) language = 'en-us';
console.log(queries);
const { details, sensitive } = queries;
const { user_id, customer_id, customer_name, username } = user;
const metadata = PackTheMetadata({
user_id,
@@ -177,6 +181,7 @@ export class ConnectionController {
username,
details,
language,
sensitive,
});
const response: any = await this.clientService.getConnectionDetails({
@@ -15,6 +15,7 @@ import {
Patch,
UseInterceptors,
UploadedFile,
HttpException,
} from '@nestjs/common';
import {
ApiConsumes,
@@ -265,8 +266,15 @@ export class PipelinesController {
) {
this.logger.info('/upload - Upload Connector Route');
const metadata = PackTheMetadata({ ...user });
let name = `${new Date().getTime()}_${file.originalname.split('.')[0]}`;
const parts_of_file_name = file.originalname.split('.');
const file_format = parts_of_file_name.pop();
const file_name = parts_of_file_name.join('.');
let name = `${new Date().getTime()}_${file_name}`;
body.name ? (name = `${new Date().getTime()}_${body.name}`) : name;
const source_prefix = `${user.customer_name}/${name}.${file_format}`;
const response = await this.pipelinesClientService.uploadFile(
{
file,
@@ -275,9 +283,15 @@ export class PipelinesController {
metadata,
);
const { sep, header, encoding, description } = body;
if (!response.url) {
this.logger.info('pipeline/upload - Failed File pipeline');
throw new HttpException(
'Upload failed, try again in a few minutes, if the problem persists, contact support.',
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
const [file_name, file_format] = file.originalname.split('.');
const { sep, header, encoding, description } = body;
const upload_pipeline = {
connection_id: process.env.UPLOAD_FILE_AGENT_CONNECTION,
@@ -294,7 +308,7 @@ export class PipelinesController {
properties: {
engine: 'csv',
source_bucket: process.env.BUCKET_CUSTOMER_CSV_ASSETS,
source_prefix: `${user.customer_name}/${name}.${file_format}`,
source_prefix,
file_format_params: { sep, encoding, header: Boolean(header) },
is_a_upload_csv: true,
},
+1
View File
@@ -7,6 +7,7 @@ interface IMetadata {
user_id?: string;
language?: string;
details?: string;
sensitive?: string;
roles?: string[];
is_data_manager?: boolean;
}