mirror of
https://github.com/dadosfera/maestro.git
synced 2026-09-12 01:44:47 +00:00
UPDATE: type CDC input calls against the protospack gRPC contracts
Review (maestro #510): drop every 'as any' on the Input write client (AddCdcTable/RemoveCdcTable/UnmarkTableDeleted take the generated request types), type IPipelineV2.config, and build the CdcTable payload in one mapper so 'name' mirrors table_name in a single place. isCdc via helper, no '!!'. Co-Authored-By: WOZCODE <contact@withwoz.com>
This commit is contained in:
@@ -33,6 +33,7 @@ import { CatalogService } from '../catalog/catalog.service';
|
||||
import { PackTheMetadata } from '../../utils/PackTheMetadata';
|
||||
import { ValidationTableDTO } from './platform-api.dto';
|
||||
import { InputsService } from '../inputs/inputs.service';
|
||||
import { toCdcTable } from '../inputs/cdc-table.mapper';
|
||||
import { PipelinesService } from '../pipelinesV2/pipelines.service';
|
||||
import { PipelineExecutionGuard } from 'src/guards/pipeline-execution.guard';
|
||||
|
||||
@@ -1147,19 +1148,10 @@ export class PlatformApiController {
|
||||
user_id: user.user_id,
|
||||
};
|
||||
|
||||
const cdcTable = {
|
||||
table_schema: body.table_schema,
|
||||
table_name: body.table_name,
|
||||
primary_keys: body.primary_keys,
|
||||
name: body.table_name,
|
||||
iceberg_table_name: body.iceberg_table_name,
|
||||
iceberg_qualify_table_name: body.iceberg_qualify_table_name,
|
||||
columns: body.columns ?? [],
|
||||
column_exclude_list: body.column_exclude_list ?? [],
|
||||
};
|
||||
const cdcTable = toCdcTable(body);
|
||||
|
||||
this.logger.info('addTable: appending CDC table to DynamoDB', { inputId, tableName: body.table_name });
|
||||
await this.inputsService.addCdcTable({ id: inputId, table: cdcTable, info });
|
||||
await this.inputsService.addCdcTable({ client_id: user.customer_id, id: inputId, table: cdcTable, info });
|
||||
this.logger.info('addTable: DynamoDB row appended', { inputId, tableName: body.table_name });
|
||||
|
||||
try {
|
||||
@@ -1185,7 +1177,7 @@ export class PlatformApiController {
|
||||
} catch (error) {
|
||||
this.logger.error('addTable: platform AddJobs failed, rolling back the DynamoDB row', { tableName: body.table_name, error: error.message });
|
||||
try {
|
||||
await this.inputsService.removeCdcTable({ id: inputId, table_name: body.table_name, info });
|
||||
await this.inputsService.removeCdcTable({ client_id: user.customer_id, id: inputId, table_name: body.table_name, info });
|
||||
} catch (rbErr) {
|
||||
this.logger.error('addTable: rollback failed', { error: rbErr.message });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user