From bce73fb11f3b03f65f06df953f25ebfb627502ed Mon Sep 17 00:00:00 2001 From: Marcos Rodrigues Date: Wed, 17 Dec 2025 17:24:03 -0300 Subject: [PATCH] FEAT: update user route --- docsfera.json | 36 +++++++--------------------- package-lock.json | 9 +++---- package.json | 4 ++-- src/modules/roles/roles.service.ts | 38 +++++++++++++++++------------- src/modules/users/dtos/entities.ts | 6 +++++ src/modules/users/users.service.ts | 15 +++++++----- 6 files changed, 53 insertions(+), 55 deletions(-) diff --git a/docsfera.json b/docsfera.json index f1b040e..672c167 100644 --- a/docsfera.json +++ b/docsfera.json @@ -7225,33 +7225,6 @@ ] } }, - "/platform/pipeline/pipeline_run": { - "post": { - "operationId": "PlatformApiController_createPipelineRun", - "summary": "Create a pipeline run", - "parameters": [], - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - }, - "tags": [ - "Platform API" - ], - "security": [ - { - "access-token": [] - } - ] - } - }, "/platform/pipeline/{pipelineId}/pipeline_run": { "get": { "operationId": "PlatformApiController_getPipelineRuns", @@ -8523,6 +8496,15 @@ "hierarchy": { "type": "string" }, + "bio": { + "type": "string" + }, + "companySite": { + "type": "string" + }, + "companyName": { + "type": "string" + }, "roleNames": { "type": "array", "items": { diff --git a/package-lock.json b/package-lock.json index 5248e39..002cc39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@aws-sdk/signature-v4": "^3.370.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", "@dadosfera/protospack": "2.5.3", - "@dadosfera/protospack-v2": "3.38.0-beta.16", + "@dadosfera/protospack-v2": "file:../protospack-v2/dadosfera-protospack-v2-0.0.0.tgz", "@grpc/grpc-js": "^1.9.3", "@grpc/proto-loader": "^0.7.9", "@nestjs/cli": "^9.5.0", @@ -2970,9 +2970,10 @@ } }, "node_modules/@dadosfera/protospack-v2": { - "version": "3.38.0-beta.16", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.38.0-beta.16.tgz", - "integrity": "sha512-ijURcmETXdgVgXhIPxapK7w0z6begXm4WDZ6EJtUGg+oYlJd9QOxbwaD7akRzW8XTdccmIo0Vov065KB812J0A==", + "version": "0.0.0", + "resolved": "file:../protospack-v2/dadosfera-protospack-v2-0.0.0.tgz", + "integrity": "sha512-ncpMpqOES0IqEnYMigS2lFIqCVSg3gsWENQzCeEaEkpnxidIHthBniJlUfr3ihPBSGg79OvGM5Cq7Yvyru66Ag==", + "license": "ISC", "dependencies": { "@grpc/grpc-js": "^1.9.3", "rxjs": "^7.5.5" diff --git a/package.json b/package.json index 4a5420d..6e51bcb 100644 --- a/package.json +++ b/package.json @@ -30,12 +30,12 @@ "@aws-crypto/sha256-js": "^5.2.0", "@aws-sdk/client-dynamodb": "^3.414.0", "@aws-sdk/client-secrets-manager": "^3.414.0", - "@aws-sdk/lib-dynamodb": "^3.414.0", "@aws-sdk/credential-provider-node": "^3.940.0", + "@aws-sdk/lib-dynamodb": "^3.414.0", "@aws-sdk/signature-v4": "^3.370.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", "@dadosfera/protospack": "2.5.3", - "@dadosfera/protospack-v2": "3.38.0-beta.16", + "@dadosfera/protospack-v2": "file:../protospack-v2/dadosfera-protospack-v2-0.0.0.tgz", "@grpc/grpc-js": "^1.9.3", "@grpc/proto-loader": "^0.7.9", "@nestjs/cli": "^9.5.0", diff --git a/src/modules/roles/roles.service.ts b/src/modules/roles/roles.service.ts index bd41ca5..d0045e5 100644 --- a/src/modules/roles/roles.service.ts +++ b/src/modules/roles/roles.service.ts @@ -229,27 +229,33 @@ export class RolesService { const [roleTreated] = this.getRolesPermissionsName([role.role]); return { role: roleTreated }; } + getRolesPermissionsName(roles: GetRolesPermissionsName[]): RoleDto[] { const newRoles: RoleDto[] = []; for (const role of roles) { - const allPermissions = this.permissionsService.getAllPermissions( - this.language, - ); - const newPermissions = role.permissions.map((p) => { - const permission = allPermissions.find((per) => per.seqid === p.seqid); - return { - ...p, - name: permission.name, - id: p.seqid, - }; - }); - const newRole: RoleDto = { - ...role, - permissions: newPermissions, - isPublic: role.isPublic, - }; + const newRole: RoleDto = this.formatRole(role); newRoles.push(newRole); } return newRoles; } + + private formatRole(role: GetRolesPermissionsName): RoleDto { + const allPermissions = this.permissionsService.getAllPermissions( + this.language + ); + const newPermissions = role.permissions.map((p) => { + const permission = allPermissions.find((per) => per.seqid === p.seqid); + return { + ...p, + name: permission.name, + id: p.seqid, + }; + }); + + return { + ...role, + permissions: newPermissions, + isPublic: role.isPublic, + };; + } } diff --git a/src/modules/users/dtos/entities.ts b/src/modules/users/dtos/entities.ts index 8e8b852..ac35213 100644 --- a/src/modules/users/dtos/entities.ts +++ b/src/modules/users/dtos/entities.ts @@ -109,6 +109,12 @@ export class UpdateUserReq { @ApiPropertyOptional() hierarchy?: string; @ApiPropertyOptional() + bio?: string; + @ApiPropertyOptional() + companySite?: string; + @ApiPropertyOptional() + companyName?: string; + @ApiPropertyOptional() roleNames?: string[]; } diff --git a/src/modules/users/users.service.ts b/src/modules/users/users.service.ts index 3057010..065a768 100644 --- a/src/modules/users/users.service.ts +++ b/src/modules/users/users.service.ts @@ -148,20 +148,23 @@ export class UsersService implements OnModuleInit { } async updateUser(req: UpdateUserReq, id: string, customerId: string) { - const { department, hierarchy, jobTitle, name, roleNames, email } = req; + const { roleNames, ...updateUserDTO } = req; if (roleNames) { await this.setRoles({ roleNames, userId: id }, customerId); } const { user } = await lastValueFrom( this.usersClientService.UserUpdate({ - name, + department: updateUserDTO.department, + email: updateUserDTO.email, + hierarchy: updateUserDTO.hierarchy, + jobTitle: updateUserDTO.jobTitle, + name: updateUserDTO.name, + bio: updateUserDTO.bio, + companyName: updateUserDTO.companyName, + companySite: updateUserDTO.companySite, customerId, id, - department, - hierarchy, - jobTitle, - email, metabaseUserId: undefined, }), );