update

parent 718404e2
import { UserService } from "@/services/user.service"; import { UserService } from "@/services/user.service";
import { RequestHandler } from "express"; import { RequestHandler } from "express";
import { plainToInstance } from 'class-transformer'; import { plainToInstance } from 'class-transformer';
// import { SignInUserDto } from "@/dto/sign-in-user.dto";
import { RegistrationUserDto } from "@/dto/registration-user.dto"; import { RegistrationUserDto } from "@/dto/registration-user.dto";
import { SignInUserDto } from "@/dto/sign-in-user.dto"; import { SignInUserDto } from "@/dto/sign-in-user.dto";
import { formatErrors } from "@/helpers/formatErrors";
export class UserController { export class UserController {
private service: UserService; private service: UserService;
...@@ -18,14 +18,26 @@ export class UserController { ...@@ -18,14 +18,26 @@ export class UserController {
const user = await this.service.signIn(signInDto) const user = await this.service.signIn(signInDto)
res.send(user) res.send(user)
} catch (e) { } catch (e) {
res.status(401).send((e as Error).message) if (Array.isArray(e)) {
res.status(400).send(formatErrors(e));
} else {
res.status(500).send(e);
}
} }
} }
registration: RequestHandler = async (req, res): Promise<void> => { registration: RequestHandler = async (req, res): Promise<void> => {
const registrationInDto = plainToInstance(RegistrationUserDto, req.body) try {
const user = await this.service.registration(registrationInDto) const registrationInDto = plainToInstance(RegistrationUserDto, req.body)
res.send(user) const user = await this.service.registration(registrationInDto)
res.send(user)
} catch (e) {
if (Array.isArray(e)) {
res.status(400).send(formatErrors(e));
} else {
res.status(500).send(e);
}
}
} }
validateToken: RequestHandler = async (req, res): Promise<void> => { validateToken: RequestHandler = async (req, res): Promise<void> => {
......
import { SignInUserDto } from "@/dto/sign-in-user.dto" import { SignInUserDto } from "@/dto/sign-in-user.dto"
import { RegistrationUserDto } from "@/dto/registration-user.dto" import { RegistrationUserDto } from "@/dto/registration-user.dto"
import { userRepo } from "@/repositories/user.repository" import { userRepo } from "@/repositories/user.repository"
import { validate } from "class-validator"
export class UserService { export class UserService {
async signIn(signInUserDto: SignInUserDto) { async signIn(signInUserDto: SignInUserDto) {
const errors = await validate(signInUserDto, { whitelist: true })
if (errors.length) throw errors
return await userRepo.signIn(signInUserDto) return await userRepo.signIn(signInUserDto)
} }
async registration(registrationUserDto: RegistrationUserDto) { async registration(registrationUserDto: RegistrationUserDto) {
const errors = await validate(registrationUserDto, { whitelist: true })
if (errors.length) throw errors
return await userRepo.registration(registrationUserDto) return await userRepo.registration(registrationUserDto)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment