|
|
@@ -131,79 +131,73 @@ function generateFilename(title) {
|
|
|
// Authentication Routes
|
|
|
|
|
|
// POST /api/auth/login - Login
|
|
|
-app.post("/api/auth/login", async (req, res) => {
|
|
|
- try {
|
|
|
- const { username, password } = req.body;
|
|
|
-
|
|
|
- if (!username || !password) {
|
|
|
- return res
|
|
|
- .status(400)
|
|
|
- .json({ error: "Username and password are required" });
|
|
|
- }
|
|
|
-
|
|
|
- const user = await authenticateUser(username, password);
|
|
|
- if (!user) {
|
|
|
- return res
|
|
|
- .status(401)
|
|
|
- .json({ error: "Invalid username or password" });
|
|
|
- }
|
|
|
-
|
|
|
- // Store user in session
|
|
|
- req.session.user = user;
|
|
|
- console.log("Login successful - Session ID:", req.sessionID);
|
|
|
- console.log("Login successful - Stored user:", req.session.user);
|
|
|
-
|
|
|
- // Manually save the session to ensure it's persisted
|
|
|
- req.session.save((err) => {
|
|
|
- if (err) {
|
|
|
- console.error("Session save error:", err);
|
|
|
- return res
|
|
|
- .status(500)
|
|
|
- .json({ error: "Failed to save session" });
|
|
|
- }
|
|
|
-
|
|
|
- console.log("Session saved successfully");
|
|
|
- res.json({
|
|
|
- success: true,
|
|
|
- user: {
|
|
|
- username: user.username,
|
|
|
- role: user.role,
|
|
|
- },
|
|
|
- });
|
|
|
- });
|
|
|
- } catch (error) {
|
|
|
- console.error("Login error:", error);
|
|
|
- res.status(500).json({ error: "Login failed" });
|
|
|
+app.post('/api/auth/login', async (req, res) => {
|
|
|
+ try {
|
|
|
+ const { username, password } = req.body;
|
|
|
+
|
|
|
+ if (!username || !password) {
|
|
|
+ return res.status(400).json({ error: 'Username and password are required' });
|
|
|
}
|
|
|
+
|
|
|
+ const user = await authenticateUser(username, password);
|
|
|
+ if (!user) {
|
|
|
+ return res.status(401).json({ error: 'Invalid username or password' });
|
|
|
+ }
|
|
|
+
|
|
|
+ // Store user in session
|
|
|
+ req.session.user = user;
|
|
|
+ console.log('Login successful - Session ID:', req.sessionID);
|
|
|
+ console.log('Login successful - Stored user:', req.session.user);
|
|
|
+
|
|
|
+ // Manually save the session to ensure it's persisted
|
|
|
+ req.session.save((err) => {
|
|
|
+ if (err) {
|
|
|
+ console.error('Session save error:', err);
|
|
|
+ return res.status(500).json({ error: 'Failed to save session' });
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log('Session saved successfully');
|
|
|
+ res.json({
|
|
|
+ success: true,
|
|
|
+ user: {
|
|
|
+ username: user.username,
|
|
|
+ role: user.role
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } catch (error) {
|
|
|
+ console.error('Login error:', error);
|
|
|
+ res.status(500).json({ error: 'Login failed' });
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
// POST /api/auth/logout - Logout
|
|
|
-app.post("/api/auth/logout", (req, res) => {
|
|
|
- req.session.destroy((err) => {
|
|
|
- if (err) {
|
|
|
- return res.status(500).json({ error: "Logout failed" });
|
|
|
- }
|
|
|
- res.clearCookie("gooneral-session"); // Use the same name as configured
|
|
|
- res.json({ success: true, message: "Logged out successfully" });
|
|
|
- });
|
|
|
+app.post('/api/auth/logout', (req, res) => {
|
|
|
+ req.session.destroy((err) => {
|
|
|
+ if (err) {
|
|
|
+ return res.status(500).json({ error: 'Logout failed' });
|
|
|
+ }
|
|
|
+ res.clearCookie('gooneral-session'); // Use the same name as configured
|
|
|
+ res.json({ success: true, message: 'Logged out successfully' });
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
// GET /api/auth/me - Get current user
|
|
|
-app.get("/api/auth/me", isAuthenticated, (req, res) => {
|
|
|
- console.log("Auth check - Session ID:", req.sessionID);
|
|
|
- console.log("Auth check - Session user:", req.session?.user);
|
|
|
- console.log("Auth check - Is authenticated:", req.isAuthenticated);
|
|
|
-
|
|
|
- if (req.isAuthenticated) {
|
|
|
- res.json({
|
|
|
- user: {
|
|
|
- username: req.user.username,
|
|
|
- role: req.user.role,
|
|
|
- },
|
|
|
- });
|
|
|
- } else {
|
|
|
- res.json({ user: null });
|
|
|
- }
|
|
|
+app.get('/api/auth/me', isAuthenticated, (req, res) => {
|
|
|
+ console.log('Auth check - Session ID:', req.sessionID);
|
|
|
+ console.log('Auth check - Session user:', req.session?.user);
|
|
|
+ console.log('Auth check - Is authenticated:', req.isAuthenticated);
|
|
|
+
|
|
|
+ if (req.isAuthenticated) {
|
|
|
+ res.json({
|
|
|
+ user: {
|
|
|
+ username: req.user.username,
|
|
|
+ role: req.user.role
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ res.json({ user: null });
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
// POST /api/auth/change-password - Change password
|