UNPKG

commencer

Version:

Easy-to-use authentication integration template for beginners

41 lines (40 loc) 1.52 kB
import { Request, Response } from "express"; import { database } from "../../config/database"; import { sendOtp } from "../../utils/communication"; import generateOTP from "../../utils/otp"; export default async function registerUser(req:Request,res:Response){ try{ const {userId,name} = req.body; const idType = req.params.idType const user = await database.user.findUnique({where:{userId:userId}}) if(!user){ const genOtp = await generateOTP() const newUser = await database.user.create({data:{ userId:userId, profile:{ create:{ name:name } }, otp:{ create:{ otpHash:genOtp.hash } } }}) res.status(200).json({fetched:true,message:"User successfully registered.\nKindly verify using mail."}) sendOtp(userId,genOtp.otp,idType) } else{ if(!user.passwordHash){ res.status(401).json({fetched:false,message:"User registered but password never set!!!\nKindly set password first."}) } else{ res.status(403).json({fetched:false,message:"User already exits!!!\nMove to Login."}) } } }catch(error){ console.log(error) res.status(500).json({fetched:false,message:"Internal Server Error"}) } }