UPGRADE: Added LOgs lib

This commit is contained in:
rodrigo.zamboni
2022-06-29 10:50:03 -03:00
parent 3c660738f4
commit 9c124be191
20 changed files with 2456 additions and 285 deletions
+1749 -28
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -39,6 +39,7 @@
"cron-parser": "^4.4.0",
"dadosfera-logs": "^1.0.0-alpha.10",
"dotenv": "^14.2.0",
"elastic-apm-node": "^3.36.0",
"helmet": "^5.0.2",
"jsonwebtoken": "^8.5.1",
"jwk-to-pem": "^2.0.5",
+2
View File
@@ -1,6 +1,7 @@
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { ClientsModule } from '@nestjs/microservices';
import { ConfigModule } from '@nestjs/config';
import { DadosferaLogger } from 'dadosfera-logs';
import { LoggerMiddleware } from './middlewares/authentication';
@@ -49,6 +50,7 @@ const transformationClient = new TransformationsClientConfiguration();
CatalogController,
],
providers: [
DadosferaLogger,
InputsService,
TransformationsService,
OutputsService,
+176 -61
View File
@@ -1,5 +1,6 @@
import { OnModuleInit, Inject } from '@nestjs/common';
import { ClientGrpc } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import {
DucServicesNames,
@@ -20,9 +21,14 @@ import {
export class AuthClientService implements OnModuleInit {
private authService: AuthServiceInterface;
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
@Inject('AUTH_PACKAGE') private readonly grpcClient: ClientGrpc,
) {}
) {
this.logger = dadosferaLogger.logger;
}
onModuleInit() {
this.authService = this.grpcClient.getService<AuthServiceInterface>(
@@ -31,43 +37,62 @@ export class AuthClientService implements OnModuleInit {
}
async signIn({ username, password, totp }: AuthSignInRequest): Promise<any> {
console.log('AuthClientService', 'SignIn');
this.logger.info('AuthClientService - SignIn');
return new Promise((resolve, reject) => {
const signInResponse = await new Promise((resolve, reject) => {
this.authService.signIn({ username, password, totp }).subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
//console.log('done');
},
});
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return signInResponse;
}
async enableTotpMFA({
accessToken,
password,
}: AuthEnableTotpMfaRequest): Promise<any> {
console.log('AuthClientService', 'enableTotpMFA');
this.logger.info('AuthClientService - enableTotpMFA');
return new Promise((resolve, reject) => {
const enableTotpMFAResponse = await new Promise((resolve, reject) => {
this.authService.enableTotpMfa({ accessToken, password }).subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
//console.log('done');
},
});
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return enableTotpMFAResponse;
}
async disableTotpMFA({
accessToken,
password,
}: AuthDisableTotpMfaRequest): Promise<any> {
console.log('AuthClientService', 'disableTotpMFA');
this.logger.info('AuthClientService - disableTotpMFA');
return new Promise((resolve, reject) => {
const disableTotpMFAResponse = await new Promise((resolve, reject) => {
this.authService.disableTotpMfa({ accessToken, password }).subscribe({
next: resolve,
error: (err) => reject(err.details),
@@ -75,47 +100,77 @@ export class AuthClientService implements OnModuleInit {
console.log('done');
},
});
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return disableTotpMFAResponse;
}
async dismissTotpMFA({
accessToken,
}: AuthDismissTotpMfaRequest): Promise<any> {
console.log('AuthClientService', 'dismissTotpMFA');
this.logger.info('AuthClientService - dismissTotpMFA');
return new Promise((resolve, reject) => {
const dismissTotpMFAResponse = await new Promise((resolve, reject) => {
this.authService.dismissTotpMfa({ accessToken }).subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
//console.log('done');
},
});
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return dismissTotpMFAResponse;
}
async verifyTotp({
accessToken,
totp,
}: AuthVerifyTotpMfaRequest): Promise<any> {
console.log('AuthClientService', 'disableTotpMFA');
this.logger.info('AuthClientService - disableTotpMFA');
return new Promise((resolve, reject) => {
const verifyTotpResponse = await new Promise((resolve, reject) => {
this.authService.verifyTotp({ accessToken, totp }).subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
//console.log('done');
},
});
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return verifyTotpResponse;
}
async confirmRegister({
username,
code,
}: AuthConfirmationRequest): Promise<any> {
console.log('AuthClientService', 'confirmRegister');
this.logger.info('AuthClientService - confirmRegister');
const tokens = await new Promise((resolve, reject) => {
this.authService.confirmRegister({ username, code }).subscribe({
@@ -123,16 +178,19 @@ export class AuthClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
//console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return tokens;
@@ -141,7 +199,7 @@ export class AuthClientService implements OnModuleInit {
async resendeConfirmationCode({
username,
}: AuthResendConfirmationCodeRequest): Promise<any> {
console.log('AuthClientService', 'resendConfirmationCode');
this.logger.info('AuthClientService - resendConfirmationCode');
const authResendConfirmationCodeRequestReturn = await new Promise(
(resolve, reject) => {
@@ -150,17 +208,20 @@ export class AuthClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
//console.log('done');
},
});
},
)
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return authResendConfirmationCodeRequestReturn;
@@ -169,17 +230,27 @@ export class AuthClientService implements OnModuleInit {
async refreshAccessToken({
refreshToken,
}: AuthRefreshAccessTokenRequest): Promise<any> {
console.log('AuthClientService', 'RefreshAccessToken');
this.logger.info('AuthClientService - RefreshAccessToken');
return new Promise((resolve, reject) => {
const refreshAccessTokenResponse = await new Promise((resolve, reject) => {
this.authService.refreshAccessToken({ refreshToken }).subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
//console.log('done');
},
});
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return refreshAccessTokenResponse;
}
async changePassword({
@@ -187,9 +258,9 @@ export class AuthClientService implements OnModuleInit {
oldPassword,
newPassword,
}: AuthChangePasswordRequest): Promise<any> {
console.log('AuthClientService', 'ChangePassword');
this.logger.info('AuthClientService - ChangePassword');
return new Promise((resolve, reject) => {
const changePasswordResponse = await new Promise((resolve, reject) => {
this.authService
.changePassword({
accessToken,
@@ -200,41 +271,73 @@ export class AuthClientService implements OnModuleInit {
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
//console.log('done');
},
});
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return changePasswordResponse;
}
async resetPassword({ username }: AuthResetPasswordRequest): Promise<any> {
console.log('AuthClientService', 'resetPassword');
this.logger.info('AuthClientService - resetPassword');
return new Promise((resolve, reject) => {
const resetPasswordResponse = await new Promise((resolve, reject) => {
this.authService.resetPassword({ username }).subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
//console.log('done');
},
});
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return resetPasswordResponse;
}
async verifyResetPasswordCode({
username,
code,
}: AuthVerifyResetPasswordCodeRequest): Promise<any> {
console.log('AuthClientService', 'verifyResetPasswordCode');
this.logger.info('AuthClientService - verifyResetPasswordCode');
return new Promise((resolve, reject) => {
this.authService.verifyResetPasswordCode({ username, code }).subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
},
const verifyResetPasswordCodeResponse = await new Promise(
(resolve, reject) => {
this.authService.verifyResetPasswordCode({ username, code }).subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
//console.log('done');
},
});
},
)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
});
return verifyResetPasswordCodeResponse;
}
async confirmResetPassword({
@@ -242,18 +345,30 @@ export class AuthClientService implements OnModuleInit {
code,
newPassword,
}: AuthConfirmResetPasswordRequest): Promise<any> {
console.log('AuthClientService', 'confirmResetPassword');
this.logger.info('AuthClientService - confirmResetPassword');
return new Promise((resolve, reject) => {
this.authService
.confirmResetPassword({ username, code, newPassword })
.subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
},
});
});
const confirmResetPasswordResponse = await new Promise(
(resolve, reject) => {
this.authService
.confirmResetPassword({ username, code, newPassword })
.subscribe({
next: resolve,
error: (err) => reject(err.details),
complete() {
console.log('done');
},
});
},
)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err);
throw new Error(err);
});
return confirmResetPasswordResponse;
}
}
+46 -26
View File
@@ -22,13 +22,19 @@ import {
objectSnakeToCamel,
} from 'src/utils/CaseConverter';
import { mustache } from 'src/utils/mustache';
import { DadosferaLogger } from 'dadosfera-logs';
import { IIdRequest, UpdateInputRequest } from './interfaces';
export class InputsClientService implements OnModuleInit {
private inputService: InputService;
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
@Inject('INPUTS_PACKAGE') private readonly grpcClient: ClientGrpc,
) {}
) {
this.logger = dadosferaLogger.logger;
}
onModuleInit() {
this.inputService =
@@ -36,7 +42,7 @@ export class InputsClientService implements OnModuleInit {
}
async newCreate(createInputDto: InputNewCreateRequest) {
console.log('InputClientService', 'Create');
this.logger.info('InputClientService - Create');
const input = await lastValueFrom(
this.inputService.NewCreate(objectSnakeToCamel(createInputDto)),
@@ -46,7 +52,7 @@ export class InputsClientService implements OnModuleInit {
}
async createGeneric(createInputGeneric) {
console.log('InputClientService', 'Create');
this.logger.info('InputClientService - Create');
const { info, ...data } = createInputGeneric;
data.credentials = await this.getInputTokens(data);
if (data.options) delete data.options;
@@ -66,23 +72,24 @@ export class InputsClientService implements OnModuleInit {
}
async createS3Inputs(createInputDto: InputCreateS3Request) {
console.log('InputClientService', 'Create');
this.logger.info('InputClientService - Create');
objectSnakeToCamel(createInputDto);
const createInputResponse = await lastValueFrom(
this.inputService.CreateS3(createInputDto),
).catch((e) => {
throw new HttpException(e.details, 500);
});
console.log('done');
this.logger.info('Done');
objectCamelToSnake(createInputResponse);
return createInputResponse;
}
async findOne(data: IIdRequest) {
console.log('InputClientService', 'FindOne');
this.logger.info('InputClientService - FindOne');
const findOneInputResponse = await lastValueFrom(
this.inputService.FindOne(objectSnakeToCamel(data)),
).catch((e) => {
this.logger.error(e.details);
throw new HttpException(e.details, HttpStatus.INTERNAL_SERVER_ERROR);
});
objectCamelToSnake(findOneInputResponse);
@@ -90,10 +97,11 @@ export class InputsClientService implements OnModuleInit {
}
async findAll(data) {
console.log('InputClientService', 'FindAll');
this.logger.info('InputClientService - FindAll');
const findAllInputResponse = await lastValueFrom(
this.inputService.FindAll(objectSnakeToCamel(data)),
).catch((e) => {
this.logger.error(e.details);
throw new HttpException(e.details, HttpStatus.INTERNAL_SERVER_ERROR);
});
findAllInputResponse.inputs.forEach((input) => objectCamelToSnake(input));
@@ -102,23 +110,26 @@ export class InputsClientService implements OnModuleInit {
}
async update(updateInputDTO: UpdateInputRequest) {
console.log('InputClientService', 'Update');
this.logger.info('InputClientService - Update');
const updateInputResponse = await new Promise((resolve, reject) => {
this.inputService.Update(objectSnakeToCamel(updateInputDTO)).subscribe({
next(x) {
resolve(objectCamelToSnake(x));
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -126,7 +137,7 @@ export class InputsClientService implements OnModuleInit {
}
async remove(idRequest: IIdRequest) {
console.log('InputClientService', 'Remove');
this.logger.info('InputClientService - Remove');
const removeInputResponse = await new Promise((resolve, reject) => {
this.inputService.Remove(objectSnakeToCamel(idRequest)).subscribe({
@@ -134,16 +145,19 @@ export class InputsClientService implements OnModuleInit {
resolve(objectCamelToSnake(x));
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -151,23 +165,26 @@ export class InputsClientService implements OnModuleInit {
}
async testConnection(data: TestConnectionRequest) {
console.log('InputClientService', 'TestConnection');
this.logger.info('InputClientService - TestConnection');
const testConnectionResponse = await new Promise((resolve, reject) => {
this.inputService.NewTestConnection(objectSnakeToCamel(data)).subscribe({
next(x) {
resolve(objectCamelToSnake(x));
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -175,23 +192,26 @@ export class InputsClientService implements OnModuleInit {
}
async getColumns(data: TestConnectionGetColumnsRequest) {
console.log('InputClientService', 'TestConnection/Get-Columns');
this.logger.info('InputClientService - TestConnection/Get-Columns');
const getColumnsResponse = await new Promise((resolve, reject) => {
this.inputService.GetColumns(objectSnakeToCamel(data)).subscribe({
next(x) {
resolve(objectCamelToSnake(x));
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -240,7 +260,7 @@ export class InputsClientService implements OnModuleInit {
const { data } = await axios
.post(options.oauth.get_tokens_url, requestParams)
.catch((err) => {
console.log(err.response.data);
this.logger.info(err.response.data);
throw new HttpException(
err.response.data.message,
err.response.status,
@@ -261,12 +281,12 @@ export class InputsClientService implements OnModuleInit {
// }
async getAvailableEntities(data) {
console.log('InputClientService', 'GetAvailableEntities');
this.logger.info('InputClientService - GetAvailableEntities');
objectSnakeToCamel(data);
const response = await lastValueFrom(
this.inputService.GetAvailableEntities(data),
).catch((err) => {
console.log(err);
this.logger.info(err.details);
if (err.details && err.details.includes('400'))
throw new HttpException('Plugin inválido', HttpStatus.BAD_REQUEST);
throw new HttpException(err.details, HttpStatus.INTERNAL_SERVER_ERROR);
+2
View File
@@ -31,6 +31,8 @@ interface Cron {
export interface Info {
costumer_id: string;
user_id: string;
customer: string;
customer_tier: string;
}
export interface ICreateInputRequest {
+42 -21
View File
@@ -1,5 +1,6 @@
import { Controller, Inject, OnModuleInit } from '@nestjs/common';
import { ClientGrpc, Payload } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import {
OutputServicesNames,
OutputsServiceInterface,
@@ -17,9 +18,14 @@ import {
@Controller('output')
export class OutputsClientService implements OnModuleInit {
private outputService: OutputsServiceInterface;
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
@Inject('OUTPUTS_PACKAGE') private readonly grpcClient: ClientGrpc,
) {}
) {
this.logger = dadosferaLogger.logger;
}
onModuleInit() {
this.outputService = this.grpcClient.getService<OutputsServiceInterface>(
@@ -28,7 +34,7 @@ export class OutputsClientService implements OnModuleInit {
}
async create(@Payload() createOutputDto: ICreateOutputRequest) {
console.log('OutputClientService', 'Create');
this.logger.info('OutputClientService - Create');
const createOutputResponse = await new Promise((resolve, reject) => {
this.outputService.Create(objectSnakeToCamel(createOutputDto)).subscribe({
@@ -36,16 +42,19 @@ export class OutputsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -55,7 +64,7 @@ export class OutputsClientService implements OnModuleInit {
}
async findAll(data) {
console.log('OutputClientService', 'FindAll');
this.logger.info('OutputClientService - FindAll');
const findAllOutputResponse = await new Promise((resolve, reject) => {
this.outputService.FindAll(objectSnakeToCamel(data)).subscribe({
@@ -63,16 +72,19 @@ export class OutputsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -84,7 +96,7 @@ export class OutputsClientService implements OnModuleInit {
}
async findOne(data: IIdRequest) {
console.log('OutputClientService', 'FindOne');
this.logger.info('OutputClientService - FindOne');
const findOneOutputResponse = await new Promise((resolve, reject) => {
this.outputService.FindOne(objectSnakeToCamel(data)).subscribe({
@@ -92,16 +104,19 @@ export class OutputsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -109,7 +124,7 @@ export class OutputsClientService implements OnModuleInit {
}
async update(updateOutPutDTO: IOutputUpdateRequest) {
console.log('OutputClientService', 'Update');
this.logger.info('OutputClientService - Update');
const updateOutputResponse = await new Promise((resolve, reject) => {
this.outputService.Update(objectSnakeToCamel(updateOutPutDTO)).subscribe({
@@ -117,16 +132,19 @@ export class OutputsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -134,7 +152,7 @@ export class OutputsClientService implements OnModuleInit {
}
async remove(data: IIdRequest) {
console.log('OutputClientService', 'Remove');
this.logger.info('OutputClientService - Remove');
const removeOutputResponse = await new Promise((resolve, reject) => {
this.outputService.Remove(objectSnakeToCamel(data)).subscribe({
@@ -142,16 +160,19 @@ export class OutputsClientService implements OnModuleInit {
resolve(objectCamelToSnake(x));
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
+66 -33
View File
@@ -1,4 +1,5 @@
import { HttpException, Inject, OnModuleInit } from '@nestjs/common';
import { DadosferaLogger } from 'dadosfera-logs';
import { ClientGrpc, Payload } from '@nestjs/microservices';
import {
PipelineServicesNames,
@@ -17,9 +18,14 @@ import {
export class PipelinesClientService implements OnModuleInit {
private pipelineService: PipelinesServiceInterface;
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
@Inject('PIPELINES_PACKAGE') private readonly grpcClient: ClientGrpc,
) {}
) {
this.logger = dadosferaLogger.logger;
}
onModuleInit() {
this.pipelineService =
@@ -29,7 +35,7 @@ export class PipelinesClientService implements OnModuleInit {
}
async create(@Payload() createPipelineDto: ICreatePipelineDto) {
console.log('PipelinesClientService', 'Create');
this.logger.info('PipelinesClientService - Create');
const createPipelineResponse = await new Promise((resolve, reject) => {
this.pipelineService
@@ -39,16 +45,19 @@ export class PipelinesClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
if (err.details == 'Invalid Request') {
throw new HttpException(err.details, 400);
}
@@ -59,24 +68,26 @@ export class PipelinesClientService implements OnModuleInit {
}
async findAll(data: IIdRequest) {
console.log('PipelinesClientService', 'FindAll');
this.logger.info('PipelinesClientService - FindAll');
const findAllPipelineResponse = await new Promise((resolve, reject) => {
this.pipelineService.FindAll(objectSnakeToCamel(data)).subscribe({
next(x) {
resolve(x.pipelines);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -84,7 +95,7 @@ export class PipelinesClientService implements OnModuleInit {
}
async findOne(data: IIdRequest) {
console.log('PipelinesClientService', 'FindOne');
this.logger.info('PipelinesClientService - FindOne');
const findOnePipelineResponse = await new Promise((resolve, reject) => {
this.pipelineService.FindOne(objectSnakeToCamel(data)).subscribe({
@@ -92,16 +103,19 @@ export class PipelinesClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -109,7 +123,7 @@ export class PipelinesClientService implements OnModuleInit {
}
async update(UpdatePipelineRequest: IUpdatePipelineRequest) {
console.log('PipelinesClientService', 'Update');
this.logger.info('PipelinesClientService - Update');
const updatePipelineResponse = await new Promise((resolve, reject) => {
this.pipelineService
@@ -119,7 +133,6 @@ export class PipelinesClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
@@ -127,8 +140,12 @@ export class PipelinesClientService implements OnModuleInit {
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -136,7 +153,7 @@ export class PipelinesClientService implements OnModuleInit {
}
async remove(data: IIdRequest) {
console.log('PipelinesClientService', 'Remove');
this.logger.info('PipelinesClientService - Remove');
const removePipelineResponse = await new Promise((resolve, reject) => {
this.pipelineService.remove(objectSnakeToCamel(data)).subscribe({
@@ -144,16 +161,20 @@ export class PipelinesClientService implements OnModuleInit {
resolve(objectCamelToSnake(x));
},
error(err) {
console.log('Observable Error');
this.logger.error('Observable Error');
reject(err);
},
complete() {
console.log('done');
this.logger.info('Done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -161,7 +182,7 @@ export class PipelinesClientService implements OnModuleInit {
}
async getPipelineLogsMessages(data: IGetPipelineLogsRequest) {
console.log('PipelinesClientService', 'GetPipelineLogsMessages');
this.logger.info('PipelinesClientService - GetPipelineLogsMessages');
const logsPipelineResponse = await new Promise((resolve, reject) => {
this.pipelineService.getPipelineLogs(data).subscribe({
@@ -169,16 +190,20 @@ export class PipelinesClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
this.logger.error('Observable Error');
reject(err);
},
complete() {
console.log('done');
this.logger.info('Done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -186,7 +211,7 @@ export class PipelinesClientService implements OnModuleInit {
}
async getPipelineStatus(data) {
console.log('PipelinesClientService', 'GetPipelineStatus');
this.logger.info('PipelinesClientService - GetPipelineStatus');
const statusPipelineResponse = await new Promise((resolve, reject) => {
this.pipelineService
@@ -203,16 +228,20 @@ export class PipelinesClientService implements OnModuleInit {
resolve({ status: statusArray });
},
error(err) {
console.log('Observable Error');
this.logger.error('Observable Error');
reject(err);
},
complete() {
console.log('done');
this.logger.info('Done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -220,7 +249,7 @@ export class PipelinesClientService implements OnModuleInit {
}
async runPipeline({ id, info }: IIdRequest) {
console.log('PipelinesClientService', 'RunPipeline');
this.logger.info('PipelinesClientService - RunPipeline');
const statusPipelineResponse = await new Promise((resolve, reject) => {
this.pipelineService
.triggerPipeline(objectSnakeToCamel({ id, info }))
@@ -234,16 +263,20 @@ export class PipelinesClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
this.logger.error('Observable Error');
reject(err);
},
complete() {
console.log('done');
this.logger.info('Done');
},
});
})
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
+42 -21
View File
@@ -1,6 +1,7 @@
import { Controller, Inject, OnModuleInit, Post } from '@nestjs/common';
import { ClientGrpc } from '@nestjs/microservices';
import { TransformationsServiceInterface } from '@victorradael/protospack';
import { DadosferaLogger } from 'dadosfera-logs';
import {
objectCamelToSnake,
objectSnakeToCamel,
@@ -10,9 +11,14 @@ import { ICreateTransformationsRequest, IIdRequest } from './interfaces';
@Controller('transformation')
export class TransformationsClientService implements OnModuleInit {
private transformationService: TransformationsServiceInterface;
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
@Inject('TRANSFORMATIONS_PACKAGE') private readonly grpcClient: ClientGrpc,
) {}
) {
this.logger = dadosferaLogger.logger;
}
onModuleInit() {
this.transformationService =
@@ -23,7 +29,7 @@ export class TransformationsClientService implements OnModuleInit {
@Post()
async create(createTransformationsDto: ICreateTransformationsRequest) {
console.log('TransformationClientService', 'Create');
this.logger.info('TransformationClientService - Create');
const createTransformationResponse = await new Promise(
(resolve, reject) => {
@@ -34,17 +40,20 @@ export class TransformationsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
},
)
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -58,7 +67,7 @@ export class TransformationsClientService implements OnModuleInit {
}
async findAll(data) {
console.log('TransformationClientService', 'FindAll');
this.logger.info('TransformationClientService - FindAll');
const findAllTransformationResponse = await new Promise(
(resolve, reject) => {
@@ -67,17 +76,20 @@ export class TransformationsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
},
)
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
const convertedTransforms = findAllTransformationResponse[
@@ -89,7 +101,7 @@ export class TransformationsClientService implements OnModuleInit {
}
async findOne(data: IIdRequest) {
console.log('TransformationClientService', 'FindOne');
this.logger.info('TransformationClientService - FindOne');
const findOneTransformationResponse = await new Promise(
(resolve, reject) => {
@@ -98,17 +110,20 @@ export class TransformationsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
},
)
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -116,7 +131,7 @@ export class TransformationsClientService implements OnModuleInit {
}
async update(updateTransformationDTO) {
console.log('TransformationClientService', 'Update');
this.logger.info('TransformationClientService - Update');
const updateTransformationResponse = await new Promise(
(resolve, reject) => {
@@ -127,17 +142,20 @@ export class TransformationsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
},
)
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
@@ -145,7 +163,7 @@ export class TransformationsClientService implements OnModuleInit {
}
async remove(data: IIdRequest) {
console.log('TransformationClientService', 'Remove');
this.logger.info('TransformationClientService - Remove');
const removeTransformationResponse = await new Promise(
(resolve, reject) => {
@@ -154,17 +172,20 @@ export class TransformationsClientService implements OnModuleInit {
resolve(x);
},
error(err) {
console.log('Observable Error');
reject(err);
},
complete() {
console.log('done');
// console.log('done');
},
});
},
)
.then((res) => res)
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
+29 -1
View File
@@ -1,12 +1,40 @@
import { NestFactory } from '@nestjs/core';
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
import apm from 'elastic-apm-node';
import { writeFileSync } from 'fs';
import helmet from 'helmet';
import { DadosferaLogger } from 'dadosfera-logs';
import { AppModule } from './app.module';
async function bootstrap() {
DadosferaLogger.setupLogger({
serviceName: 'Maestro',
serviceEnvironment: process.env.ENV,
});
const logger = new DadosferaLogger().logger;
const orginalWinstonLog = logger.log.bind(logger);
logger.log = function (...kwargs: any[]) {
if (kwargs[0] in logger.levels) {
if (kwargs[0] == 'error') {
orginalWinstonLog('error', kwargs[2]);
}
} else {
orginalWinstonLog('info', ...kwargs);
}
};
Object.assign(apm, { logger });
apm.start({
serviceName: 'Maestro',
disableSend: true, // This disables sending payloads to APM Server
centralConfig: false, // This disables periodic requests to the APM Server to fetch updated configuration
});
const app = await NestFactory.create(AppModule, {
logger: logger,
cors: {
origin: '*',
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
-1
View File
@@ -36,7 +36,6 @@ export class LoggerMiddleware implements NestMiddleware {
const customer = jwtDecoded.user.customer;
const userId = jwtDecoded.user.id;
const customer_tier = jwtDecoded.user.customer_tier;
await verifyToken(accessToken);
let havePermission = false;
+22 -14
View File
@@ -5,6 +5,7 @@ import {
Post,
HttpCode,
HttpStatus,
Inject,
} from '@nestjs/common';
import {
AuthSignInRequest,
@@ -19,18 +20,25 @@ import {
} from '@victorradael/protospack';
import { AuthClientService } from 'src/clients/auth/client.service';
import { DadosferaLogger } from 'dadosfera-logs';
import ErrorBuilder from '../../utils/ErrorBuilder';
@Controller('auth')
export class AuthController {
constructor(private authClient: AuthClientService) {}
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
private authClient: AuthClientService,
) {
this.logger = dadosferaLogger.logger;
}
// DEPRECADO!
@Post()
@HttpCode(HttpStatus.OK)
async signIn_old(@Body() body: AuthSignInRequest) {
console.log(`/auth`, 'SignIn_old');
this.logger.info(`/auth - SignIn_old`);
return this.signIn(body);
}
@@ -38,7 +46,7 @@ export class AuthController {
@Post('login')
@HttpCode(HttpStatus.OK)
async signIn_login(@Body() body: AuthSignInRequest) {
console.log(`/auth`, 'SignIn_login');
this.logger.info(`/auth - SignIn_login`);
return this.signIn(body);
}
@@ -46,7 +54,7 @@ export class AuthController {
@Post('sign-in')
@HttpCode(HttpStatus.OK)
async signIn(@Body() { username, password, totp }: AuthSignInRequest) {
console.log(`/auth`, 'SignIn');
this.logger.info(`/auth - SignIn`);
const tokens = await this.authClient
.signIn({ username, password, totp })
@@ -62,7 +70,7 @@ export class AuthController {
async refreshAccessToken(
@Body() { refreshToken }: AuthRefreshAccessTokenRequest,
) {
console.log(`/auth`, 'RefreshAccessToken');
this.logger.info(`/auth - RefreshAccessToken`);
const accessToken = await this.authClient
.refreshAccessToken({ refreshToken })
@@ -79,7 +87,7 @@ export class AuthController {
@Body() body: AuthEnableTotpMfaRequest,
@Headers() headers,
) {
console.log(`/auth`, 'enable-totp');
this.logger.info(`/auth - enable-totp`);
const { password } = body;
const { authorization: accessToken } = headers;
@@ -99,7 +107,7 @@ export class AuthController {
@Body() body: AuthDisableTotpMfaRequest,
@Headers() headers,
) {
console.log(`/auth`, 'disable-totp');
this.logger.info(`/auth - disable-totp`);
const { password } = body;
const { authorization: accessToken } = headers;
@@ -116,7 +124,7 @@ export class AuthController {
@Post('dismiss-totp')
@HttpCode(HttpStatus.OK)
async dismissTotpMFA(@Headers() headers) {
console.log(`/auth`, 'disable-totp');
this.logger.info(`/auth - disable-totp`);
const { authorization: accessToken } = headers;
@@ -135,7 +143,7 @@ export class AuthController {
@Body() body: AuthVerifyTotpMfaRequest,
@Headers() headers,
): Promise<any> {
console.log(`/auth`, 'enable-totp');
this.logger.info(`/auth - enable-totp`);
const { totp } = body;
const { authorization: accessToken } = headers;
@@ -155,7 +163,7 @@ export class AuthController {
@Body() body: AuthChangePasswordRequest,
@Headers() headers,
): Promise<any> {
console.log(`/auth`, 'change-password');
this.logger.info(`/auth - change-password`);
const { oldPassword, newPassword } = body;
const { authorization: accessToken } = headers;
@@ -176,7 +184,7 @@ export class AuthController {
@Post('reset-password')
@HttpCode(HttpStatus.OK)
async resetPassword(@Body() body: AuthResetPasswordRequest): Promise<any> {
console.log(`/auth`, 'reset-password');
this.logger.info(`/auth - reset-password`);
const { username } = body;
@@ -194,7 +202,7 @@ export class AuthController {
async verifyResetPasswordCode(
@Body() body: AuthVerifyResetPasswordCodeRequest,
): Promise<any> {
console.log(`/auth`, 'verify-reset-password-code');
this.logger.info(`/auth - verify-reset-password-code`);
const { username, code } = body;
@@ -212,7 +220,7 @@ export class AuthController {
async confirmResetPassword(
@Body() body: AuthConfirmResetPasswordRequest,
): Promise<any> {
console.log(`/auth`, 'confirm-reset-password');
this.logger.info(`/auth - confirm-reset-password`);
const { username, code, newPassword } = body;
+127 -32
View File
@@ -3,19 +3,30 @@ import {
Controller,
Delete,
Get,
Inject,
Param,
Post,
Query,
} from '@nestjs/common';
import { CatalogService } from './catalog.service';
import { DadosferaLogger } from 'dadosfera-logs';
@Controller('catalog')
export class CatalogController {
constructor(private catalogService: CatalogService) {}
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
private catalogService: CatalogService,
) {
this.logger = dadosferaLogger.logger;
}
@Get('all')
async catalogAll(@Body() body) {
console.log(`/catalog`, 'ON CATALOG ALL ROUTE');
this.logger.info(`/catalog - ON CATALOG ALL ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.catalogAll(body);
@@ -24,7 +35,10 @@ export class CatalogController {
@Get('data_apps')
async dataAppsAll(@Body() body) {
console.log(`/catalog`, 'ON FIND ALL DATA APPS ROUTE');
this.logger.info(`/catalog - ON FIND ALL DATA APPS ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.dataAppsAll(body);
@@ -33,7 +47,10 @@ export class CatalogController {
@Delete('data_apps/:id')
async dataAppsOne(@Param() params, @Body() body) {
console.log(`/catalog`, 'ON FIND ONE DATA APP ROUTE');
this.logger.info(`/catalog - ON FIND ONE DATA APP ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const { id } = params;
const res = await this.catalogService.dataAppsOne(id, body);
@@ -43,7 +60,10 @@ export class CatalogController {
@Get('dashboard-metabase')
async getAllDashboardMetabase(@Body() body) {
console.log(`/catalog`, 'ON GET ALL DASHBOARDS METABASE ROUTE');
this.logger.info(`/catalog - ON GET ALL DASHBOARDS METABASE ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getAllDashboardMetabase(body);
@@ -53,7 +73,10 @@ export class CatalogController {
@Get('dashboard-metabase/:id')
async getOneDashboardMetabase(@Body() body, @Param() params) {
const { id } = params;
console.log(`/catalog`, 'ON GET ONE DASHBOARD METABASE ROUTE');
this.logger.info(`/catalog - ON GET ONE DASHBOARD METABASE ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getOneDashboardMetabase(id, body);
@@ -62,7 +85,10 @@ export class CatalogController {
@Get('table-metadata')
async getAllTableMetadata(@Body() body, @Query() query) {
console.log(`/catalog`, 'ON GET ALL TABLES METADATA ROUTE');
this.logger.info(`/catalog - ON GET ALL TABLES METADATA ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
if (!query) {
const res = await this.catalogService.getAllTableMetadata(body);
@@ -76,7 +102,10 @@ export class CatalogController {
@Delete('table-metadata/:id')
async deleteOneTableMetadata(@Param() params, @Body() body) {
const { id } = params;
console.log(`/catalog`, 'ON DELETE ONE TABLE METADATA ROUTE');
this.logger.info(`/catalog - ON DELETE ONE TABLE METADATA ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.deleteOneTableMetadata(id, body);
@@ -85,7 +114,10 @@ export class CatalogController {
@Get('column-metadata')
async getOneColumnMetadata(@Body() body, @Query() params) {
console.log(`/catalog`, 'ON GET ONE COLUMN METADATA ROUTE');
this.logger.info(`/catalog - ON GET ONE COLUMN METADATA ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getOneColumnMetadata(body, params);
@@ -94,7 +126,10 @@ export class CatalogController {
@Delete('column-metadata/:id')
async deleteOneColumnMetadata(@Param() params, @Body() body) {
console.log(`/catalog`, 'ON DELETE ONE COLUMN METADATA ROUTE');
this.logger.info(`/catalog - ON DELETE ONE COLUMN METADATA ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const { id } = params;
const res = await this.catalogService.deleteOneColumnMetadata(id, body);
@@ -104,7 +139,10 @@ export class CatalogController {
@Get('data-preview')
async getOneDataPreview(@Body() body, @Query() params) {
console.log(`/catalog`, 'ON GET ONE DATAPREVIEW ROUTE');
this.logger.info(`/catalog - ON GET ONE DATAPREVIEW ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getOneDataPreview(body, params);
@@ -113,7 +151,10 @@ export class CatalogController {
@Get('data-status')
async getDataStatus(@Body() body) {
console.log(`/catalog`, 'ON GET DATA STATUS ROUTE');
this.logger.info(`/catalog - ON GET DATA STATUS ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getDataStatus(body);
@@ -122,7 +163,10 @@ export class CatalogController {
@Get('data-status')
async createDataStatus(@Body() body) {
console.log(`/catalog`, 'ON CREATE DATA STATUS ROUTE');
this.logger.info(`/catalog - ON CREATE DATA STATUS ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.createDataStatus(body);
@@ -131,7 +175,10 @@ export class CatalogController {
@Get('data-description')
async getDataDescription(@Body() body) {
console.log(`/catalog`, 'ON GET DATA DESCRIPTION ROUTE');
this.logger.info(`/catalog - ON GET DATA DESCRIPTION ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getDataDescription(body);
@@ -140,7 +187,10 @@ export class CatalogController {
@Post('data-description')
async createDataDescription(@Body() body) {
console.log(`/catalog`, 'ON CREATE DATA DESCRIPTION ROUTE');
this.logger.info(`/catalog - ON CREATE DATA DESCRIPTION ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.createDataDescription(body);
@@ -149,7 +199,10 @@ export class CatalogController {
@Get('data-docs')
async getDataDocs(@Body() body) {
console.log(`/catalog`, 'ON GET DATA DOCS ROUTE');
this.logger.info(`/catalog - ON GET DATA DOCS ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getDataDocs(body);
@@ -158,7 +211,10 @@ export class CatalogController {
@Post('data-docs')
async createDataDocs(@Body() body) {
console.log(`/catalog`, 'ON CREATE DATA DOCS ROUTE');
this.logger.info(`/catalog - ON CREATE DATA DOCS ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.createDataDocs(body);
@@ -167,7 +223,10 @@ export class CatalogController {
@Get('data-rating')
async getDataRating(@Body() body) {
console.log(`/catalog`, 'ON GET DATA RATING ROUTE');
this.logger.info(`/catalog - ON GET DATA RATING ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getDataRating(body);
@@ -176,7 +235,10 @@ export class CatalogController {
@Post('data-rating')
async createDataRating(@Body() body) {
console.log(`/catalog`, 'ON GET DATA RATING ROUTE');
this.logger.info(`/catalog - ON GET DATA RATING ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.createDataRating(body);
@@ -185,7 +247,7 @@ export class CatalogController {
@Get('summary-rating/:id')
async getSummaryRating() {
console.log(`/catalog`, 'ON GET SUMMARY RATING ROUTE');
this.logger.info(`/catalog - ON GET SUMMARY RATING ROUTE`);
//const { id } = params;
//
@@ -200,7 +262,10 @@ export class CatalogController {
@Get('data-comment')
async getDataComment(@Body() body) {
console.log(`/catalog`, 'ON GET DATA COMMENT ROUTE');
this.logger.info(`/catalog - ON GET DATA COMMENT ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getDataComment(body);
@@ -209,7 +274,10 @@ export class CatalogController {
@Post('data-comment')
async createDataComment(@Body() body) {
console.log(`/catalog`, 'ON GET DATA COMMENT ROUTE');
this.logger.info(`/catalog - ON GET DATA COMMENT ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.createDataComment(body);
@@ -218,7 +286,10 @@ export class CatalogController {
@Get('data-review')
async getDataReview(@Body() body, @Query() params) {
console.log(`/catalog`, 'ON GET DATA REVIEW ROUTE');
this.logger.info(`/catalog - ON GET DATA REVIEW ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getDataReview(body, params);
@@ -227,7 +298,10 @@ export class CatalogController {
@Post('tags')
async createTags(@Body() body) {
console.log(`/catalog`, 'ON CREATE TAG ROUTE');
this.logger.info(`/catalog - ON CREATE TAG ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.createTags(body);
@@ -236,7 +310,10 @@ export class CatalogController {
@Get('tags')
async findAllTags(@Body() body) {
console.log(`/catalog`, 'ON FIND ALL TAGS ROUTE');
this.logger.info(`/catalog - ON FIND ALL TAGS ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.findAllTags(body);
@@ -245,7 +322,10 @@ export class CatalogController {
@Delete('tags/:id')
async deleteTags(@Param() params, @Body() body) {
console.log(`/catalog`, 'ON DELETE TAG ROUTE');
this.logger.info(`/catalog - ON DELETE TAG ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const { id } = params;
const res = await this.catalogService.deleteTags(id, body);
@@ -255,7 +335,10 @@ export class CatalogController {
@Post('table-tags')
async createTableTags(@Body() body) {
console.log(`/catalog`, 'ON CREATE TABLE TAG ROUTE');
this.logger.info(`/catalog - ON CREATE TABLE TAG ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.createTableTags(body);
@@ -264,7 +347,10 @@ export class CatalogController {
@Get('table-tags')
async getAllTableTags(@Body() body) {
console.log(`/catalog`, 'ON GET ALL TABLE TAGS ROUTE');
this.logger.info(`/catalog - ON GET ALL TABLE TAGS ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.findAllTableTags(body);
@@ -273,7 +359,10 @@ export class CatalogController {
@Delete('table-tags/:id')
async deleteTableTags(@Param() params, @Body() body) {
console.log(`/catalog`, 'ON CREATE TABLE TAGS ROUTE');
this.logger.info(`/catalog - ON CREATE TABLE TAGS ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const { id } = params;
const res = await this.catalogService.deleteTableTags(id, body);
@@ -283,7 +372,10 @@ export class CatalogController {
@Get('table-rules')
async getTableRules(@Body() body) {
console.log(`/catalog`, 'ON GET TABLE RULES ROUTE');
this.logger.info(`/catalog - ON GET TABLE RULES ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const res = await this.catalogService.getTableRules(body);
@@ -292,7 +384,10 @@ export class CatalogController {
@Delete('table-rules/:id')
async deleteTableRules(@Param() params, @Body() body) {
console.log(`/catalog`, 'ON DELETE TABLE RULES ROUTE');
this.logger.info(`/catalog - ON DELETE TABLE RULES ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const { id } = params;
const res = await this.catalogService.deleteTableRules(id, body);
-1
View File
@@ -46,7 +46,6 @@ class CatalogService {
const { data } = await axios.get(
`${nimbusUrl}/api/catalog/dashboard-metabase/${id}`,
);
console.log(data);
// const [, path] = data.iframe_url.split('.dadosfera');
// const host = `httpss://metabase-${body.info.customer.toLowerCase()}.dadosfera.ai`;
+9
View File
@@ -1,4 +1,5 @@
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { Info } from 'src/clients/inputs/interfaces';
export class InputModel {
category: string;
@@ -147,6 +148,8 @@ export class TestConnectionGetColumnsReq {
credentials: CredentialsJdbc;
@ApiPropertyOptional()
id: string;
@ApiPropertyOptional()
info: Info;
}
export class TestConnectionGetColumnsRes {
@ApiProperty()
@@ -158,6 +161,8 @@ export class TestConnectionReq {
plugin: string;
@ApiProperty()
credentials: CredentialsJdbc;
@ApiPropertyOptional()
info: Info;
}
export class TestConnectionRes {
@ApiProperty()
@@ -178,6 +183,8 @@ export class CreateInputReq {
name: string;
@ApiPropertyOptional()
options: InputOptions;
@ApiPropertyOptional()
info: Info;
}
export class Input {
@@ -199,4 +206,6 @@ export class Input {
created_at: string;
@ApiProperty()
updated_at: string;
@ApiPropertyOptional()
info: Info;
}
+39 -10
View File
@@ -3,11 +3,13 @@ import {
Controller,
Delete,
Get,
Inject,
Param,
Patch,
Post,
} from '@nestjs/common';
import { InputsService } from './inputs.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { InputsClientService } from 'src/clients/inputs/client.service';
import { UpdateInputRequest } from 'src/clients/inputs/interfaces';
import { ApiOkResponse, ApiTags } from '@nestjs/swagger';
@@ -26,7 +28,13 @@ import {
@Controller('inputs')
export class InputsController {
inputService: InputsService;
constructor(private inputsClientService: InputsClientService) {
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
private inputsClientService: InputsClientService,
) {
this.logger = dadosferaLogger.logger;
this.inputService = new InputsService(this.inputsClientService);
}
@@ -44,7 +52,10 @@ export class InputsController {
@Post('/test-connection')
@ApiOkResponse({ type: TestConnectionRes })
async testConnection(@Body() data: TestConnectionReq) {
console.log(`/test-connection`, 'ON TEST CONNECTION ROUTE');
this.logger.info(`/test-connection - ON TEST CONNECTION ROUTE`, {
user: data.info.user_id,
customer: data.info.customer,
});
const inputService = new InputsService(this.inputsClientService);
const response = await inputService.testConnection(data);
@@ -55,9 +66,12 @@ export class InputsController {
@Post('/test-connection/get-columns')
@ApiOkResponse({ type: TestConnectionGetColumnsRes })
async getColumns(@Body() data: TestConnectionGetColumnsReq) {
console.log(
`/test-connection/get-columns`,
'ON TEST CONNECTION GET COLUMNS ROUTE',
this.logger.info(
`/test-connection/get-columns - ON TEST CONNECTION GET COLUMNS ROUTE`,
{
user: data.info.user_id,
customer: data.info.customer,
},
);
const inputService = new InputsService(this.inputsClientService);
@@ -69,7 +83,10 @@ export class InputsController {
@Post()
@ApiOkResponse({ type: Input })
async create(@Body() createInputDto: CreateInputReq) {
console.log(`/input`, 'ON CREATE ROUTE');
this.logger.info(`/input - ON CREATE ROUTE`, {
user: createInputDto.info.user_id,
customer: createInputDto.info.customer,
});
const inputService = new InputsService(this.inputsClientService);
const response = await inputService.create(createInputDto);
@@ -79,7 +96,10 @@ export class InputsController {
@Get()
async findAll(@Body() body) {
console.log(`/input`, 'ON FIND ALL ROUTE');
this.logger.info(`/input - ON FIND ALL ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const inputService = new InputsService(this.inputsClientService);
@@ -91,7 +111,10 @@ export class InputsController {
@Get('/:id')
async findOne(@Body() body, @Param() params) {
const { id } = params;
console.log(`/input/${id}`, 'ON FIND ONE ROUTE');
this.logger.info(`/input/${id} - ON FIND ONE ROUTE`, {
user: body.info.user_id,
customer: body.info.customer,
});
const inputService = new InputsService(this.inputsClientService);
const response = await inputService.findOne({ id, ...body });
@@ -105,7 +128,10 @@ export class InputsController {
const { info } = updateInputDto;
delete updateInputDto.info;
console.log(`/input/${id}`, 'ON UPDATE ROUTE');
this.logger.info(`/input/${id} - ON UPDATE ROUTE`, {
user: updateInputDto.info.user_id,
customer: updateInputDto.info.costumer_id,
});
const inputService = new InputsService(this.inputsClientService);
const response = await inputService.update(id, updateInputDto, info);
@@ -117,7 +143,10 @@ export class InputsController {
async delete(@Body() data, @Param() params) {
const { id } = params;
console.log(`/input/${id}`, 'ON DELETE ROUTE');
this.logger.info(`/input/${id} - ON DELETE ROUTE`, {
user: data.info.user_id,
customer: data.info.customer,
});
const inputService = new InputsService(this.inputsClientService);
+33 -7
View File
@@ -3,6 +3,7 @@ import {
Controller,
Delete,
Get,
Inject,
Param,
Post,
Put,
@@ -10,14 +11,24 @@ import {
import { Payload } from '@nestjs/microservices';
import { OutputsClientService } from 'src/clients/outputs/client.service';
import { OutputsService } from './outputs.service';
import { DadosferaLogger } from 'dadosfera-logs';
@Controller('outputs')
export class OutputsController {
constructor(private outputsClientService: OutputsClientService) {}
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
private outputsClientService: OutputsClientService,
) {
this.logger = dadosferaLogger.logger;
}
@Post()
async create(@Body() createOutputDto) {
console.log(process.env.DEV_URL + `/output`, 'ON CREATE ROUTE');
this.logger.info(process.env.DEV_URL + `/output - ON CREATE ROUTE`, {
user: createOutputDto.info.user_id,
customer: createOutputDto.info.customer,
});
const outputService = new OutputsService(this.outputsClientService);
const response = await outputService.create(createOutputDto);
@@ -27,7 +38,10 @@ export class OutputsController {
@Get()
async findAll(@Body() data) {
console.log(process.env.DEV_URL + `/output`, 'ON Find All ROUTE');
this.logger.info(process.env.DEV_URL + `/output - ON Find All ROUTE`, {
user: data.info.user_id,
customer: data.info.customer,
});
const outputService = new OutputsService(this.outputsClientService);
const response = await outputService.findAll(data);
@@ -38,7 +52,13 @@ export class OutputsController {
@Get('/:id')
async findOne(@Body() data, @Param() params) {
const { id } = params;
console.log(process.env.DEV_URL + `/output/${id}`, 'ON Find One ROUTE');
this.logger.info(
process.env.DEV_URL + `/output/${id} - ON Find One ROUTE`,
{
user: data.info.user_id,
customer: data.info.customer,
},
);
const outputService = new OutputsService(this.outputsClientService);
const response = await outputService.findOne({ id, ...data });
@@ -52,7 +72,10 @@ export class OutputsController {
const { info } = updateOutputDto;
delete updateOutputDto.info;
console.log(process.env.DEV_URL + `/output/${id}`, 'ON UPDATE ROUTE');
this.logger.info(process.env.DEV_URL + `/output/${id} - ON UPDATE ROUTE`, {
user: updateOutputDto.info.user_id,
customer: updateOutputDto.info.customer,
});
const outputService = new OutputsService(this.outputsClientService);
const response = await outputService.update(id, updateOutputDto, info);
@@ -63,7 +86,10 @@ export class OutputsController {
@Delete(':id')
async delete(@Body() data, @Param() params) {
const { id } = params;
console.log(process.env.DEV_URL + `/output/${id}`, 'ON DELETE ROUTE');
this.logger.info(process.env.DEV_URL + `/output/${id} - ON DELETE ROUTE`, {
user: data.info.user_id,
customer: data.info.customer,
});
const outputService = new OutputsService(this.outputsClientService);
const response = await outputService.remove({ id, ...data });
+30 -15
View File
@@ -3,25 +3,37 @@ import {
Controller,
Delete,
Get,
Inject,
Param,
Post,
Put,
} from '@nestjs/common';
import { PipelinesClientService } from 'src/clients/pipelines/client.service';
import { PipelinesService } from './pipelines.service';
import { DadosferaLogger } from 'dadosfera-logs';
@Controller('pipelines')
export class PipelinesController {
constructor(private pipelinesClientService: PipelinesClientService) {}
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
private pipelinesClientService: PipelinesClientService,
) {
this.logger = dadosferaLogger.logger;
}
@Post('start/:id')
async activate(@Param() params, @Body() body) {
const { id } = params;
const { info } = body;
console.log(
process.env.DEV_URL + `/pipeline/start/${id}`,
'ON START PIPELINE ROUTE',
this.logger.info(
process.env.DEV_URL + `/pipeline/start/${id} - ON START PIPELINE ROUTE`,
{
user: body.info.user_id,
customer: body.info.customer,
},
);
const pipelineService = new PipelinesService(this.pipelinesClientService);
@@ -35,9 +47,12 @@ export class PipelinesController {
const { id } = params;
body.id = id;
console.log(
process.env.DEV_URL + `/pipeline/${id}`,
'ON GET PIPELINE STATUS ROUTE',
this.logger.info(
process.env.DEV_URL + `/pipeline/${id} - ON GET PIPELINE STATUS ROUTE`,
{
user: body.info.user_id,
customer: body.info.customer,
},
);
const pipelineService = new PipelinesService(this.pipelinesClientService);
@@ -49,9 +64,9 @@ export class PipelinesController {
@Get(':id/:details')
async getPipelineLogs(@Param() params) {
const { id, details } = params;
console.log(
process.env.DEV_URL + `/pipeline/${id}`,
'ON GET PIPELINE LOGS ROUTE',
this.logger.info(
process.env.DEV_URL + `/pipeline/${id} - ON GET PIPELINE LOGS ROUTE`,
{},
);
const pipelineService = new PipelinesService(this.pipelinesClientService);
@@ -62,7 +77,7 @@ export class PipelinesController {
@Post()
async create(@Body() createPipelineDto) {
console.log(process.env.DEV_URL + `/pipelines`, 'ON CREATE ROUTE');
this.logger.info(process.env.DEV_URL + `/pipelines ON CREATE ROUTE`);
const pipelineService = new PipelinesService(this.pipelinesClientService);
const response = await pipelineService.create(createPipelineDto);
@@ -72,7 +87,7 @@ export class PipelinesController {
@Get()
async findAll(@Body() data) {
console.log(process.env.DEV_URL + `/pipeline`, 'ON Find All ROUTE');
this.logger.info(process.env.DEV_URL + `/pipeline ON Find All ROUTE`);
const pipelineService = new PipelinesService(this.pipelinesClientService);
const response = await pipelineService.findAll(data);
@@ -83,7 +98,7 @@ export class PipelinesController {
@Get('/:id')
async findOne(@Body() data, @Param() params) {
const { id } = params;
console.log(process.env.DEV_URL + `/pipeline/${id}`, 'ON Find One ROUTE');
this.logger.info(process.env.DEV_URL + `/pipeline/${id} ON Find One ROUTE`);
const pipelineService = new PipelinesService(this.pipelinesClientService);
const response = await pipelineService.findOne({ id, ...data });
@@ -97,7 +112,7 @@ export class PipelinesController {
const { info } = updatePipelineDto;
delete updatePipelineDto.info;
console.log(process.env.DEV_URL + `/pipeline/${id}`, 'ON UPDATE ROUTE');
this.logger.info(process.env.DEV_URL + `/pipeline/${id} ON UPDATE ROUTE`);
const pipelineService = new PipelinesService(this.pipelinesClientService);
const response = await pipelineService.update(id, updatePipelineDto, info);
@@ -108,7 +123,7 @@ export class PipelinesController {
@Delete(':id')
async delete(@Body() data, @Param() params) {
const { id } = params;
console.log(process.env.DEV_URL + `/pipeline/${id}`, 'ON DELETE ROUTE');
this.logger.info(process.env.DEV_URL + `/pipeline/${id} ON DELETE ROUTE`);
const pipelineService = new PipelinesService(this.pipelinesClientService);
const response = await pipelineService.remove({ id, ...data });
@@ -3,6 +3,7 @@ import {
Controller,
Delete,
Get,
Inject,
Param,
Post,
Put,
@@ -11,16 +12,27 @@ import { Payload } from '@nestjs/microservices';
import { TransformationsClientService } from 'src/clients/transformations/client.service';
import { IIdRequest } from 'src/clients/transformations/interfaces';
import { TransformationsService } from './transformations.service';
import { DadosferaLogger } from 'dadosfera-logs';
@Controller('transformations')
export class TransformationsController {
logger: any;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
private transformationsClientService: TransformationsClientService,
) {}
) {
this.logger = dadosferaLogger.logger;
}
@Post()
async create(@Body() createTransformationDto) {
console.log(process.env.DEV_URL + `/transformation`, 'ON CREATE ROUTE');
this.logger.info(
process.env.DEV_URL + `/transformation - ON CREATE ROUTE`,
{
user: createTransformationDto.info.user_id,
customer: createTransformationDto.info.customer,
},
);
const transformationService = new TransformationsService(
this.transformationsClientService,
@@ -34,7 +46,13 @@ export class TransformationsController {
@Get()
async findAll(@Body() data: IIdRequest) {
console.log(process.env.DEV_URL + `/transformation`, 'ON Find All ROUTE');
this.logger.info(
process.env.DEV_URL + `/transformation - ON Find All ROUTE`,
{
user: data.info.user_id,
customer: data.info.customer_id,
},
);
const transformationService = new TransformationsService(
this.transformationsClientService,
@@ -47,9 +65,12 @@ export class TransformationsController {
@Get('/:id')
async findOne(@Body() data, @Param() params) {
const { id } = params;
console.log(
process.env.DEV_URL + `/transformation/${id}`,
'ON Find One ROUTE',
this.logger.info(
process.env.DEV_URL + `/transformation/${id} - ON Find One ROUTE`,
{
user: data.info.user_id,
customer: data.info.customer,
},
);
const transformationService = new TransformationsService(
@@ -63,9 +84,12 @@ export class TransformationsController {
@Put(':id')
async update(@Payload() updateTransformationDto, @Param() params) {
const { id } = params;
console.log(
process.env.DEV_URL + `/transformation/${id}`,
'ON UPDATE ROUTE',
this.logger.info(
process.env.DEV_URL + `/transformation/${id} - ON UPDATE ROUTE`,
{
user: updateTransformationDto.info.user_id,
customer: updateTransformationDto.info.customer,
},
);
const transformationService = new TransformationsService(
@@ -82,9 +106,12 @@ export class TransformationsController {
@Delete(':id')
async delete(@Body() data, @Param() params) {
const { id } = params;
console.log(
process.env.DEV_URL + `/transformation/${id}`,
'ON DELETE ROUTE',
this.logger.info(
process.env.DEV_URL + `/transformation/${id} - ON DELETE ROUTE`,
{
user: data.info.user_id,
customer: data.info.customer,
},
);
const transformationService = new TransformationsService(
+1 -1
View File
File diff suppressed because one or more lines are too long