Compare commits

...
9 Commits
49 changed files with 300 additions and 230 deletions
+3 -15
View File
@@ -11,30 +11,18 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- name: Install Docker Compose
run: |
python3 -m pip install docker-compose --upgrade
- name: Build
env:
ENV: test
IMAGE_TAG: test
APP_NAME: ${{ github.event.repository.name }}
run: |
export ENV=test
export IMAGE_TAG=test
export ACCOUNT_ID=test
docker-compose -f build.docker-compose.yml build
docker build -t $APP_NAME --target test .
- name: Run Test
env:
ENV: test
IMAGE_TAG: test
ACCOUNT_ID: test
APP_NAME: ${{ github.event.repository.name }}
run: |
export ENV=test
export IMAGE_TAG=test
docker-compose -f build.docker-compose.yml run --rm --entrypoint="npm run test" $APP_NAME
docker run --rm --entrypoint="npm" $APP_NAME run test
- name: Remove Docker's Trash
if: always()
+12 -7
View File
@@ -1,16 +1,21 @@
# install all dependencies
FROM node:18.3.0-alpine3.15 as packages
WORKDIR /packages
COPY package.json .
COPY package-lock.json .
RUN apk update \
&& apk add --no-cache aws-cli \
&& aws codeartifact login --tool npm --repository dadosfera-npm --domain dadosfera --domain-owner 611330257153 --region us-east-1 \
WORKDIR /app
COPY package.json package-lock.json ./
RUN apk add --no-cache aws-cli \
&& aws codeartifact login --tool npm --namespace @dadosfera --repository dadosfera-npm --domain dadosfera --domain-owner 611330257153 --region us-east-1 \
&& npm install
# unit test specific build
FROM node:18.3.0-alpine3.15 as test
WORKDIR /app
COPY --from=packages /app/node_modules ./node_modules
COPY . ./
FROM node:18.3.0-alpine3.15
WORKDIR /app
COPY . /app/
COPY --from=packages /packages/node_modules /app/node_modules
COPY --from=packages /app/node_modules ./node_modules
RUN npm run build
EXPOSE 3333
ENTRYPOINT npm run start
+42 -42
View File
@@ -10,6 +10,8 @@
"license": "UNLICENSED",
"dependencies": {
"@aws-sdk/client-secrets-manager": "^3.112.0",
"@dadosfera/dadosfera-logs": "^1.0.0-beta.3",
"@dadosfera/protospack-v2": "3.10.0",
"@grpc/grpc-js": "^1.6.7",
"@grpc/proto-loader": "^0.6.13",
"@nestjs/common": "^8.4.7",
@@ -23,7 +25,6 @@
"@nestjs/swagger": "^5.2.1",
"axios": "^0.25.0",
"cron-parser": "^4.4.0",
"dadosfera-logs": "^1.0.0-alpha.10",
"dotenv": "^14.3.2",
"elastic-apm-node": "^3.36.0",
"helmet": "^5.1.0",
@@ -36,7 +37,6 @@
"passport-hubspot-oauth2": "^1.0.3",
"passport-mailchimp": "^1.1.0",
"protospack": "2.5.2",
"protospack-v2": "3.9.0-beta.7",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"rxjs": "^7.5.5",
@@ -1712,6 +1712,26 @@
"kuler": "^2.0.0"
}
},
"node_modules/@dadosfera/dadosfera-logs": {
"version": "1.0.0-beta.3",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/dadosfera-logs/-/dadosfera-logs-1.0.0-beta.3.tgz",
"integrity": "sha512-VuGiQlpDulcl1+FSFoT4/6PA9Pr+DAzbFHAYesz9rPinR46ejG7ZBZk3m86NYqQtgMyurqXvgCR8GPy9FpwqFw==",
"dependencies": {
"@elastic/ecs-winston-format": "^1.3.1",
"winston": "^3.7.2",
"winston-log2gelf": "^2.4.0"
}
},
"node_modules/@dadosfera/protospack-v2": {
"version": "3.10.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.10.0.tgz",
"integrity": "sha512-XPfRh2R2zZtN/MRxAwbC994xDJftRlnl3w2vqPGMt996tJCpZkedzdH1hHdqer68QDIMM5td0OpW/Gs8K1H07A==",
"dependencies": {
"@grpc/grpc-js": "^1.6.7",
"rxjs": "^7.5.5",
"ts-proto": "^1.112.2"
}
},
"node_modules/@elastic/ecs-helpers": {
"version": "1.1.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@elastic/ecs-helpers/-/ecs-helpers-1.1.0.tgz",
@@ -4564,16 +4584,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/dadosfera-logs": {
"version": "1.0.0-alpha.10",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/dadosfera-logs/-/dadosfera-logs-1.0.0-alpha.10.tgz",
"integrity": "sha512-OZ5sAkELiEQrViSvHjxM/Vb/skiXnkimNfgExdKPrHuVfy2s46d47p0QkL5XabFCvjEGyRKUCK8+UL/kRsKnnw==",
"dependencies": {
"@elastic/ecs-winston-format": "^1.3.1",
"winston": "^3.7.2",
"winston-log2gelf": "^2.4.0"
}
},
"node_modules/data-urls": {
"version": "2.0.0",
"dev": true,
@@ -9014,16 +9024,6 @@
"rxjs": "^7.5.5"
}
},
"node_modules/protospack-v2": {
"version": "3.9.0-beta.7",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/protospack-v2/-/protospack-v2-3.9.0-beta.7.tgz",
"integrity": "sha512-QZqFz0Kc5pgcHOhNs4O6JG2kMZKDvY+7RwEdniRfb75ZSy/7BRJXLJUzB7Kjj1poIUM12n+gUg3kj3n00Gwegg==",
"dependencies": {
"@grpc/grpc-js": "^1.6.7",
"rxjs": "^7.5.5",
"ts-proto": "^1.112.2"
}
},
"node_modules/proxy-addr": {
"version": "2.0.7",
"license": "MIT",
@@ -12276,6 +12276,26 @@
"kuler": "^2.0.0"
}
},
"@dadosfera/dadosfera-logs": {
"version": "1.0.0-beta.3",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/dadosfera-logs/-/dadosfera-logs-1.0.0-beta.3.tgz",
"integrity": "sha512-VuGiQlpDulcl1+FSFoT4/6PA9Pr+DAzbFHAYesz9rPinR46ejG7ZBZk3m86NYqQtgMyurqXvgCR8GPy9FpwqFw==",
"requires": {
"@elastic/ecs-winston-format": "^1.3.1",
"winston": "^3.7.2",
"winston-log2gelf": "^2.4.0"
}
},
"@dadosfera/protospack-v2": {
"version": "3.10.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.10.0.tgz",
"integrity": "sha512-XPfRh2R2zZtN/MRxAwbC994xDJftRlnl3w2vqPGMt996tJCpZkedzdH1hHdqer68QDIMM5td0OpW/Gs8K1H07A==",
"requires": {
"@grpc/grpc-js": "^1.6.7",
"rxjs": "^7.5.5",
"ts-proto": "^1.112.2"
}
},
"@elastic/ecs-helpers": {
"version": "1.1.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@elastic/ecs-helpers/-/ecs-helpers-1.1.0.tgz",
@@ -14239,16 +14259,6 @@
}
}
},
"dadosfera-logs": {
"version": "1.0.0-alpha.10",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/dadosfera-logs/-/dadosfera-logs-1.0.0-alpha.10.tgz",
"integrity": "sha512-OZ5sAkELiEQrViSvHjxM/Vb/skiXnkimNfgExdKPrHuVfy2s46d47p0QkL5XabFCvjEGyRKUCK8+UL/kRsKnnw==",
"requires": {
"@elastic/ecs-winston-format": "^1.3.1",
"winston": "^3.7.2",
"winston-log2gelf": "^2.4.0"
}
},
"data-urls": {
"version": "2.0.0",
"dev": true,
@@ -17244,16 +17254,6 @@
"rxjs": "^7.5.5"
}
},
"protospack-v2": {
"version": "3.9.0-beta.7",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/protospack-v2/-/protospack-v2-3.9.0-beta.7.tgz",
"integrity": "sha512-QZqFz0Kc5pgcHOhNs4O6JG2kMZKDvY+7RwEdniRfb75ZSy/7BRJXLJUzB7Kjj1poIUM12n+gUg3kj3n00Gwegg==",
"requires": {
"@grpc/grpc-js": "^1.6.7",
"rxjs": "^7.5.5",
"ts-proto": "^1.112.2"
}
},
"proxy-addr": {
"version": "2.0.7",
"requires": {
+2 -2
View File
@@ -38,7 +38,7 @@
"@nestjs/swagger": "^5.2.1",
"axios": "^0.25.0",
"cron-parser": "^4.4.0",
"dadosfera-logs": "^1.0.0-alpha.10",
"@dadosfera/dadosfera-logs": "^1.0.0-beta.3",
"dotenv": "^14.3.2",
"elastic-apm-node": "^3.36.0",
"helmet": "^5.1.0",
@@ -51,7 +51,7 @@
"passport-hubspot-oauth2": "^1.0.3",
"passport-mailchimp": "^1.1.0",
"protospack": "2.5.2",
"protospack-v2": "3.9.0-beta.7",
"@dadosfera/protospack-v2": "3.10.0",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"rxjs": "^7.5.5",
+1 -1
View File
@@ -40,7 +40,7 @@ import { ConnectorModule } from './modules/connector/connector.module';
import { AuthModule } from './modules/auth/auth.module';
import { PermissionsModule } from './modules/permissions/permissions.module';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { TermsOfUseModule } from './modules/termsOfUse/termsOfUse.module';
const inputClient = new InputsClientConfiguration();
@@ -5,7 +5,7 @@ import { APP_GUARD } from '@nestjs/core';
import jwt from 'jsonwebtoken';
import { Body, Controller, Get } from '@nestjs/common';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import {
AuthenticateCondition,
Authenticated,
+3 -2
View File
@@ -8,7 +8,7 @@ import {
import { Reflector } from '@nestjs/core';
import assert from 'assert';
import jwt from 'jsonwebtoken';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { AuthClientService } from '../modules/auth/auth.service';
import {
AuthenticationFunction,
@@ -22,7 +22,7 @@ import ErrorCodes from '../utils/errorCodes';
export class AuthenticationGuard
implements CanActivate, OnApplicationBootstrap
{
logger: any;
logger: DadosferaLogger;
pems: Map<string, string>;
@@ -121,6 +121,7 @@ export class AuthenticationGuard
customer_id: accessTokenPayload.customer_id,
customer_name: accessTokenPayload.customer_name,
customer_tier: accessTokenPayload.customer_tier,
access_token: accessToken,
};
// TODO: for backwards compatibility. remove in the future
request.body.info = {
+3 -1
View File
@@ -5,7 +5,7 @@ import { APP_GUARD } from '@nestjs/core';
import jwt from 'jsonwebtoken';
import { Controller, Get } from '@nestjs/common';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { AuthenticationGuard } from './authentication.guard';
import { AuthClientService } from '../modules/auth/auth.service';
@@ -55,6 +55,7 @@ describe('user.decorator', () => {
customer_id: '9d18e8ae-24b9-41a3-9e8f-a25ce57555b11',
customer_name: 'dadosfera',
customer_tier: 'BASIC',
access_token: '',
};
beforeAll(async () => {
@@ -176,5 +177,6 @@ describe('user.decorator', () => {
UserTest(null);
const token = CreateToken();
fakeUserPayload.access_token = token;
UserTest(token);
});
+1
View File
@@ -10,6 +10,7 @@ export interface RequestUser {
customer_id: string;
customer_name: string;
customer_tier: string;
access_token: string;
}
export const User: (options?: { required?: boolean }) => ParameterDecorator =
+1 -1
View File
@@ -1,6 +1,6 @@
import { credentials } from '@grpc/grpc-js';
import { ClientOptions, Transport } from '@nestjs/microservices';
import { ProtoPackages, ProtoPaths } from 'protospack-v2/dist/lib/Duc';
import { ProtoPackages, ProtoPaths } from '@dadosfera/protospack-v2/dist/lib/Duc';
export class DucClient {
config(): ClientOptions {
+2 -2
View File
@@ -24,14 +24,14 @@ import {
objectSnakeToCamel,
} from 'src/utils/CaseConverter';
import { mustache } from 'src/utils/mustache';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { OauthSecrets } from 'src/utils/OauthSecrets';
import { URLSearchParams } from 'url';
import { IIdRequest, UpdateInputRequest } from './interfaces';
export class InputsClientService implements OnModuleInit {
private inputService: InputService;
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+2 -2
View File
@@ -1,6 +1,6 @@
import { Controller, Inject, OnModuleInit } from '@nestjs/common';
import { ClientGrpc, Payload } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { OutputServicesNames, OutputsServiceInterface } from 'protospack';
import {
objectCamelToSnake,
@@ -15,7 +15,7 @@ import {
@Controller('output')
export class OutputsClientService implements OnModuleInit {
private outputService: OutputsServiceInterface;
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+2 -2
View File
@@ -17,11 +17,11 @@ import {
IIdRequest,
IUpdatePipelineRequest,
} from './interfaces';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
export class PipelinesClientService implements OnModuleInit {
private pipelineService: PipelinesServiceInterface;
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
@@ -1,7 +1,7 @@
import { Controller, Inject, OnModuleInit, Post } from '@nestjs/common';
import { ClientGrpc } from '@nestjs/microservices';
import { TransformationsServiceInterface } from 'protospack';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import {
objectCamelToSnake,
objectSnakeToCamel,
@@ -11,7 +11,7 @@ import { ICreateTransformationsRequest, IIdRequest } from './interfaces';
@Controller('transformation')
export class TransformationsClientService implements OnModuleInit {
private transformationService: TransformationsServiceInterface;
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+3 -14
View File
@@ -2,7 +2,7 @@ if (process.env.ENV !== 'local') require('elastic-apm-node/start');
import { NestFactory } from '@nestjs/core';
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
import helmet from 'helmet';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import documentEmpty from '../swagger_empty.json';
@@ -12,21 +12,10 @@ async function bootstrap() {
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);
}
};
const logger = new DadosferaLogger();
const app = await NestFactory.create(AppModule, {
logger: logger,
logger,
cors: {
origin: '*',
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
+3 -3
View File
@@ -19,17 +19,17 @@ import {
AuthEnableTotpMfaRequest,
AuthDisableTotpMfaRequest,
AuthVerifyTotpMfaRequest,
} from 'protospack-v2/dist/lib/Duc/interfaces/messages';
} from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages';
import { AuthClientService } from './auth.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { GrpcToHttpExceptionFilter } from '../../error/grpc-to-http-exception.filter';
@ApiTags('Auth')
@UseFilters(new GrpcToHttpExceptionFilter())
@Controller('auth')
export class AuthController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
+1 -1
View File
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
import { ClientsModule } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { AuthController } from './auth.controller';
import { AuthClientService } from './auth.service';
+5 -5
View File
@@ -1,10 +1,10 @@
import { OnModuleInit, Inject, Injectable } from '@nestjs/common';
import { ClientGrpc } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { lastValueFrom } from 'rxjs';
import { ProtoServices } from 'protospack-v2/dist/lib/Duc';
import { AuthProtoService as AuthServiceInterface } from 'protospack-v2/dist/lib/Duc/interfaces/write-service';
import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc';
import { AuthProtoService as AuthServiceInterface } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service';
import {
AuthSignInRequest,
AuthRefreshAccessTokenRequest,
@@ -16,11 +16,11 @@ import {
AuthResetPasswordRequest,
AuthVerifyResetPasswordCodeRequest,
AuthConfirmResetPasswordRequest,
} from 'protospack-v2/dist/lib/Duc/interfaces/messages';
} from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages';
@Injectable()
export class AuthClientService implements OnModuleInit {
logger: any;
logger: DadosferaLogger;
private authService: AuthServiceInterface;
constructor(
+2 -2
View File
@@ -12,7 +12,7 @@ import { ApiTags } from '@nestjs/swagger';
import { AuthenticateCondition } from '../../authentication/authentication.decorator';
import { PERMISSIONS } from '../../authentication/permissions.enum';
import { CatalogService } from './catalog.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
@ApiTags('Catalog')
@Controller('catalog')
@@ -37,7 +37,7 @@ import { DadosferaLogger } from 'dadosfera-logs';
);
})
export class CatalogController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+1 -1
View File
@@ -1,6 +1,6 @@
import { credentials } from '@grpc/grpc-js';
import { ClientOptions, Transport } from '@nestjs/microservices';
import { ConnectorManager } from 'protospack-v2';
import { ConnectorManager } from '@dadosfera/protospack-v2';
export class ConnectorClientConfiguration {
config(): ClientOptions {
+1 -1
View File
@@ -6,7 +6,7 @@ import {
HttpStatus,
} from '@nestjs/common';
import { ClientGrpc } from '@nestjs/microservices';
import { ConnectorManager } from 'protospack-v2';
import { ConnectorManager } from '@dadosfera/protospack-v2';
import { lastValueFrom } from 'rxjs';
export class ConnectorClientService implements OnModuleInit {
@@ -24,7 +24,7 @@ import { DeleteConnectorDto } from './dtos/delete-connector';
import { GetAllDto } from './dtos/get-all';
import { RemoveTagDto } from './dtos/remove-tag';
import { UpdateDto } from './dtos/update';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import {
Authenticated,
RequireAllPermissions,
@@ -36,7 +36,7 @@ import { PERMISSIONS } from 'src/authentication/permissions.enum';
@Authenticated()
@Controller('connectors')
export class ConnectorController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+1 -1
View File
@@ -3,7 +3,7 @@ import { ClientsModule } from '@nestjs/microservices';
import { ConnectorClientService } from './client.service';
import { ConnectorClientConfiguration } from './client.config';
import { ConnectorController } from './connector.controller';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
const connectorClient = new ConnectorClientConfiguration();
+2 -2
View File
@@ -1,12 +1,12 @@
import { Controller, Get, Inject } from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { HealthService } from './health.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
@ApiTags('Health')
@Controller('health')
export class HealthController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+2 -2
View File
@@ -1,9 +1,9 @@
import { Inject, Injectable } from '@nestjs/common';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
@Injectable()
export class HealthService {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+2 -2
View File
@@ -9,7 +9,7 @@ import {
Post,
} from '@nestjs/common';
import { InputsService } from './inputs.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { InputsClientService } from 'src/clients/inputs/client.service';
import { UpdateInputRequest } from 'src/clients/inputs/interfaces';
import { PERMISSIONS } from '../../authentication/permissions.enum';
@@ -59,7 +59,7 @@ import {
})
export class InputsController {
inputService: InputsService;
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+2 -2
View File
@@ -14,7 +14,7 @@ import { OutputsClientService } from 'src/clients/outputs/client.service';
import { AuthenticateCondition } from 'src/authentication/authentication.decorator';
import { PERMISSIONS } from '../../authentication/permissions.enum';
import { OutputsService } from './outputs.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
@ApiTags('Outputs')
@Controller('outputs')
@@ -39,7 +39,7 @@ import { DadosferaLogger } from 'dadosfera-logs';
);
})
export class OutputsController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
@@ -2,7 +2,7 @@ import { ClientsModule } from '@nestjs/microservices';
import { Test, TestingModule } from '@nestjs/testing';
import { DucClient } from 'src/clients/duc/client.config';
import { PermissionsController } from './permissions.controller';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { PermissionsService } from './permissions.service';
const ducClient = new DucClient();
@@ -1,6 +1,6 @@
import { Controller, Get, Headers, Inject } from '@nestjs/common';
import { ApiHeader, ApiOkResponse, ApiTags } from '@nestjs/swagger';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import {
Authenticated,
RequireAllPermissions,
@@ -24,7 +24,7 @@ import { PermissionsService } from './permissions.service';
})
@Authenticated()
export class PermissionsController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
import { ClientsModule } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { PermissionsService } from './permissions.service';
@@ -7,10 +7,10 @@ import {
import { ClientGrpc } from '@nestjs/microservices';
import { lastValueFrom } from 'rxjs';
import { ProtoServices } from 'protospack-v2/dist/lib/Duc';
import { PermissionsProtoService as PermissionsServiceInterface } from 'protospack-v2/dist/lib/Duc/interfaces/write-service';
import { InjectPermissionsRequest } from 'protospack-v2/dist/lib/Duc/interfaces/messages';
import { DadosferaLogger } from 'dadosfera-logs';
import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc';
import { PermissionsProtoService as PermissionsServiceInterface } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service';
import { InjectPermissionsRequest } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import {
PERMISSIONS,
PermissionUsages,
@@ -25,7 +25,7 @@ import { LanguageEnum } from 'src/utils/languages.enum';
export class PermissionsService
implements OnModuleInit, OnApplicationBootstrap
{
logger: any;
logger: DadosferaLogger;
private permissionsClientService: PermissionsServiceInterface;
constructor(
@@ -13,7 +13,7 @@ import { PipelinesClientService } from 'src/clients/pipelines/client.service';
import { AuthenticateCondition } from 'src/authentication/authentication.decorator';
import { PERMISSIONS } from '../../authentication/permissions.enum';
import { PipelinesService } from './pipelines.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
@ApiTags('Pipelines')
@Controller('pipelines')
@@ -38,7 +38,7 @@ import { DadosferaLogger } from 'dadosfera-logs';
);
})
export class PipelinesController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+2
View File
@@ -19,6 +19,8 @@ export class RoleDto {
createdAt: string;
@ApiProperty()
updatedAt: string;
@ApiProperty()
isPublic: boolean;
@ApiProperty({ type: () => Customer })
customer?: Customer;
}
+1 -1
View File
@@ -3,7 +3,7 @@ import { Test, TestingModule } from '@nestjs/testing';
import { DucClient } from 'src/clients/duc/client.config';
import { RolesController } from './roles.controller';
import { RolesService } from './roles.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { PermissionsModule } from '../permissions/permissions.module';
const ducClient = new DucClient();
+11 -11
View File
@@ -19,7 +19,7 @@ import {
ApiTags,
} from '@nestjs/swagger';
import { RequestUser, User } from 'src/authentication/user.decorator';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { RolesService } from './roles.service';
import {
GrantPermissionsToRoleReq,
@@ -57,7 +57,7 @@ import { LanguageEnum } from 'src/utils/languages.enum';
@Authenticated()
@Controller('roles')
export class RolesController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
@@ -77,7 +77,7 @@ export class RolesController {
) {
this.logger.info('searchRoles', { user });
this.rolesService.setLanguage(language);
return await this.rolesService.roleSearch(filters, user.customer_id);
return await this.rolesService.roleSearch(filters, user);
}
@Post()
@@ -90,7 +90,7 @@ export class RolesController {
) {
this.logger.info('createRole', { user });
this.rolesService.setLanguage(language);
return await this.rolesService.createRole(body, user.customer_id);
return await this.rolesService.createRole(body, user);
}
@Put('permissions')
@@ -103,7 +103,7 @@ export class RolesController {
) {
this.logger.info('grantPermissionsToRole', { user });
this.rolesService.setLanguage(language);
return await this.rolesService.grantPermissionsToRole(body);
return await this.rolesService.grantPermissionsToRole(body, user);
}
@Delete('permissions')
@@ -116,7 +116,7 @@ export class RolesController {
) {
this.logger.info('revokePermissionsToRole', { user });
this.rolesService.setLanguage(language);
return await this.rolesService.revokePermissionFromRole(body);
return await this.rolesService.revokePermissionFromRole(body, user);
}
@Patch('permissions')
@@ -129,7 +129,7 @@ export class RolesController {
) {
this.logger.info('setRolePermissions', { user });
this.rolesService.setLanguage(language);
return this.rolesService.setRolePermissions(body);
return this.rolesService.setRolePermissions(body, user);
}
@Patch('users')
@@ -142,7 +142,7 @@ export class RolesController {
) {
this.logger.info('setRoleUsers', { user });
this.rolesService.setLanguage(language);
return this.rolesService.setRoleUsers(body);
return this.rolesService.setRoleUsers(body, user);
}
@Get(':id')
@@ -155,7 +155,7 @@ export class RolesController {
) {
this.logger.info('getRoleById', { user });
this.rolesService.setLanguage(language);
return await this.rolesService.getRolesById(id);
return await this.rolesService.getRolesById(id, user);
}
@Delete(':id')
@@ -167,7 +167,7 @@ export class RolesController {
) {
this.logger.info('deleteRole', { user });
this.rolesService.setLanguage(language);
return await this.rolesService.removeRole(id);
return await this.rolesService.removeRole(id, user);
}
@Patch(':id')
@@ -181,6 +181,6 @@ export class RolesController {
) {
this.logger.info('updateRole', { user });
this.rolesService.setLanguage(language);
return this.rolesService.updateRole(id, body);
return this.rolesService.updateRole(id, body, user);
}
}
+1 -1
View File
@@ -3,7 +3,7 @@ import { ClientsModule } from '@nestjs/microservices';
import { DucClient } from 'src/clients/duc/client.config';
import { RolesController } from './roles.controller';
import { RolesService } from './roles.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { PermissionsModule } from '../permissions/permissions.module';
const ducClient = new DucClient();
+1 -1
View File
@@ -2,7 +2,7 @@ import { ClientsModule } from '@nestjs/microservices';
import { Test, TestingModule } from '@nestjs/testing';
import { RolesController } from './roles.controller';
import { RolesService } from './roles.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { DucClient } from 'src/clients/duc/client.config';
import { PermissionsModule } from '../permissions/permissions.module';
+137 -65
View File
@@ -1,6 +1,6 @@
import { BadRequestException, Inject, Injectable } from '@nestjs/common';
import { ProtoServices } from 'protospack-v2/dist/lib/Duc';
import { RolesProtoService } from 'protospack-v2/dist/lib/Duc/interfaces/write-service';
import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc';
import { RolesProtoService } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service';
import {
CreateRoleReq,
GetRolesByCustomerReq,
@@ -11,16 +11,27 @@ import {
SetRoleUsersReq,
UpdateRoleReq,
} from './dto/entities';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { Metadata } from '@grpc/grpc-js';
import { ClientGrpc } from '@nestjs/microservices';
import { Permission } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/entities';
import { lastValueFrom } from 'rxjs';
import { PermissionsService } from '../permissions/permissions.service';
import { UserRole } from 'protospack-v2/dist/lib/Duc/interfaces/entities';
import { LanguageEnum } from 'src/utils/languages.enum';
import { RequestUser } from 'src/authentication/user.decorator';
interface GetRolesPermissionsName {
id: string;
name: string;
description: string;
permissions: Permission[];
isPublic?: boolean;
createdAt: string;
updatedAt: string;
}
@Injectable()
export class RolesService {
logger: any;
logger: DadosferaLogger;
private language: LanguageEnum = LanguageEnum.ptbr;
private rolesClientService: RolesProtoService;
constructor(
@@ -41,16 +52,28 @@ export class RolesService {
ProtoServices.RolesProtoService,
);
}
async getRolesById(id: string) {
async getRolesById(id: string, { access_token }: RequestUser) {
const meta = new Metadata();
meta.add('access_token', access_token);
const role = await lastValueFrom(
this.rolesClientService.RoleFindOneById({
id,
}),
this.rolesClientService.RoleFindOneById(
{
id,
},
meta,
),
);
const [roleTreated] = this.getRolesPermissionsName([role.role]);
return { role: roleTreated };
}
async roleSearch(filters: GetRolesByCustomerReq, customerId: string) {
async roleSearch(
filters: GetRolesByCustomerReq,
{ customer_id, access_token }: RequestUser,
) {
const meta = new Metadata();
meta.add('access_token', access_token);
let { permissionId: permissionIds } = filters;
if (permissionIds && !Array.isArray(permissionIds))
permissionIds = [permissionIds];
@@ -64,109 +87,154 @@ export class RolesService {
return seqId;
}) || [];
const roles = await lastValueFrom(
this.rolesClientService.RoleSearch({
customerId,
getUsers: isGetUsers,
permissionIds: [],
permissionSeqIds,
}),
this.rolesClientService.RoleSearch(
{
customerId: customer_id,
getUsers: isGetUsers,
permissionIds: [],
permissionSeqIds,
},
meta,
),
);
const rolesTreated = this.getRolesPermissionsName(roles.roles);
return { roles: rolesTreated };
}
async createRole(data: CreateRoleReq, customerId: string) {
async createRole(
data: CreateRoleReq,
{ customer_id, access_token }: RequestUser,
) {
const meta = new Metadata();
meta.add('access_token', access_token);
const { description, name, permissionIds, userIds } = data;
const role = await lastValueFrom(
this.rolesClientService.RoleCreate({
customerId,
name,
permissionIds: [],
permissionSeqIds: permissionIds,
description,
userIds,
}),
this.rolesClientService.RoleCreate(
{
customerId: customer_id,
name,
permissionIds: [],
permissionSeqIds: permissionIds,
description,
userIds,
},
meta,
),
);
const [roleTreated] = this.getRolesPermissionsName([role.role]);
return { role: roleTreated };
}
async removeRole(id: string) {
return lastValueFrom(this.rolesClientService.RoleRemove({ id }));
async removeRole(id: string, { access_token }: RequestUser) {
const meta = new Metadata();
meta.add('access_token', access_token);
return lastValueFrom(this.rolesClientService.RoleRemove({ id }, meta));
}
async grantPermissionsToRole({
roleId,
permissionIds,
}: GrantPermissionsToRoleReq) {
async grantPermissionsToRole(
{ roleId, permissionIds }: GrantPermissionsToRoleReq,
{ access_token }: RequestUser,
) {
const meta = new Metadata();
meta.add('access_token', access_token);
const role = await lastValueFrom(
this.rolesClientService.GrantPermissionsToRole({
permissionIds: [],
roleId,
permissionSeqIds: permissionIds,
}),
this.rolesClientService.GrantPermissionsToRole(
{
permissionIds: [],
roleId,
permissionSeqIds: permissionIds,
},
meta,
),
);
const [roleTreated] = this.getRolesPermissionsName([role.role]);
return { role: roleTreated };
}
async revokePermissionFromRole({
roleId,
permissionIds,
}: RevokePermissionsFromRoleReq) {
async revokePermissionFromRole(
{ roleId, permissionIds }: RevokePermissionsFromRoleReq,
{ access_token }: RequestUser,
) {
const meta = new Metadata();
meta.add('access_token', access_token);
const role = await lastValueFrom(
this.rolesClientService.RevokePermissionsFromRole({
permissionIds: [],
roleId,
permissionSeqIds: permissionIds,
}),
this.rolesClientService.RevokePermissionsFromRole(
{
permissionIds: [],
roleId,
permissionSeqIds: permissionIds,
},
meta,
),
);
const [roleTreated] = this.getRolesPermissionsName([role.role]);
return { role: roleTreated };
}
async updateRole(id: string, req: UpdateRoleReq) {
async updateRole(
id: string,
req: UpdateRoleReq,
{ access_token }: RequestUser,
) {
const meta = new Metadata();
meta.add('access_token', access_token);
const { description, name } = req;
const role = await lastValueFrom(
this.rolesClientService.RoleUpdate({
id,
description,
name,
}),
this.rolesClientService.RoleUpdate(
{
id,
description,
name,
},
meta,
),
);
const [roleTreated] = this.getRolesPermissionsName([role.role]);
return { role: roleTreated };
}
async setRolePermissions(req: SetRolePermissionsReq) {
async setRolePermissions(
req: SetRolePermissionsReq,
{ access_token }: RequestUser,
) {
const meta = new Metadata();
meta.add('access_token', access_token);
const { roleId: id, permissionIds } = req;
const clearPermissions =
Array.isArray(permissionIds) && permissionIds.length === 0;
const role = await lastValueFrom(
this.rolesClientService.RoleSetPermissions({
id,
permissionSeqIds: permissionIds,
clearPermissions,
}),
this.rolesClientService.RoleSetPermissions(
{
id,
permissionSeqIds: permissionIds,
clearPermissions,
},
meta,
),
);
const [roleTreated] = this.getRolesPermissionsName([role.role]);
return { role: roleTreated };
}
async setRoleUsers(req: SetRoleUsersReq) {
async setRoleUsers(req: SetRoleUsersReq, { access_token }: RequestUser) {
const meta = new Metadata();
meta.add('access_token', access_token);
const { roleId: id, userIds } = req;
const clearUsers = Array.isArray(userIds) && userIds.length === 0;
const role = await lastValueFrom(
this.rolesClientService.RoleSetUsers({
id,
userIds,
clearUsers,
}),
this.rolesClientService.RoleSetUsers(
{
id,
userIds,
clearUsers,
},
meta,
),
);
const [roleTreated] = this.getRolesPermissionsName([role.role]);
return { role: roleTreated };
}
getRolesPermissionsName(roles: UserRole[]): RoleDto[] {
getRolesPermissionsName(roles: GetRolesPermissionsName[]): RoleDto[] {
const newRoles: RoleDto[] = [];
for (const role of roles) {
const allPermissions = this.permissionsService.getAllPermissions(
@@ -180,7 +248,11 @@ export class RolesService {
id: p.seqid,
};
});
const newRole: RoleDto = { ...role, permissions: newPermissions };
const newRole: RoleDto = {
...role,
permissions: newPermissions,
isPublic: role.isPublic,
};
newRoles.push(newRole);
}
return newRoles;
@@ -10,10 +10,10 @@ import {
UseFilters,
} from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { TermsOfUseAcceptRequest } from 'protospack-v2/dist/lib/Duc/interfaces/messages';
import { TermsOfUseAcceptRequest } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages';
import { TermsOfUseClientService } from './termsOfUse.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { GrpcToHttpExceptionFilter } from '../../error/grpc-to-http-exception.filter';
import { RequestUser, User } from '../../authentication/user.decorator';
@@ -22,7 +22,7 @@ import { RequestUser, User } from '../../authentication/user.decorator';
@UseFilters(new GrpcToHttpExceptionFilter())
@Controller('terms-of-use')
export class TermsOfUseController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
+1 -1
View File
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
import { ClientsModule } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { TermsOfUseController } from './termsOfUse.controller';
import { TermsOfUseClientService } from './termsOfUse.service';
+5 -5
View File
@@ -1,18 +1,18 @@
import { OnModuleInit, Inject, Injectable } from '@nestjs/common';
import { ClientGrpc } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { lastValueFrom } from 'rxjs';
import { ProtoServices } from 'protospack-v2/dist/lib/Duc';
import { TermsOfUseProtoService as TermsOfUseServiceInterface } from 'protospack-v2/dist/lib/Duc/interfaces/write-service';
import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc';
import { TermsOfUseProtoService as TermsOfUseServiceInterface } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service';
import {
TermsOfUseGetTokenRequest,
TermsOfUseAcceptRequest,
} from 'protospack-v2/dist/lib/Duc/interfaces/messages';
} from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages';
@Injectable()
export class TermsOfUseClientService implements OnModuleInit {
logger: any;
logger: DadosferaLogger;
private termsOfUseService: TermsOfUseServiceInterface;
constructor(
@@ -15,7 +15,7 @@ import { IIdRequest } from 'src/clients/transformations/interfaces';
import { AuthenticateCondition } from 'src/authentication/authentication.decorator';
import { PERMISSIONS } from '../../authentication/permissions.enum';
import { TransformationsService } from './transformations.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
@ApiTags('Transformations')
@Controller('transformations')
@@ -40,7 +40,7 @@ import { DadosferaLogger } from 'dadosfera-logs';
);
})
export class TransformationsController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
dadosferaLogger: DadosferaLogger,
+1 -1
View File
@@ -3,7 +3,7 @@ import { Test, TestingModule } from '@nestjs/testing';
import { DucClient } from 'src/clients/duc/client.config';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { RolesModule } from '../roles/roles.module';
import { PermissionsModule } from '../permissions/permissions.module';
+2 -2
View File
@@ -20,7 +20,7 @@ import {
ApiOkResponse,
ApiTags,
} from '@nestjs/swagger';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { RequireAllPermissions } from 'src/authentication/authentication.decorator';
import { PERMISSIONS } from 'src/authentication/permissions.enum';
import { RequestUser, User } from 'src/authentication/user.decorator';
@@ -57,7 +57,7 @@ import { UsersService } from './users.service';
})
@UseFilters(GrpcToHttpExceptionFilter)
export class UsersController {
logger: any;
logger: DadosferaLogger;
constructor(
@Inject(DadosferaLogger)
+1 -1
View File
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { ClientsModule } from '@nestjs/microservices';
import { DucClient } from 'src/clients/duc/client.config';
import { RolesModule } from '../roles/roles.module';
+1 -1
View File
@@ -2,7 +2,7 @@ import { ClientsModule } from '@nestjs/microservices';
import { Test, TestingModule } from '@nestjs/testing';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { DucClient } from 'src/clients/duc/client.config';
import { RolesModule } from '../roles/roles.module';
import { PermissionsModule } from '../permissions/permissions.module';
+6 -6
View File
@@ -1,15 +1,15 @@
import { OnModuleInit, Inject, Injectable } from '@nestjs/common';
import { ClientGrpc } from '@nestjs/microservices';
import { DadosferaLogger } from 'dadosfera-logs';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { ProtoServices } from 'protospack-v2/dist/lib/Duc';
import { UsersProtoService } from 'protospack-v2/dist/lib/Duc/interfaces/write-service';
import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc';
import { UsersProtoService } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service';
import {
AssignRoleToUserRequest,
IdRequest,
UnassignRoleFromUserRequest,
UserCreateRequest,
} from 'protospack-v2/dist/lib/Duc/interfaces/messages';
} from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages';
import { lastValueFrom } from 'rxjs';
import {
BatchCreateUserReq,
@@ -21,12 +21,12 @@ import {
import { RolesService } from '../roles/roles.service';
import { HIERARCHIES } from './hierarchies';
import { LanguageEnum } from 'src/utils/languages.enum';
import { UserByCustomer } from 'protospack-v2/dist/lib/Duc/interfaces/entities';
import { UserByCustomer } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/entities';
import { EnrichErrorCode } from 'src/utils/ErrorBuilder';
@Injectable()
export class UsersService implements OnModuleInit {
logger: any;
logger: DadosferaLogger;
language: LanguageEnum = LanguageEnum.ptbr;
private usersClientService: UsersProtoService;
+8
View File
@@ -136,10 +136,18 @@ export function EnrichErrorCode(code: string) {
code,
};
case ErrorCodes.ROLE.NOT_FOUND:
case ErrorCodes.ROLE.FROM_ANOTHER_CUSTOMER:
return {
statusCode: HttpStatus.NOT_FOUND,
error: 'Grupo não encontrado',
message: 'Grupo solicitado não encontrado',
code: ErrorCodes.ROLE.NOT_FOUND,
};
case ErrorCodes.ROLE.CANNOT_EDIT_PUBLIC_ROLE:
return {
statusCode: HttpStatus.FORBIDDEN,
error: 'Grupo público',
message: 'Você não tem permissão para editar esse grupo',
code,
};
case ErrorCodes.USER.NOT_FOUND:
+2
View File
@@ -16,6 +16,8 @@ export const AUTH = {
export const ROLE = {
ALREADY_EXIST: 'ROLE.ALREADY_EXISTS',
NOT_FOUND: 'ROLE.NOT_FOUND',
FROM_ANOTHER_CUSTOMER: 'ROLE.FROM_ANOTHER_CUSTOMER',
CANNOT_EDIT_PUBLIC_ROLE: 'ROLE.CANNOT_EDIT_PUBLIC_ROLE',
};
export const USER = {