Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
Obtener el usuario conectado actual - NestJS

Asi que. Configuré un método DELETE para eliminar alquileres (un Rent ocurre cuando un User alquila un Item en mi base de datos).

Me gustaría asegurarme de comprobar que el único usuario que puede cancelar el alquiler es el que realmente alquiló el artículo. Ya implementé un cheque que evita que el usuario alquile un artículo de sí mismo.

Entonces, básicamente, antes de ejecutar la consulta de eliminación en esa fila en la tabla Rents , quiero verificar que la ID del usuario conectado actual coincida con la ID de usuario de esa fila específica en la tabla Rents , solo entonces se ejecutará la consulta.

Ejemplo de entrada de tabla de alquileres ingrese la descripción de la imagen aquí

userId es el ID del User que alquiló un Item (itemId).

Configuré un decorador GetUser() personalizado

 import { User } from './../entities/user.entity'; import { createParamDecorator, ExecutionContext } from '@nestjs/common'; export const GetUser = createParamDecorator( (data, ctx: ExecutionContext): User => { const req = ctx.switchToHttp().getRequest(); return req.user; }, );

Ahora, cuando llamo a mi método getMyItems para obtener todos los elementos que posee el usuario actual, el decorador GetUser() funciona bien ya que puedo acceder al usuario en el objeto de solicitud.

Controlador GetMyItems

 @Get('/my') @ApiBearerAuth() async getMyItems(@GetUser() user: User): Promise<Item[]> { return this.itemsService.getMyItems(user); }

Cuando trato de hacer lo mismo con el método cancelRent mencionado, parece que no funciona a pesar de que todo está configurado de la misma manera.

Cancelar controlador de alquiler

 @Delete('/:id/cancel') async cancelRent( @Param('id') id: number, @GetUser() user: User, ): Promise<void> { return this.rentsService.cancelRent(id, user); }

Cuando ejecuto console.log(user) en el controlador cancelRent, obtengo undefined , pero cuando lo ejecuto en el método getMyItems, devuelve el usuario actual normalmente. ¿Es porque es una solicitud DELETE y no una solicitud GET ?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

cancelRent() falta @ApiBearerAuth()

about 4 years ago · Juan Pablo Isaza Relatório

0

Olvidé incluir AuthGuard() en mi Rents Controller.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda