Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import { Controller, Get, PathParams, Authenticated, Required, Req } from 'ts-express-decorators';
import { Returns } from 'ts-express-decorators/lib/swagger';
import { User } from '../../dal/User';
import { UserService } from '../../services/user/user.service';
import { IAppRequest } from '../../types/app.types';
@Controller('/users')
@Authenticated()
export class UserController {
constructor(
private userService: UserService
) {
}
@Get('/:id([0-9a-f]{24})')
@Returns(User)
async getUser(@Required() @PathParams('id') id: string): Promise {
return await this.userService.getUserById(id);
}
@Get('/auth-test')
async authTest(@Req() req: IAppRequest): Promise {
import { NextFunction } from 'express';
import {
BodyParams, Controller, Next, Post, QueryParams, Request, Required, Response,
Status
} from 'ts-express-decorators';
import { Returns } from 'ts-express-decorators/lib/swagger';
import { Validate, Validator } from 'typescript-param-validator';
import { AuthDto } from '../../services/auth/auth.dto';
import { AuthService } from '../../services/auth/auth.service';
import { AUTH_STRATEGY } from '../../services/auth/passport/passport.service';
import { IAppRequest, IAppResponse } from '../../types/app.types';
import { HTTPStatusCodes } from '../../types/http';
import { FacebookTokenAuthQueryDto, LocalLoginDto, SignupDto } from './auth.dto';
@Controller('/auth')
export class AuthController {
constructor(private authService: AuthService) {
}
@Post('/login')
@Returns(AuthDto)
@Validate()
async login(
@Validator() @BodyParams() body: LocalLoginDto,
@Request() req: any,
@Response() res,
@Next() next: NextFunction
) {
const auth = await this.authService.authenticateStrategy(AUTH_STRATEGY.LOCAL_STRATEGY, req, res, next);