mirror of
https://github.com/dadosfera/maestro.git
synced 2026-11-07 09:59:08 +00:00
FIX: Save
This commit is contained in:
@@ -34,24 +34,30 @@ import {
|
||||
IUpdateDataRequest,
|
||||
} from './dtos';
|
||||
|
||||
const catalogPermissions = PERMISSIONS_GROUPS.CATALOG.permissions;
|
||||
@ApiTags('Catalog')
|
||||
@Controller('catalog')
|
||||
@Authenticated()
|
||||
@AuthenticateCondition((req, user) => {
|
||||
if (req.path.includes('/manage_permissions/')) return true;
|
||||
let action;
|
||||
@AuthenticateCondition((req, user: RequestUser) => {
|
||||
if (user.permissions.includes(catalogPermissions.DATA_MANAGER.seqid))
|
||||
return true;
|
||||
|
||||
if (req.path.includes('/manage-permissions')) return true;
|
||||
let action: keyof typeof catalogPermissions;
|
||||
|
||||
switch (req.method) {
|
||||
case 'POST':
|
||||
action = 'CREATE';
|
||||
break;
|
||||
|
||||
case 'PUT':
|
||||
action = 'UPDATE';
|
||||
break;
|
||||
|
||||
case 'DELETE':
|
||||
if (req.path.includes('/comment')) action = 'UPDATE';
|
||||
else action = req.method;
|
||||
break;
|
||||
|
||||
default:
|
||||
action = req.method;
|
||||
action = req.method as 'GET';
|
||||
}
|
||||
|
||||
return user.permissions.includes(
|
||||
@@ -373,7 +379,7 @@ export class CatalogController {
|
||||
@Body('docs') docs: string,
|
||||
) {
|
||||
const { user_id, customer_name } = user;
|
||||
const [data_asset_type, id] = data_asset_id.split('-');
|
||||
const [, id] = data_asset_id.split('-');
|
||||
|
||||
this.logger.info(`/catalog - ON GET DATA DOCS ROUTE`, {
|
||||
user_id,
|
||||
|
||||
@@ -16,12 +16,12 @@ export class DucClient {
|
||||
transport: Transport.GRPC,
|
||||
options: {
|
||||
url: process.env.DUC_URL,
|
||||
package: ProtoPackages.WritePackage,
|
||||
package: [ProtoPackages.WritePackage, ProtoPackages.ReadPackage],
|
||||
credentials:
|
||||
process.env.LOCAL_ENV || process.env.ENV === 'local'
|
||||
? undefined
|
||||
: credentials.createSsl(),
|
||||
protoPath: ProtoPaths.WriteFilePath,
|
||||
protoPath: [ProtoPaths.WriteFilePath, ProtoPaths.ReadFilePath],
|
||||
loader: {
|
||||
keepCase: true,
|
||||
enums: String,
|
||||
|
||||
@@ -155,7 +155,7 @@ export class PipelinesController {
|
||||
.then((res) => {
|
||||
//{pipeline:{tables: {tables: [], input_id: ''}}}
|
||||
let tables = JSON.parse(res.pipeline.config.tables);
|
||||
if (tables?.tables) tables = tables?.tables;
|
||||
if (tables?.tables) tables = tables.tables;
|
||||
Object.assign(res.pipeline, {
|
||||
transformations: res.pipeline.transformations
|
||||
? JSON.parse(res.pipeline.transformations)
|
||||
|
||||
@@ -11,34 +11,19 @@ import {
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { TransformationsClientService } from './client.service';
|
||||
import { IIdRequest } from './interfaces';
|
||||
import { AuthenticateCondition } from 'src/authentication/authentication.decorator';
|
||||
import {
|
||||
AuthenticateCondition,
|
||||
Authenticated,
|
||||
RequireSomePermission,
|
||||
} from 'src/authentication/authentication.decorator';
|
||||
import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum';
|
||||
import { TransformationsService } from './transformations.service';
|
||||
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
|
||||
import { RequestUser, User } from 'src/authentication/user.decorator';
|
||||
|
||||
const pipelinePermissions = PERMISSIONS_GROUPS.PIPELINE.permissions;
|
||||
@ApiTags('Transformations')
|
||||
@Controller('transformations')
|
||||
@AuthenticateCondition((req, user) => {
|
||||
let action;
|
||||
|
||||
switch (req.method) {
|
||||
case 'POST':
|
||||
action = 'CREATE';
|
||||
break;
|
||||
|
||||
case 'PUT':
|
||||
action = 'UPDATE';
|
||||
break;
|
||||
|
||||
default:
|
||||
action = req.method;
|
||||
}
|
||||
|
||||
return user.permissions.includes(
|
||||
PERMISSIONS_GROUPS.TRANSFORMATIONS.permissions[action].seqid,
|
||||
);
|
||||
})
|
||||
@Authenticated()
|
||||
export class TransformationsController {
|
||||
logger: DadosferaLogger;
|
||||
constructor(
|
||||
@@ -50,6 +35,7 @@ export class TransformationsController {
|
||||
}
|
||||
|
||||
@Post()
|
||||
@RequireSomePermission(pipelinePermissions.CREATE, pipelinePermissions.UPDATE)
|
||||
async create(@Body() createTransformationDto) {
|
||||
this.logger.info(`/transformation - ON CREATE ROUTE`, {
|
||||
user: createTransformationDto.info.user_id,
|
||||
@@ -67,6 +53,7 @@ export class TransformationsController {
|
||||
}
|
||||
|
||||
@Get()
|
||||
@RequireSomePermission(pipelinePermissions.GET)
|
||||
async findAll(@Body() data: IIdRequest) {
|
||||
this.logger.info(`/transformation - ON Find All ROUTE`, {
|
||||
user: data.info.user_id,
|
||||
@@ -82,6 +69,7 @@ export class TransformationsController {
|
||||
}
|
||||
|
||||
@Get('/:id')
|
||||
@RequireSomePermission(pipelinePermissions.GET)
|
||||
async findOne(@Body() data, @Param() params) {
|
||||
const { id } = params;
|
||||
this.logger.info(`/transformation/${id} - ON Find One ROUTE`, {
|
||||
@@ -98,6 +86,7 @@ export class TransformationsController {
|
||||
}
|
||||
|
||||
@Put(':id')
|
||||
@RequireSomePermission(pipelinePermissions.CREATE, pipelinePermissions.UPDATE)
|
||||
async update(
|
||||
@User() user: RequestUser,
|
||||
@Body() updateTransformationDto,
|
||||
@@ -120,6 +109,7 @@ export class TransformationsController {
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
@RequireSomePermission(pipelinePermissions.CREATE, pipelinePermissions.UPDATE)
|
||||
async delete(@Body() data, @Param() params) {
|
||||
const { id } = params;
|
||||
this.logger.info(`/transformation/${id} - ON DELETE ROUTE`, {
|
||||
|
||||
Reference in New Issue
Block a user