mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 08:12:00 +02:00

* ci(backend-review.yml): add linter step to the backend review workflow * chore(backend-review.yml): remove prettier from lint-action configuration * chore: apply new linting workflow * chore(lint-staged.config.js): reorder lint-staged tasks for JavaScript and TypeScript files * chore(eslint): update ignorePatterns in .eslintrc.js chore(lint-action): remove prettier option in backend-review.yml chore(package.json): add lint and lint:fix scripts * chore(lint-staged.config.js): remove prettier --write command for js, jsx, ts, tsx files * chore(titleConvo.js): remove unnecessary console.log statement chore(titleConvo.js): add missing comma in options object * chore: apply linting to all files * chore(lint-staged.config.js): update lint-staged configuration to include prettier formatting
39 lines
No EOL
950 B
JavaScript
39 lines
No EOL
950 B
JavaScript
const User = require('../../../models/User');
|
|
|
|
const loginController = async (req, res) => {
|
|
try {
|
|
const user = await User.findById(
|
|
req.user._id,
|
|
);
|
|
|
|
// If user doesn't exist, return error
|
|
if (!user) { // typeof user !== User) { // this doesn't seem to resolve the User type ??
|
|
return res.status(400).json({ message: 'Invalid credentials' });
|
|
}
|
|
|
|
const token = req.user.generateToken();
|
|
const expires = eval(process.env.SESSION_EXPIRY);
|
|
|
|
// Add token to cookie
|
|
res.cookie(
|
|
'token',
|
|
token,
|
|
{
|
|
expires: new Date(Date.now() + expires),
|
|
httpOnly: false,
|
|
secure: process.env.NODE_ENV === 'production',
|
|
},
|
|
);
|
|
|
|
return res.status(200).send({ token, user });
|
|
} catch (err) {
|
|
console.log(err);
|
|
}
|
|
|
|
// Generic error messages are safer
|
|
return res.status(500).json({ message: 'Something went wrong' });
|
|
};
|
|
|
|
module.exports = {
|
|
loginController,
|
|
}; |