mirror of
https://github.com/dadosfera/maestro.git
synced 2026-11-09 14:59:08 +00:00
FIX: sending access token to role function to evaluate editing permissions
This commit is contained in:
Generated
+7
-7
@@ -36,7 +36,7 @@
|
|||||||
"passport-hubspot-oauth2": "^1.0.3",
|
"passport-hubspot-oauth2": "^1.0.3",
|
||||||
"passport-mailchimp": "^1.1.0",
|
"passport-mailchimp": "^1.1.0",
|
||||||
"protospack": "2.5.2",
|
"protospack": "2.5.2",
|
||||||
"protospack-v2": "3.9.0-beta.7",
|
"protospack-v2": "3.9.6",
|
||||||
"reflect-metadata": "^0.1.13",
|
"reflect-metadata": "^0.1.13",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"rxjs": "^7.5.5",
|
"rxjs": "^7.5.5",
|
||||||
@@ -9015,9 +9015,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/protospack-v2": {
|
"node_modules/protospack-v2": {
|
||||||
"version": "3.9.0-beta.7",
|
"version": "3.9.6",
|
||||||
"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",
|
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/protospack-v2/-/protospack-v2-3.9.6.tgz",
|
||||||
"integrity": "sha512-QZqFz0Kc5pgcHOhNs4O6JG2kMZKDvY+7RwEdniRfb75ZSy/7BRJXLJUzB7Kjj1poIUM12n+gUg3kj3n00Gwegg==",
|
"integrity": "sha512-7aSYhzxlly6GPGmCH2JsNDB3Z6rOPhmY5iK5n1Ich3WLLgsOmGAXJH2zWD9IUfjhKKwBZGvitdewpBVyCvAg0A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@grpc/grpc-js": "^1.6.7",
|
"@grpc/grpc-js": "^1.6.7",
|
||||||
"rxjs": "^7.5.5",
|
"rxjs": "^7.5.5",
|
||||||
@@ -17245,9 +17245,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"protospack-v2": {
|
"protospack-v2": {
|
||||||
"version": "3.9.0-beta.7",
|
"version": "3.9.6",
|
||||||
"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",
|
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/protospack-v2/-/protospack-v2-3.9.6.tgz",
|
||||||
"integrity": "sha512-QZqFz0Kc5pgcHOhNs4O6JG2kMZKDvY+7RwEdniRfb75ZSy/7BRJXLJUzB7Kjj1poIUM12n+gUg3kj3n00Gwegg==",
|
"integrity": "sha512-7aSYhzxlly6GPGmCH2JsNDB3Z6rOPhmY5iK5n1Ich3WLLgsOmGAXJH2zWD9IUfjhKKwBZGvitdewpBVyCvAg0A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@grpc/grpc-js": "^1.6.7",
|
"@grpc/grpc-js": "^1.6.7",
|
||||||
"rxjs": "^7.5.5",
|
"rxjs": "^7.5.5",
|
||||||
|
|||||||
+1
-1
@@ -51,7 +51,7 @@
|
|||||||
"passport-hubspot-oauth2": "^1.0.3",
|
"passport-hubspot-oauth2": "^1.0.3",
|
||||||
"passport-mailchimp": "^1.1.0",
|
"passport-mailchimp": "^1.1.0",
|
||||||
"protospack": "2.5.2",
|
"protospack": "2.5.2",
|
||||||
"protospack-v2": "3.9.0-beta.7",
|
"protospack-v2": "3.9.6",
|
||||||
"reflect-metadata": "^0.1.13",
|
"reflect-metadata": "^0.1.13",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"rxjs": "^7.5.5",
|
"rxjs": "^7.5.5",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ export class AuthenticationGuard
|
|||||||
customer_id: accessTokenPayload.customer_id,
|
customer_id: accessTokenPayload.customer_id,
|
||||||
customer_name: accessTokenPayload.customer_name,
|
customer_name: accessTokenPayload.customer_name,
|
||||||
customer_tier: accessTokenPayload.customer_tier,
|
customer_tier: accessTokenPayload.customer_tier,
|
||||||
|
access_token: accessToken,
|
||||||
};
|
};
|
||||||
// TODO: for backwards compatibility. remove in the future
|
// TODO: for backwards compatibility. remove in the future
|
||||||
request.body.info = {
|
request.body.info = {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ export interface RequestUser {
|
|||||||
customer_id: string;
|
customer_id: string;
|
||||||
customer_name: string;
|
customer_name: string;
|
||||||
customer_tier: string;
|
customer_tier: string;
|
||||||
|
access_token: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const User: (options?: { required?: boolean }) => ParameterDecorator =
|
export const User: (options?: { required?: boolean }) => ParameterDecorator =
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ export class RoleDto {
|
|||||||
createdAt: string;
|
createdAt: string;
|
||||||
@ApiProperty()
|
@ApiProperty()
|
||||||
updatedAt: string;
|
updatedAt: string;
|
||||||
|
@ApiProperty()
|
||||||
|
isPublic: boolean;
|
||||||
@ApiProperty({ type: () => Customer })
|
@ApiProperty({ type: () => Customer })
|
||||||
customer?: Customer;
|
customer?: Customer;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('searchRoles', { user });
|
this.logger.info('searchRoles', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return await this.rolesService.roleSearch(filters, user.customer_id);
|
return await this.rolesService.roleSearch(filters, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Post()
|
@Post()
|
||||||
@@ -90,7 +90,7 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('createRole', { user });
|
this.logger.info('createRole', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return await this.rolesService.createRole(body, user.customer_id);
|
return await this.rolesService.createRole(body, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Put('permissions')
|
@Put('permissions')
|
||||||
@@ -103,7 +103,7 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('grantPermissionsToRole', { user });
|
this.logger.info('grantPermissionsToRole', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return await this.rolesService.grantPermissionsToRole(body);
|
return await this.rolesService.grantPermissionsToRole(body, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Delete('permissions')
|
@Delete('permissions')
|
||||||
@@ -116,7 +116,7 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('revokePermissionsToRole', { user });
|
this.logger.info('revokePermissionsToRole', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return await this.rolesService.revokePermissionFromRole(body);
|
return await this.rolesService.revokePermissionFromRole(body, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Patch('permissions')
|
@Patch('permissions')
|
||||||
@@ -129,7 +129,7 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('setRolePermissions', { user });
|
this.logger.info('setRolePermissions', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return this.rolesService.setRolePermissions(body);
|
return this.rolesService.setRolePermissions(body, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Patch('users')
|
@Patch('users')
|
||||||
@@ -142,7 +142,7 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('setRoleUsers', { user });
|
this.logger.info('setRoleUsers', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return this.rolesService.setRoleUsers(body);
|
return this.rolesService.setRoleUsers(body, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get(':id')
|
@Get(':id')
|
||||||
@@ -155,7 +155,7 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('getRoleById', { user });
|
this.logger.info('getRoleById', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return await this.rolesService.getRolesById(id);
|
return await this.rolesService.getRolesById(id, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Delete(':id')
|
@Delete(':id')
|
||||||
@@ -167,7 +167,7 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('deleteRole', { user });
|
this.logger.info('deleteRole', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return await this.rolesService.removeRole(id);
|
return await this.rolesService.removeRole(id, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Patch(':id')
|
@Patch(':id')
|
||||||
@@ -181,6 +181,6 @@ export class RolesController {
|
|||||||
) {
|
) {
|
||||||
this.logger.info('updateRole', { user });
|
this.logger.info('updateRole', { user });
|
||||||
this.rolesService.setLanguage(language);
|
this.rolesService.setLanguage(language);
|
||||||
return this.rolesService.updateRole(id, body);
|
return this.rolesService.updateRole(id, body, user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,12 +12,23 @@ import {
|
|||||||
UpdateRoleReq,
|
UpdateRoleReq,
|
||||||
} from './dto/entities';
|
} from './dto/entities';
|
||||||
import { DadosferaLogger } from 'dadosfera-logs';
|
import { DadosferaLogger } from 'dadosfera-logs';
|
||||||
|
import { Metadata } from '@grpc/grpc-js';
|
||||||
import { ClientGrpc } from '@nestjs/microservices';
|
import { ClientGrpc } from '@nestjs/microservices';
|
||||||
|
import { Permission } from 'protospack-v2/dist/lib/Duc/interfaces/entities';
|
||||||
import { lastValueFrom } from 'rxjs';
|
import { lastValueFrom } from 'rxjs';
|
||||||
import { PermissionsService } from '../permissions/permissions.service';
|
import { PermissionsService } from '../permissions/permissions.service';
|
||||||
import { UserRole } from 'protospack-v2/dist/lib/Duc/interfaces/entities';
|
|
||||||
import { LanguageEnum } from 'src/utils/languages.enum';
|
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()
|
@Injectable()
|
||||||
export class RolesService {
|
export class RolesService {
|
||||||
logger: any;
|
logger: any;
|
||||||
@@ -41,16 +52,28 @@ export class RolesService {
|
|||||||
ProtoServices.RolesProtoService,
|
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(
|
const role = await lastValueFrom(
|
||||||
this.rolesClientService.RoleFindOneById({
|
this.rolesClientService.RoleFindOneById(
|
||||||
id,
|
{
|
||||||
}),
|
id,
|
||||||
|
},
|
||||||
|
meta,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
||||||
return { role: roleTreated };
|
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;
|
let { permissionId: permissionIds } = filters;
|
||||||
if (permissionIds && !Array.isArray(permissionIds))
|
if (permissionIds && !Array.isArray(permissionIds))
|
||||||
permissionIds = [permissionIds];
|
permissionIds = [permissionIds];
|
||||||
@@ -64,109 +87,154 @@ export class RolesService {
|
|||||||
return seqId;
|
return seqId;
|
||||||
}) || [];
|
}) || [];
|
||||||
const roles = await lastValueFrom(
|
const roles = await lastValueFrom(
|
||||||
this.rolesClientService.RoleSearch({
|
this.rolesClientService.RoleSearch(
|
||||||
customerId,
|
{
|
||||||
getUsers: isGetUsers,
|
customerId: customer_id,
|
||||||
permissionIds: [],
|
getUsers: isGetUsers,
|
||||||
permissionSeqIds,
|
permissionIds: [],
|
||||||
}),
|
permissionSeqIds,
|
||||||
|
},
|
||||||
|
meta,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
const rolesTreated = this.getRolesPermissionsName(roles.roles);
|
const rolesTreated = this.getRolesPermissionsName(roles.roles);
|
||||||
return { roles: rolesTreated };
|
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 { description, name, permissionIds, userIds } = data;
|
||||||
const role = await lastValueFrom(
|
const role = await lastValueFrom(
|
||||||
this.rolesClientService.RoleCreate({
|
this.rolesClientService.RoleCreate(
|
||||||
customerId,
|
{
|
||||||
name,
|
customerId: customer_id,
|
||||||
permissionIds: [],
|
name,
|
||||||
permissionSeqIds: permissionIds,
|
permissionIds: [],
|
||||||
description,
|
permissionSeqIds: permissionIds,
|
||||||
userIds,
|
description,
|
||||||
}),
|
userIds,
|
||||||
|
},
|
||||||
|
meta,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
||||||
return { role: roleTreated };
|
return { role: roleTreated };
|
||||||
}
|
}
|
||||||
|
|
||||||
async removeRole(id: string) {
|
async removeRole(id: string, { access_token }: RequestUser) {
|
||||||
return lastValueFrom(this.rolesClientService.RoleRemove({ id }));
|
const meta = new Metadata();
|
||||||
|
meta.add('access_token', access_token);
|
||||||
|
return lastValueFrom(this.rolesClientService.RoleRemove({ id }, meta));
|
||||||
}
|
}
|
||||||
async grantPermissionsToRole({
|
async grantPermissionsToRole(
|
||||||
roleId,
|
{ roleId, permissionIds }: GrantPermissionsToRoleReq,
|
||||||
permissionIds,
|
{ access_token }: RequestUser,
|
||||||
}: GrantPermissionsToRoleReq) {
|
) {
|
||||||
|
const meta = new Metadata();
|
||||||
|
meta.add('access_token', access_token);
|
||||||
const role = await lastValueFrom(
|
const role = await lastValueFrom(
|
||||||
this.rolesClientService.GrantPermissionsToRole({
|
this.rolesClientService.GrantPermissionsToRole(
|
||||||
permissionIds: [],
|
{
|
||||||
roleId,
|
permissionIds: [],
|
||||||
permissionSeqIds: permissionIds,
|
roleId,
|
||||||
}),
|
permissionSeqIds: permissionIds,
|
||||||
|
},
|
||||||
|
meta,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
||||||
return { role: roleTreated };
|
return { role: roleTreated };
|
||||||
}
|
}
|
||||||
|
|
||||||
async revokePermissionFromRole({
|
async revokePermissionFromRole(
|
||||||
roleId,
|
{ roleId, permissionIds }: RevokePermissionsFromRoleReq,
|
||||||
permissionIds,
|
{ access_token }: RequestUser,
|
||||||
}: RevokePermissionsFromRoleReq) {
|
) {
|
||||||
|
const meta = new Metadata();
|
||||||
|
meta.add('access_token', access_token);
|
||||||
const role = await lastValueFrom(
|
const role = await lastValueFrom(
|
||||||
this.rolesClientService.RevokePermissionsFromRole({
|
this.rolesClientService.RevokePermissionsFromRole(
|
||||||
permissionIds: [],
|
{
|
||||||
roleId,
|
permissionIds: [],
|
||||||
permissionSeqIds: permissionIds,
|
roleId,
|
||||||
}),
|
permissionSeqIds: permissionIds,
|
||||||
|
},
|
||||||
|
meta,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
||||||
return { role: roleTreated };
|
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 { description, name } = req;
|
||||||
const role = await lastValueFrom(
|
const role = await lastValueFrom(
|
||||||
this.rolesClientService.RoleUpdate({
|
this.rolesClientService.RoleUpdate(
|
||||||
id,
|
{
|
||||||
description,
|
id,
|
||||||
name,
|
description,
|
||||||
}),
|
name,
|
||||||
|
},
|
||||||
|
meta,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
||||||
return { role: roleTreated };
|
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 { roleId: id, permissionIds } = req;
|
||||||
const clearPermissions =
|
const clearPermissions =
|
||||||
Array.isArray(permissionIds) && permissionIds.length === 0;
|
Array.isArray(permissionIds) && permissionIds.length === 0;
|
||||||
const role = await lastValueFrom(
|
const role = await lastValueFrom(
|
||||||
this.rolesClientService.RoleSetPermissions({
|
this.rolesClientService.RoleSetPermissions(
|
||||||
id,
|
{
|
||||||
permissionSeqIds: permissionIds,
|
id,
|
||||||
clearPermissions,
|
permissionSeqIds: permissionIds,
|
||||||
}),
|
clearPermissions,
|
||||||
|
},
|
||||||
|
meta,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
||||||
return { role: roleTreated };
|
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 { roleId: id, userIds } = req;
|
||||||
const clearUsers = Array.isArray(userIds) && userIds.length === 0;
|
const clearUsers = Array.isArray(userIds) && userIds.length === 0;
|
||||||
const role = await lastValueFrom(
|
const role = await lastValueFrom(
|
||||||
this.rolesClientService.RoleSetUsers({
|
this.rolesClientService.RoleSetUsers(
|
||||||
id,
|
{
|
||||||
userIds,
|
id,
|
||||||
clearUsers,
|
userIds,
|
||||||
}),
|
clearUsers,
|
||||||
|
},
|
||||||
|
meta,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
const [roleTreated] = this.getRolesPermissionsName([role.role]);
|
||||||
return { role: roleTreated };
|
return { role: roleTreated };
|
||||||
}
|
}
|
||||||
getRolesPermissionsName(roles: UserRole[]): RoleDto[] {
|
getRolesPermissionsName(roles: GetRolesPermissionsName[]): RoleDto[] {
|
||||||
const newRoles: RoleDto[] = [];
|
const newRoles: RoleDto[] = [];
|
||||||
for (const role of roles) {
|
for (const role of roles) {
|
||||||
const allPermissions = this.permissionsService.getAllPermissions(
|
const allPermissions = this.permissionsService.getAllPermissions(
|
||||||
@@ -180,7 +248,11 @@ export class RolesService {
|
|||||||
id: p.seqid,
|
id: p.seqid,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
const newRole: RoleDto = { ...role, permissions: newPermissions };
|
const newRole: RoleDto = {
|
||||||
|
...role,
|
||||||
|
permissions: newPermissions,
|
||||||
|
isPublic: role.isPublic,
|
||||||
|
};
|
||||||
newRoles.push(newRole);
|
newRoles.push(newRole);
|
||||||
}
|
}
|
||||||
return newRoles;
|
return newRoles;
|
||||||
|
|||||||
@@ -136,10 +136,18 @@ export function EnrichErrorCode(code: string) {
|
|||||||
code,
|
code,
|
||||||
};
|
};
|
||||||
case ErrorCodes.ROLE.NOT_FOUND:
|
case ErrorCodes.ROLE.NOT_FOUND:
|
||||||
|
case ErrorCodes.ROLE.FROM_ANOTHER_CUSTOMER:
|
||||||
return {
|
return {
|
||||||
statusCode: HttpStatus.NOT_FOUND,
|
statusCode: HttpStatus.NOT_FOUND,
|
||||||
error: 'Grupo não encontrado',
|
error: 'Grupo não encontrado',
|
||||||
message: 'Grupo solicitado 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,
|
code,
|
||||||
};
|
};
|
||||||
case ErrorCodes.USER.NOT_FOUND:
|
case ErrorCodes.USER.NOT_FOUND:
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ export const AUTH = {
|
|||||||
export const ROLE = {
|
export const ROLE = {
|
||||||
ALREADY_EXIST: 'ROLE.ALREADY_EXISTS',
|
ALREADY_EXIST: 'ROLE.ALREADY_EXISTS',
|
||||||
NOT_FOUND: 'ROLE.NOT_FOUND',
|
NOT_FOUND: 'ROLE.NOT_FOUND',
|
||||||
|
FROM_ANOTHER_CUSTOMER: 'ROLE.FROM_ANOTHER_CUSTOMER',
|
||||||
|
CANNOT_EDIT_PUBLIC_ROLE: 'ROLE.CANNOT_EDIT_PUBLIC_ROLE',
|
||||||
};
|
};
|
||||||
|
|
||||||
export const USER = {
|
export const USER = {
|
||||||
|
|||||||
Reference in New Issue
Block a user