Skip to content

Commit

Permalink
Create auth.js
Browse files Browse the repository at this point in the history
  • Loading branch information
KOSASIH authored Jul 22, 2024
1 parent c424c43 commit a2745b0
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions routes/auth.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import express from 'express';
import { authenticate } from '../middleware/auth';
import { User } from '../models/user';

const router = express.Router();

// Login endpoint
router.post('/login', async (req, res) => {
try {
const user = await User.findOne({ username: req.body.username }).exec();
if (!user) {
res.status(401).json({ message: 'Invalid username or password' });
} else {
const isValid = await user.authenticate(req.body.password);
if (!isValid) {
res.status(401).json({ message: 'Invalid username or password' });
} else {
const token = await user.generateToken();
res.json({ token });
}
}
} catch (error) {
console.error(error);
res.status(500).json({ message:'Internal Server Error' });
}
});

// Register endpoint
router.post('/register', async (req, res) => {
try {
const user = new User(req.body);
await user.save();
res.json({ message: 'User created successfully' });
} catch (error) {
console.error(error);
res.status(400).json({ message: 'Invalid request' });
}
});

export default router;

0 comments on commit a2745b0

Please sign in to comment.