Compare commits

...
Author SHA1 Message Date
marcos.rodrigues 00cbadbb45 Merge branch 'beta' into bugfix/catalog-module 2026-08-07 12:26:11 -03:00
marcos.rodrigues 47ad527d38 FIX: skip nimbus update when customer haven't catalog module 2026-08-07 12:18:37 -03:00
iruy-fr 51044a23b3 FIX: trigger cache connections rollout 2026-08-03 09:19:27 -03:00
yuri.rodrigues bb29d126c1 Merge pull request #503 from dadosfera/feat/cache-connections-rollout
feat(connection-test): refresh connection catalog cache
2026-07-31 20:56:11 -03:00
iruy-fr 0eafa67e6f FIX: trigger cache connections deployment 2026-07-31 09:56:05 -03:00
yuri.rodrigues c3937472ec Merge pull request #502 from dadosfera/feat/cache-connections-rollout
feat: read connection metadata from catalog cache
2026-07-31 09:46:57 -03:00
marcos.rodrigues d54f381998 Merge pull request #499 from dadosfera/release/2026-07-27
Release/2026 07 27
2026-07-27 17:59:56 -03:00
viniciusgadea 3fd586753e FEAT: add endpoint and logic to update data asset certification status 2026-07-27 17:07:19 -03:00
viniciusgadea 9b3894f9e4 FIX: pin npm version to 10.8.2 in Dockerfile for consistency 2026-07-27 17:07:10 -03:00
viniciusgadea 4a5f8f679a FEAT: rename documentation_status to certification_status in docs and update package.json for protospack versioning 2026-07-27 17:06:58 -03:00
viniciusgadea a444f5e5ec FEAT: add documentation status enum and property to data asset 2026-07-27 17:06:25 -03:00
marcos.rodrigues 0d30c1cf83 FEAT: remove deprecated protospack lib 2026-07-27 17:06:10 -03:00
4 changed files with 38 additions and 41 deletions
+5 -4
View File
@@ -23,6 +23,7 @@ import {
} from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/messages'; } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/messages';
import { Info } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/entities'; import { Info } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/entities';
import { CreateInputReq } from './dtos/input.model'; import { CreateInputReq } from './dtos/input.model';
import { Metadata } from '@grpc/grpc-js';
@Injectable() @Injectable()
@@ -73,10 +74,10 @@ export class InputsService {
objectCamelToSnake(createInputResponse); objectCamelToSnake(createInputResponse);
return createInputResponse; return createInputResponse;
}, },
update: async (updateInputDTO: UpdateInputRequest): Promise<InputUpdateResponse> => { update: async (updateInputDTO: UpdateInputRequest, metadata: Metadata): Promise<InputUpdateResponse> => {
this.logger.info('InputClientService - Update' + JSON.stringify(updateInputDTO)); this.logger.info('InputClientService - Update' + JSON.stringify(updateInputDTO));
const updateInputResponse = await lastValueFrom( const updateInputResponse = await lastValueFrom(
this.inputWriteService.InputUpdate(updateInputDTO), this.inputWriteService.InputUpdate(updateInputDTO, metadata),
); );
return updateInputResponse; return updateInputResponse;
@@ -206,7 +207,7 @@ export class InputsService {
return findOneInputResponse; return findOneInputResponse;
} }
async update(id: string, data, info: Info) { async update(id: string, data, info: Info, metadata?: Metadata) {
// this.validateCron({ ...data, info }); // this.validateCron({ ...data, info });
try { try {
const { const {
@@ -217,7 +218,7 @@ export class InputsService {
id, id,
...data, ...data,
info, info,
}); }, metadata);
const updateInputResponse = this.adjustInputPayload( const updateInputResponse = this.adjustInputPayload(
input, input,
@@ -15,7 +15,6 @@ import {
HttpException, HttpException,
BadRequestException, BadRequestException,
UseGuards, UseGuards,
Res,
} from '@nestjs/common'; } from '@nestjs/common';
import { import {
ApiCreatedResponse, ApiCreatedResponse,
@@ -318,7 +317,6 @@ export class PipelinesController {
) { ) {
this.logger.info('PipelinesController - update', { user }); this.logger.info('PipelinesController - update', { user });
const { customer_id, customer_name, user_id, username } = user;
const info: Info = { const info: Info = {
user_id: user.user_id, user_id: user.user_id,
customer: user.customer_name, customer: user.customer_name,
@@ -326,13 +324,7 @@ export class PipelinesController {
pipeline_id: pipelineId pipeline_id: pipelineId
}; };
const metadata = PackTheMetadata({ const metadata = PackTheMetadata(user);
customer_id,
customer_name,
user_id,
username,
language,
});
const response = await this.pipelinesClientService.updatePipelineInput( const response = await this.pipelinesClientService.updatePipelineInput(
pipelineId, pipelineId,
+30 -27
View File
@@ -383,7 +383,8 @@ export class PipelinesService implements OnModuleInit {
const updateInputResponse = await this.inputsService.update( const updateInputResponse = await this.inputsService.update(
inputId, inputId,
updateInputDTO, updateInputDTO,
info info,
metadata
); );
const inputRollback = () => { const inputRollback = () => {
@@ -404,34 +405,36 @@ export class PipelinesService implements OnModuleInit {
const nimbusUpdates = updateInputResponse?.tablesUpdate || []; const nimbusUpdates = updateInputResponse?.tablesUpdate || [];
nimbusUpdates.forEach(update => { if (user.customer_modules.includes('catalog')) {
const nimbusRollback = () => { nimbusUpdates.forEach(update => {
return this.nimbusService.renameTable( const nimbusRollback = () => {
info.customer, return this.nimbusService.renameTable(
update.database, info.customer,
{ update.database,
table_name: update.table_name, {
table_schema: update.table_schema table_name: update.table_name,
}, table_schema: update.table_schema
{ },
table_name: update.old_table_name, {
table_schema: update.old_table_schema table_name: update.old_table_name,
} table_schema: update.old_table_schema
); }
} );
rollback.push(nimbusRollback); }
}); rollback.push(nimbusRollback);
});
try { try {
await this.updateNimbus(info.customer, nimbusUpdates); await this.updateNimbus(info.customer, nimbusUpdates);
} catch (error) { } catch (error) {
this.logger.error(error); this.logger.error(error);
if (error instanceof AxiosError) { if (error instanceof AxiosError) {
this.logger.error(JSON.stringify(error.response.data)); this.logger.error(JSON.stringify(error.response.data));
} }
await this.executeRenameRollback(rollback); await this.executeRenameRollback(rollback);
throw new Error("Error Nimbus updating tables"); throw new Error("Error Nimbus updating tables");
}
} }
try { try {
+1
View File
@@ -9,6 +9,7 @@ interface IMetadata {
details?: string; details?: string;
sensitive?: string; sensitive?: string;
roles?: string[]; roles?: string[];
customer_modules?: string[];
is_data_manager?: boolean; is_data_manager?: boolean;
access_token?: string; access_token?: string;
host?: string; host?: string;