add an endpoint to receive the user data
This commit is contained in:
		| @@ -1,4 +1,3 @@ | |||||||
| import { HttpService } from '@nestjs/axios'; |  | ||||||
| import { | import { | ||||||
|   Controller, |   Controller, | ||||||
|   Get, |   Get, | ||||||
| @@ -6,12 +5,15 @@ import { | |||||||
|   HttpStatus, |   HttpStatus, | ||||||
|   Query, |   Query, | ||||||
|   Redirect, |   Redirect, | ||||||
|  |   Req, | ||||||
|  |   UseGuards, | ||||||
| } from '@nestjs/common'; | } from '@nestjs/common'; | ||||||
| import { ApiQuery } from '@nestjs/swagger'; | import { ApiQuery } from '@nestjs/swagger'; | ||||||
| import { ConfigService } from '@nestjs/config'; | import { ConfigService } from '@nestjs/config'; | ||||||
| import { JwtService } from '@nestjs/jwt'; |  | ||||||
| import { catchError, lastValueFrom, map } from 'rxjs'; |  | ||||||
| import { AuthService } from './auth.service'; | import { AuthService } from './auth.service'; | ||||||
|  | import { JwtGuard } from './guards/jwt.guard'; | ||||||
|  | import { UserDto } from './dto/user.dto'; | ||||||
|  | import { Request } from 'express'; | ||||||
|  |  | ||||||
| @Controller('auth') | @Controller('auth') | ||||||
| export class AuthController { | export class AuthController { | ||||||
| @@ -53,4 +55,22 @@ export class AuthController { | |||||||
|       }; |       }; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   @UseGuards(JwtGuard) | ||||||
|  |   @Get('/user') | ||||||
|  |   async user(@Req() request: Request): Promise<UserDto> { | ||||||
|  |     const token = request.headers.authorization.replace('Bearer ', ''); | ||||||
|  |     return this.authService.user(token).then((user) => { | ||||||
|  |       if (!user) { | ||||||
|  |         throw new HttpException('Invalid user request', HttpStatus.NOT_FOUND); | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       return { | ||||||
|  |         vatsimId: user.vatsimId, | ||||||
|  |         fullName: user.fullName, | ||||||
|  |         administrator: user.administrator, | ||||||
|  |         airportConfigurationAccess: user.airportConfigurationAccess, | ||||||
|  |       }; | ||||||
|  |     }); | ||||||
|  |   } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user