phone auth, image uploading, address broken up

This commit is contained in:
jackiettran
2025-07-30 19:12:56 -04:00
parent 72d79596ce
commit 7c6c120969
17 changed files with 759 additions and 182 deletions

View File

@@ -1,20 +1,20 @@
const express = require('express');
const jwt = require('jsonwebtoken');
const { User } = require('../models'); // Import from models/index.js to get models with associations
const express = require("express");
const jwt = require("jsonwebtoken");
const { User } = require("../models"); // Import from models/index.js to get models with associations
const router = express.Router();
router.post('/register', async (req, res) => {
router.post("/register", async (req, res) => {
try {
const { username, email, password, firstName, lastName, phone } = req.body;
const existingUser = await User.findOne({
where: {
[require('sequelize').Op.or]: [{ email }, { username }]
}
[require("sequelize").Op.or]: [{ email }, { username }],
},
});
if (existingUser) {
return res.status(400).json({ error: 'User already exists' });
return res.status(400).json({ error: "User already exists" });
}
const user = await User.create({
@@ -23,11 +23,11 @@ router.post('/register', async (req, res) => {
password,
firstName,
lastName,
phone
phone,
});
const token = jwt.sign({ userId: user.id }, process.env.JWT_SECRET, {
expiresIn: '7d'
const token = jwt.sign({ id: user.id }, process.env.JWT_SECRET, {
expiresIn: "7d",
});
res.status(201).json({
@@ -36,27 +36,27 @@ router.post('/register', async (req, res) => {
username: user.username,
email: user.email,
firstName: user.firstName,
lastName: user.lastName
lastName: user.lastName,
},
token
token,
});
} catch (error) {
res.status(500).json({ error: error.message });
}
});
router.post('/login', async (req, res) => {
router.post("/login", async (req, res) => {
try {
const { email, password } = req.body;
const user = await User.findOne({ where: { email } });
if (!user || !(await user.comparePassword(password))) {
return res.status(401).json({ error: 'Invalid credentials' });
return res.status(401).json({ error: "Invalid credentials" });
}
const token = jwt.sign({ userId: user.id }, process.env.JWT_SECRET, {
expiresIn: '7d'
const token = jwt.sign({ id: user.id }, process.env.JWT_SECRET, {
expiresIn: "7d",
});
res.json({
@@ -65,13 +65,13 @@ router.post('/login', async (req, res) => {
username: user.username,
email: user.email,
firstName: user.firstName,
lastName: user.lastName
lastName: user.lastName,
},
token
token,
});
} catch (error) {
res.status(500).json({ error: error.message });
}
});
module.exports = router;
module.exports = router;