update,
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
import { logger } from '../util/logger';
|
||||
import { client } from '../app';
|
||||
import { hashPassword } from '../util/functions/hash';
|
||||
|
||||
export const registerRoutes = express.Router();
|
||||
|
||||
registerRoutes.post('/', registerUser);
|
||||
|
||||
async function registerUser(req: Request, res: Response) {
|
||||
try {
|
||||
logger.debug('Before reading DB');
|
||||
|
||||
// Needs to send email SMS verification if you really want to enforce them to be unique.
|
||||
const loginUser = (
|
||||
await client.query(`SELECT * FROM users WHERE email = $1 OR phone = $2`, [
|
||||
req.body.email,
|
||||
!!req.body.phone ? req.body.phone : '0'
|
||||
])
|
||||
).rows[0];
|
||||
if (!loginUser) {
|
||||
const password = await hashPassword(req.body.password);
|
||||
await client.query(
|
||||
`INSERT INTO users (first_name, last_name, email, phone, password, created_at, updated_at)
|
||||
VALUES ($1, $2, $3, $4, $5, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);`,
|
||||
[req.body.first_name, req.body.last_name, req.body.email, req.body.phone, password]
|
||||
);
|
||||
|
||||
res.json({ status: true });
|
||||
} else {
|
||||
res.status(401).json({ status: false });
|
||||
}
|
||||
} catch (e) {
|
||||
logger.error(e);
|
||||
res.status(500).json({ msg: '[REG001]: Failed to Register' });
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user