FIX: getPipelineproperties

This commit is contained in:
Gabriel Rosa
2022-10-13 14:59:27 -03:00
parent 9178530a21
commit 379bac704f
4 changed files with 47 additions and 16 deletions
+17 -12
View File
@@ -61,7 +61,7 @@ export class PipelinesController {
@User() user: RequestUser,
@Body() createPipelineDto: ICreatePipelineV2Req,
) {
this.logger.info(process.env.DEV_URL + `/pipelines ON CREATE ROUTE`);
this.logger.info('PipelinesController - create', { user });
if (!language) language = 'en-us';
const { customer_id, customer_name, username, user_id } = user;
const metadata = PackTheMetadata({
@@ -86,10 +86,7 @@ export class PipelinesController {
@Headers('Dadosfera-Lang') language,
@Query() data,
) {
this.logger.info(process.env.DEV_URL + `/pipeline ON Find All ROUTE`, {
user: user.user_id,
customer: user.customer_name,
});
this.logger.info('PipelinesController - findAll', { user });
if (!language) language = 'en-us';
@@ -115,7 +112,11 @@ export class PipelinesController {
@User() user: RequestUser,
@Param('id') id,
) {
const metadata = PackTheMetadata(user);
this.logger.info('PipelinesController - getPipelineproperties', { user });
const metadata = PackTheMetadata({
...user,
language: language || 'pt-br',
});
return this.pipelinesClientService.findOneProperties(id, metadata);
}
@@ -125,7 +126,8 @@ export class PipelinesController {
@User() user: RequestUser,
@Param('id') id,
): Promise<Messages.PipelineV2FindOneResponse> {
this.logger.info(process.env.DEV_URL + `/pipeline/${id} ON Find One ROUTE`);
this.logger.info('PipelinesController - findOne', { user });
if (!language) language = 'en-us';
const { customer_id, customer_name, user_id, username } = user;
@@ -158,12 +160,15 @@ export class PipelinesController {
return result;
}
@Put('/:id')
async update(@Body() updatePipelineDto, @Param('id') id) {
async update(
@Body() updatePipelineDto,
@Param('id') id,
@User() user: RequestUser,
) {
this.logger.info('PipelinesController - findOne', { user });
const { info } = updatePipelineDto;
delete updatePipelineDto.info;
this.logger.info(process.env.DEV_URL + `/pipeline/${id} ON UPDATE ROUTE`);
const response = await this.pipelinesClientService.update({
...updatePipelineDto,
info,
@@ -174,9 +179,9 @@ export class PipelinesController {
}
@Delete(':id')
async delete(@Body() data, @Param() params) {
async delete(@Body() data, @Param() params, @User() user: RequestUser) {
const { id } = params;
this.logger.info(process.env.DEV_URL + `/pipeline/${id} ON DELETE ROUTE`);
this.logger.info('PipelinesController - findOne', { user });
const response = await this.pipelinesClientService.remove({ id, ...data });
@@ -8,6 +8,7 @@ import { PipelinesService } from './pipelines.service';
import { PipelinesClientConfiguration } from './pipelines-client';
import { PipelinesModule as OldPipelineModule } from 'src/modules/pipelines/pipelines.module';
import { ConnectorModule } from '../connector/connector.module';
const client = new PipelinesClientConfiguration();
@@ -15,6 +16,7 @@ const client = new PipelinesClientConfiguration();
imports: [
ClientsModule.register([client.providerOptions]),
OldPipelineModule,
ConnectorModule,
],
controllers: [PipelinesController],
providers: [PipelinesService, DadosferaLogger],
+27 -3
View File
@@ -18,6 +18,7 @@ import { PipelinesClientConfiguration } from './pipelines-client';
import { ICreatePipelineV2Req } from './interfaces';
import { PipelineV2CreateRequest } from '@dadosfera/protospack-v2/dist/lib/PipelineV2/interfaces/messages';
import { Metadata } from '@grpc/grpc-js';
import { ConnectorClientService } from '../connector/client.service';
export class PipelinesService implements OnModuleInit {
logger: DadosferaLogger;
@@ -28,6 +29,7 @@ export class PipelinesService implements OnModuleInit {
dadosferaLogger: DadosferaLogger,
@Inject(PipelinesClientConfiguration.name)
private readonly grpcClient: ClientGrpc,
private readonly connectorService: ConnectorClientService,
) {
this.logger = dadosferaLogger.logger;
}
@@ -172,10 +174,32 @@ export class PipelinesService implements OnModuleInit {
}
async findOneProperties(id: string, metadata: Metadata) {
this.logger.info('PipelinesClientService - Remove');
this.logger.info('PipelinesClientService - findOneProperties');
const { pipeline } = await this.findOne({ id }, metadata);
return lastValueFrom(
this.pipelineReadService.PipelineV2FindOneProperties({ id }, metadata),
const pipelineProperties = JSON.parse(pipeline.properties);
const connectorId = `${pipeline.connector_plugin}-${pipeline.connector_version}`;
const res = await this.connectorService.getConnectorDetails(
connectorId,
metadata.get('language')[0].toString(),
);
const connector = JSON.parse(res.connector);
const config_controls = connector.config_controls || [];
for (const key in pipelineProperties) {
const i = config_controls
.map((cc) => cc.name)
.indexOf(`properties.${key}`);
if (i > -1) {
config_controls[i] = {
...config_controls[i],
default_value: pipelineProperties[key],
};
}
}
return { pipeline: { ...pipeline, config_controls } };
}
}