mirror of
https://github.com/dadosfera/maestro.git
synced 2026-09-08 17:34:48 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9b85537d7 | ||
|
|
17060332fd | ||
|
|
fde6d0a74c | ||
|
|
0ca6ed8636 | ||
|
|
2f006c607c | ||
|
|
9fbbfc2064 | ||
|
|
ba12d45bf7 | ||
|
|
ec418b00e7 | ||
|
|
89a02a4e8a | ||
|
|
7cf178db42 | ||
|
|
2673e75f81 | ||
|
|
6382939e1e | ||
|
|
3bea2e4cda | ||
|
|
d9a7555d01 | ||
|
|
4fb24d5b5c |
Vendored
+22
@@ -0,0 +1,22 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Debug NestJs",
|
||||
"request": "launch",
|
||||
"runtimeArgs": [
|
||||
"run",
|
||||
"start:debug"
|
||||
],
|
||||
"runtimeExecutable": "npm",
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
],
|
||||
"type": "node",
|
||||
"console": "integratedTerminal"
|
||||
}
|
||||
]
|
||||
}
|
||||
Generated
+8
-8
@@ -10,8 +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",
|
||||
"@dadosfera/dadosfera-logs": "1.0.0-beta.3",
|
||||
"@dadosfera/protospack-v2": "3.11.0",
|
||||
"@grpc/grpc-js": "^1.6.7",
|
||||
"@grpc/proto-loader": "^0.6.13",
|
||||
"@nestjs/common": "^8.4.7",
|
||||
@@ -1723,9 +1723,9 @@
|
||||
}
|
||||
},
|
||||
"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==",
|
||||
"version": "3.11.0",
|
||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.11.0.tgz",
|
||||
"integrity": "sha512-BPjbH/CrYAH1jGEBNBr3W56frLu9gb9A+i2smKyM5vxVQpZgxZHEjSxfv92d4wtFWW6QnzeyMhcmCqaoVV4w2Q==",
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "^1.6.7",
|
||||
"rxjs": "^7.5.5",
|
||||
@@ -12287,9 +12287,9 @@
|
||||
}
|
||||
},
|
||||
"@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==",
|
||||
"version": "3.11.0",
|
||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.11.0.tgz",
|
||||
"integrity": "sha512-BPjbH/CrYAH1jGEBNBr3W56frLu9gb9A+i2smKyM5vxVQpZgxZHEjSxfv92d4wtFWW6QnzeyMhcmCqaoVV4w2Q==",
|
||||
"requires": {
|
||||
"@grpc/grpc-js": "^1.6.7",
|
||||
"rxjs": "^7.5.5",
|
||||
|
||||
+2
-2
@@ -25,6 +25,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-secrets-manager": "^3.112.0",
|
||||
"@dadosfera/dadosfera-logs": "1.0.0-beta.3",
|
||||
"@dadosfera/protospack-v2": "3.11.0",
|
||||
"@grpc/grpc-js": "^1.6.7",
|
||||
"@grpc/proto-loader": "^0.6.13",
|
||||
"@nestjs/common": "^8.4.7",
|
||||
@@ -38,7 +40,6 @@
|
||||
"@nestjs/swagger": "^5.2.1",
|
||||
"axios": "^0.25.0",
|
||||
"cron-parser": "^4.4.0",
|
||||
"@dadosfera/dadosfera-logs": "^1.0.0-beta.3",
|
||||
"dotenv": "^14.3.2",
|
||||
"elastic-apm-node": "^3.36.0",
|
||||
"helmet": "^5.1.0",
|
||||
@@ -51,7 +52,6 @@
|
||||
"passport-hubspot-oauth2": "^1.0.3",
|
||||
"passport-mailchimp": "^1.1.0",
|
||||
"protospack": "2.5.2",
|
||||
"@dadosfera/protospack-v2": "3.10.0",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"rimraf": "^3.0.2",
|
||||
"rxjs": "^7.5.5",
|
||||
|
||||
@@ -58,8 +58,8 @@ export const PERMISSIONS = {
|
||||
|
||||
PIPELINE: {
|
||||
title: {
|
||||
'pt-br': 'Pipelines',
|
||||
'en-us': 'Pipelines',
|
||||
'pt-br': 'Coletar | Pipelines',
|
||||
'en-us': 'Collect | Pipelines',
|
||||
},
|
||||
permissions: {
|
||||
CREATE: {
|
||||
@@ -94,7 +94,7 @@ export const PERMISSIONS = {
|
||||
claim: 'DELETE /pipelines',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
name: {
|
||||
'pt-br': 'Remover pipeline',
|
||||
'pt-br': 'Excluir pipeline',
|
||||
'en-us': 'Delete pipeline',
|
||||
},
|
||||
},
|
||||
@@ -103,14 +103,14 @@ export const PERMISSIONS = {
|
||||
|
||||
INPUT: {
|
||||
title: {
|
||||
'pt-br': 'Conexões',
|
||||
'en-us': 'Connections',
|
||||
'pt-br': 'Coletar | Conexões',
|
||||
'en-us': 'Collect | Connections',
|
||||
},
|
||||
permissions: {
|
||||
CREATE: {
|
||||
seqid: 21,
|
||||
claim: 'POST /inputs',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Criar conexões',
|
||||
'en-us': 'Create connections',
|
||||
@@ -119,7 +119,7 @@ export const PERMISSIONS = {
|
||||
GET: {
|
||||
seqid: 9,
|
||||
claim: 'GET /inputs',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Buscar conexões',
|
||||
'en-us': 'Get connections',
|
||||
@@ -128,7 +128,7 @@ export const PERMISSIONS = {
|
||||
UPDATE: {
|
||||
seqid: 27,
|
||||
claim: 'PUT /inputs',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Atualizar conexões',
|
||||
'en-us': 'Create connections',
|
||||
@@ -137,18 +137,18 @@ export const PERMISSIONS = {
|
||||
DELETE: {
|
||||
seqid: 3,
|
||||
claim: 'DELETE /inputs',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Remover conexões',
|
||||
'pt-br': 'Excluir conexões',
|
||||
'en-us': 'Delete connections',
|
||||
},
|
||||
},
|
||||
GET_ENTITIES: {
|
||||
seqid: 10,
|
||||
claim: 'GET /inputs/available-entities',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Remover conexões',
|
||||
'pt-br': 'Excluir conexões',
|
||||
'en-us': 'Delete connections',
|
||||
},
|
||||
},
|
||||
@@ -193,7 +193,7 @@ export const PERMISSIONS = {
|
||||
claim: 'DELETE /outputs',
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Remover outputs',
|
||||
'pt-br': 'Excluir outputs',
|
||||
'en-us': 'Remove outputs',
|
||||
},
|
||||
},
|
||||
@@ -209,7 +209,7 @@ export const PERMISSIONS = {
|
||||
CREATE: {
|
||||
seqid: 24,
|
||||
claim: 'POST /transformations',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Criar micro-transformações',
|
||||
'en-us': 'Create micro-transformations',
|
||||
@@ -218,7 +218,7 @@ export const PERMISSIONS = {
|
||||
GET: {
|
||||
seqid: 15,
|
||||
claim: 'GET /transformations',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Buscar micro-transformações',
|
||||
'en-us': 'Get micro-transformations',
|
||||
@@ -227,7 +227,7 @@ export const PERMISSIONS = {
|
||||
UPDATE: {
|
||||
seqid: 30,
|
||||
claim: 'PUT /transformations',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Editar micro-transformações',
|
||||
'en-us': 'Edit micro-transformations',
|
||||
@@ -236,9 +236,9 @@ export const PERMISSIONS = {
|
||||
DELETE: {
|
||||
seqid: 6,
|
||||
claim: 'DELETE /transformations',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Remover micro-transformações',
|
||||
'pt-br': 'Excluir micro-transformações',
|
||||
'en-us': 'Remove micro-transformations',
|
||||
},
|
||||
},
|
||||
@@ -247,44 +247,44 @@ export const PERMISSIONS = {
|
||||
|
||||
CATALOG: {
|
||||
title: {
|
||||
'pt-br': 'Catálogo',
|
||||
'en-us': 'Catalog',
|
||||
'pt-br': 'Explorar | Catálogo',
|
||||
'en-us': 'Explore | Catalog',
|
||||
},
|
||||
permissions: {
|
||||
GET: {
|
||||
seqid: 7,
|
||||
claim: 'GET /catalog',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
name: {
|
||||
'pt-br': 'Buscar data assets',
|
||||
'en-us': 'Search for data assets',
|
||||
},
|
||||
},
|
||||
CREATE: {
|
||||
seqid: 19,
|
||||
claim: 'POST /catalog',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
name: {
|
||||
'pt-br': 'Criar atributos no catálogo',
|
||||
'en-us': 'Create catalog attributes',
|
||||
},
|
||||
},
|
||||
GET: {
|
||||
seqid: 7,
|
||||
claim: 'GET /catalog',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
name: {
|
||||
'pt-br': 'Buscar catálogos',
|
||||
'en-us': 'Get catalogs',
|
||||
'en-us': 'Create attributes',
|
||||
},
|
||||
},
|
||||
UPDATE: {
|
||||
seqid: 25,
|
||||
claim: 'PUT /catalog',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Editar catálogo',
|
||||
'en-us': 'Edit catalogs',
|
||||
'pt-br': 'Editar atributos no catálogo',
|
||||
'en-us': 'Edit attributes',
|
||||
},
|
||||
},
|
||||
DELETE: {
|
||||
seqid: 1,
|
||||
claim: 'DELETE /catalog',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Remover catálogo',
|
||||
'en-us': 'Remove catalogs',
|
||||
'pt-br': 'Excluir atributos no catálogo',
|
||||
'en-us': 'Remove attributes',
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -328,7 +328,7 @@ export const PERMISSIONS = {
|
||||
claim: 'DELETE /connectors',
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Remover conectores',
|
||||
'pt-br': 'Excluir conectores',
|
||||
'en-us': 'Remove connectors',
|
||||
},
|
||||
},
|
||||
@@ -337,8 +337,8 @@ export const PERMISSIONS = {
|
||||
|
||||
SNOWFLAKE: {
|
||||
title: {
|
||||
'pt-br': 'Snowflake',
|
||||
'en-us': 'Snowflake',
|
||||
'pt-br': 'Explorar | Consolidar',
|
||||
'en-us': 'Explore | Data consolidation',
|
||||
},
|
||||
permissions: {
|
||||
OPEN: {
|
||||
@@ -373,14 +373,14 @@ export const PERMISSIONS = {
|
||||
|
||||
METABASE: {
|
||||
title: {
|
||||
'pt-br': 'Metabase',
|
||||
'en-us': 'Metabase',
|
||||
'pt-br': 'Analisar | Visualização',
|
||||
'en-us': 'Analyze | Visualization',
|
||||
},
|
||||
permissions: {
|
||||
OPEN: {
|
||||
seqid: 11,
|
||||
claim: 'GET /metabase',
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
name: {
|
||||
'pt-br': 'Acessar Metabase',
|
||||
'en-us': 'Access Metabase',
|
||||
@@ -391,23 +391,23 @@ export const PERMISSIONS = {
|
||||
|
||||
ORCHEST: {
|
||||
title: {
|
||||
'pt-br': 'Orchest',
|
||||
'en-us': 'Orchest',
|
||||
'pt-br': 'Analisar | Inteligência',
|
||||
'en-us': 'Analyze | Intelligence',
|
||||
},
|
||||
permissions: {
|
||||
INTELLIGENCE: {
|
||||
seqid: 31,
|
||||
claim: 'intelligence:open',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Acessar inteligência',
|
||||
'en-us': 'Access intelligence',
|
||||
'pt-br': 'Acessar Orchest',
|
||||
'en-us': 'Access Orchest',
|
||||
},
|
||||
},
|
||||
APP_BUILDER: {
|
||||
seqid: 32,
|
||||
claim: 'app-builder:open',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Acessar App Builder',
|
||||
'en-us': 'Access App Builder',
|
||||
@@ -416,7 +416,7 @@ export const PERMISSIONS = {
|
||||
MACHINE_LEARNING: {
|
||||
seqid: 33,
|
||||
claim: 'machine-learning:open',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
usage: PermissionUsages.INTERNAL,
|
||||
name: {
|
||||
'pt-br': 'Acessar Machine Learning',
|
||||
'en-us': 'Access Machine Learning',
|
||||
@@ -435,7 +435,7 @@ export const PERMISSIONS = {
|
||||
claim: 'users:admin',
|
||||
usage: PermissionUsages.PUBLIC,
|
||||
name: {
|
||||
'pt-br': 'Administrar usuários e grupos',
|
||||
'pt-br': 'Gestão de usuários e grupos',
|
||||
'en-us': 'Manage user and roles',
|
||||
},
|
||||
},
|
||||
|
||||
@@ -21,9 +21,12 @@ import {
|
||||
AuthVerifyTotpMfaRequest,
|
||||
} from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages';
|
||||
|
||||
import { PERMISSIONS } from 'src/authentication/permissions.enum';
|
||||
import { RequireAllPermissions } from 'src/authentication/authentication.decorator';
|
||||
import { AuthClientService } from './auth.service';
|
||||
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
|
||||
import { GrpcToHttpExceptionFilter } from '../../error/grpc-to-http-exception.filter';
|
||||
import { RequestUser, User } from 'src/authentication/user.decorator';
|
||||
|
||||
@ApiTags('Auth')
|
||||
@UseFilters(new GrpcToHttpExceptionFilter())
|
||||
@@ -39,6 +42,21 @@ export class AuthController {
|
||||
this.logger = dadosferaLogger.logger;
|
||||
}
|
||||
|
||||
@Post('/sso/snowflake')
|
||||
@RequireAllPermissions(PERMISSIONS.SNOWFLAKE.permissions.OPEN)
|
||||
@HttpCode(HttpStatus.OK)
|
||||
async snowflakeSignIn(
|
||||
@User() user: RequestUser,
|
||||
@Body('RelayState') relayState: string,
|
||||
) {
|
||||
this.logger.info('/auth - snowflakeSignIn');
|
||||
|
||||
return this.authClient.snowflakeSignIn({
|
||||
userId: user.user_id,
|
||||
relayState,
|
||||
});
|
||||
}
|
||||
|
||||
@Post('sign-in')
|
||||
@HttpCode(HttpStatus.OK)
|
||||
async signIn(@Body() { username, password, totp }: AuthSignInRequest) {
|
||||
|
||||
@@ -6,6 +6,7 @@ import { lastValueFrom } from 'rxjs';
|
||||
import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc';
|
||||
import { AuthProtoService as AuthServiceInterface } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service';
|
||||
import {
|
||||
AuthSnowflakeSignInRequest,
|
||||
AuthSignInRequest,
|
||||
AuthRefreshAccessTokenRequest,
|
||||
AuthEnableTotpMfaRequest,
|
||||
@@ -43,6 +44,12 @@ export class AuthClientService implements OnModuleInit {
|
||||
return lastValueFrom(this.authService.AuthGetPublicKeys({}));
|
||||
}
|
||||
|
||||
async snowflakeSignIn(input: AuthSnowflakeSignInRequest) {
|
||||
this.logger.info('snowflakeSignIn');
|
||||
|
||||
return lastValueFrom(this.authService.AuthSnowflakeSignIn(input));
|
||||
}
|
||||
|
||||
async signIn({ username, password, totp }: AuthSignInRequest) {
|
||||
this.logger.info('SignIn');
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ export class RoleDto {
|
||||
isPublic: boolean;
|
||||
@ApiProperty({ type: () => Customer })
|
||||
customer?: Customer;
|
||||
@ApiProperty()
|
||||
usage: string;
|
||||
}
|
||||
|
||||
export class CustomerRole extends OmitType(RoleDto, ['customer']) {}
|
||||
|
||||
@@ -28,6 +28,7 @@ interface GetRolesPermissionsName {
|
||||
isPublic?: boolean;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
usage: string;
|
||||
}
|
||||
@Injectable()
|
||||
export class RolesService {
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
Patch,
|
||||
Post,
|
||||
Put,
|
||||
Req,
|
||||
Query,
|
||||
UseFilters,
|
||||
} from '@nestjs/common';
|
||||
import {
|
||||
@@ -172,6 +172,18 @@ export class UsersController {
|
||||
return this.userService.resendInvite({ id });
|
||||
}
|
||||
|
||||
@Delete('role')
|
||||
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
|
||||
async unassignRoleToUser(
|
||||
@User() user: RequestUser,
|
||||
@Query() request: UnassignRoleToUserReq,
|
||||
@Headers('dadosfera-lang') language,
|
||||
) {
|
||||
this.logger.info('unassignRoleToUser', { user });
|
||||
this.userService.setLanguage(language);
|
||||
return await this.userService.unassignRoleFromUser(request);
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
|
||||
@ApiOkResponse({ type: DeleteUserRes })
|
||||
@@ -210,18 +222,6 @@ export class UsersController {
|
||||
return await this.userService.assignRoleToUser(body);
|
||||
}
|
||||
|
||||
@Delete('role')
|
||||
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
|
||||
async unassignRoleToUser(
|
||||
@User() user: RequestUser,
|
||||
@Req() request: UnassignRoleToUserReq,
|
||||
@Headers('dadosfera-lang') language,
|
||||
) {
|
||||
this.logger.info('unassignRoleToUser', { user });
|
||||
this.userService.setLanguage(language);
|
||||
return await this.userService.unassignRoleToUser(request);
|
||||
}
|
||||
|
||||
@Patch(':id')
|
||||
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
|
||||
@ApiOkResponse({ type: UpdateUserRes })
|
||||
|
||||
@@ -161,7 +161,7 @@ export class UsersService implements OnModuleInit {
|
||||
return lastValueFrom(this.usersClientService.AssignRoleToUser(body));
|
||||
}
|
||||
|
||||
async unassignRoleToUser(body: UnassignRoleFromUserRequest) {
|
||||
async unassignRoleFromUser(body: UnassignRoleFromUserRequest) {
|
||||
return lastValueFrom(this.usersClientService.UnassignRoleFromUser(body));
|
||||
}
|
||||
|
||||
|
||||
@@ -128,13 +128,46 @@ export function EnrichErrorCode(code: string) {
|
||||
code,
|
||||
};
|
||||
|
||||
case ErrorCodes.ROLE.ALREADY_EXIST:
|
||||
case ErrorCodes.ROLE.ALREADY_EXISTS:
|
||||
return {
|
||||
statusCode: HttpStatus.BAD_REQUEST,
|
||||
error: 'Grupo já existe',
|
||||
message: 'Não é possível criar um grupo com esse nome',
|
||||
code,
|
||||
};
|
||||
|
||||
case ErrorCodes.ROLE.ALREADY_EXISTS_PUBLIC:
|
||||
return {
|
||||
statusCode: HttpStatus.BAD_REQUEST,
|
||||
error: 'Grupo já existe',
|
||||
message: 'Nome conflita com grupo público da Dadosfera',
|
||||
code,
|
||||
};
|
||||
|
||||
case ErrorCodes.ROLE.PERMISSION_ALREADY_GRANTED:
|
||||
return {
|
||||
statusCode: HttpStatus.BAD_REQUEST,
|
||||
error: 'Permissão já inclusa',
|
||||
message: 'Permissão já consta nesse grupo',
|
||||
code,
|
||||
};
|
||||
|
||||
case ErrorCodes.ROLE.PERMISSION_NOT_GRANTED:
|
||||
return {
|
||||
statusCode: HttpStatus.BAD_REQUEST,
|
||||
error: 'Permissão não inclusa',
|
||||
message: 'Permissão já consta nesse grupo',
|
||||
code,
|
||||
};
|
||||
|
||||
case ErrorCodes.ROLE.PRIVATE:
|
||||
return {
|
||||
statusCode: HttpStatus.FORBIDDEN,
|
||||
error: 'Não é possivel fazer alterações',
|
||||
message: 'Você não tem permissão para alterar esse grupo',
|
||||
code,
|
||||
};
|
||||
|
||||
case ErrorCodes.ROLE.NOT_FOUND:
|
||||
case ErrorCodes.ROLE.FROM_ANOTHER_CUSTOMER:
|
||||
return {
|
||||
@@ -143,6 +176,7 @@ export function EnrichErrorCode(code: string) {
|
||||
message: 'Grupo solicitado não encontrado',
|
||||
code: ErrorCodes.ROLE.NOT_FOUND,
|
||||
};
|
||||
|
||||
case ErrorCodes.ROLE.CANNOT_EDIT_PUBLIC_ROLE:
|
||||
return {
|
||||
statusCode: HttpStatus.FORBIDDEN,
|
||||
@@ -150,6 +184,7 @@ export function EnrichErrorCode(code: string) {
|
||||
message: 'Você não tem permissão para editar esse grupo',
|
||||
code,
|
||||
};
|
||||
|
||||
case ErrorCodes.USER.NOT_FOUND:
|
||||
return {
|
||||
statusCode: HttpStatus.NOT_FOUND,
|
||||
|
||||
@@ -14,10 +14,15 @@ export const AUTH = {
|
||||
WEAK_NEW_PASSWORD: 'AUTH.WEAK_NEW_PASSWORD',
|
||||
};
|
||||
export const ROLE = {
|
||||
ALREADY_EXIST: 'ROLE.ALREADY_EXISTS',
|
||||
INVALID_ID: 'ROLE.INVALID_ID',
|
||||
NOT_FOUND: 'ROLE.NOT_FOUND',
|
||||
ALREADY_EXISTS: 'ROLE.ALREADY_EXISTS',
|
||||
ALREADY_EXISTS_PUBLIC: 'ROLE.ALREADY_EXISTS_PUBLIC',
|
||||
PERMISSION_ALREADY_GRANTED: 'ROLE.PERMISSION_ALREADY_GRANTED',
|
||||
PERMISSION_NOT_GRANTED: 'ROLE.PERMISSION_NOT_GRANTED',
|
||||
FROM_ANOTHER_CUSTOMER: 'ROLE.FROM_ANOTHER_CUSTOMER',
|
||||
CANNOT_EDIT_PUBLIC_ROLE: 'ROLE.CANNOT_EDIT_PUBLIC_ROLE',
|
||||
PRIVATE: 'ROLE.PRIVATE',
|
||||
};
|
||||
|
||||
export const USER = {
|
||||
|
||||
Reference in New Issue
Block a user