V1.0.0-beta.15 Update 2
All checks were successful
continuous-integration/drone/push Build is passing

Note: We appreciate your feedback and bug reports to continue improving our platform. Thank you for your continued support!
This commit is contained in:
2024-07-26 19:46:38 +02:00
parent 74850e5a4a
commit f83358c67d
3 changed files with 259 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
const express = require('express');
const fs = require('fs');
const path = require('path');
const router = express.Router();
router.use(express.json());
router.post('/', (req, res) => {
const userId = req.body.userId;
const profilePictureUrl = req.body.profilePictureUrl;
if (!profilePictureUrl) {
return res.status(400).send('No profile picture URL provided.');
}
updateUserProfilePicture(userId, profilePictureUrl, res);
});
const updateUserProfilePicture = (userId, profilePictureUrl, res) => {
const userFilePath = path.join(__dirname, '../../../data', 'user.json');
fs.readFile(userFilePath, 'utf8', (err, data) => {
if (err) {
return res.status(500).send('Error reading the file');
}
let users = JSON.parse(data);
const userIndex = users.findIndex(u => u.id === userId);
if (userIndex !== -1) {
users[userIndex].profilePicture = profilePictureUrl;
fs.writeFile(userFilePath, JSON.stringify(users, null, 2), err => {
if (err) {
return res.status(500).send('Error writing to the file');
}
res.json({ profilePicture: profilePictureUrl });
});
} else {
res.status(404).send('User not found');
}
});
};
module.exports = router;

View File

@@ -0,0 +1,33 @@
const express = require('express');
const fs = require('fs');
const path = require('path');
const router = express.Router();
const authMiddleware = require('../../../Middlewares/authMiddleware');
router.use(express.json());
router.get('/', authMiddleware, (req, res) => {
if (!req.user || !req.user.id) {
return res.status(401).send('Unauthorized');
}
const userId = req.user.id;
fs.readFile(path.join(__dirname, '../../../data', 'user.json'), 'utf8', (err, data) => {
if (err) {
return res.status(500).send('Internal Server Error');
}
const users = JSON.parse(data);
const user = users.find(u => u.id === userId);
if (!user) {
return res.status(404).send('User not found');
}
res.render('profile', { user });
});
});
module.exports = router;