backend: PUT /users - Supprime les anciens logo
This commit is contained in:
		
							
								
								
									
										20
									
								
								api/assets/utils/deleteFilesNameStartWith.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								api/assets/utils/deleteFilesNameStartWith.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
const fs   = require("fs");
 | 
			
		||||
const path = require("path");
 | 
			
		||||
 | 
			
		||||
function deleteFilesNameStartWith(pattern, dirPath = __dirname) {
 | 
			
		||||
    // Get all file names in directory
 | 
			
		||||
    fs.readdir(path.resolve(dirPath), (err, fileNames) => {
 | 
			
		||||
        if (err) throw err;
 | 
			
		||||
        console.log(dirPath);
 | 
			
		||||
        // Iterate through the found file names
 | 
			
		||||
        for (const name of fileNames) {
 | 
			
		||||
            // If file name matches the pattern
 | 
			
		||||
            if (name.startsWith(pattern)) {
 | 
			
		||||
                console.log(name)
 | 
			
		||||
                fs.unlinkSync(path.join(dirPath, name));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = deleteFilesNameStartWith;
 | 
			
		||||
@@ -14,6 +14,7 @@ const Favorites                      = require('../models/favorites');
 | 
			
		||||
const Functions                      = require('../models/functions');
 | 
			
		||||
const Categories                     = require('../models/categories');
 | 
			
		||||
const Comments                       = require('../models/comments');
 | 
			
		||||
const deleteFilesNameStartWith       = require('../assets/utils/deleteFilesNameStartWith');
 | 
			
		||||
 | 
			
		||||
async function handleEditUser(res, { name, email, biography, isPublicEmail }, userId, logoName) {
 | 
			
		||||
    const user = await Users.findOne({ where: { id: userId } });
 | 
			
		||||
@@ -44,7 +45,14 @@ exports.putUser = (req, res, next) => {
 | 
			
		||||
        )) {
 | 
			
		||||
            return errorHandling(next, { message:"Le profil doit avoir une image valide.", statusCode: 400 });
 | 
			
		||||
        }
 | 
			
		||||
        const logoName = name + uuid.v4() + logo.name;
 | 
			
		||||
        const logoName = name + req.userId + uuid.v4() + logo.name;
 | 
			
		||||
        // Supprime les anciens logo
 | 
			
		||||
        try {
 | 
			
		||||
            deleteFilesNameStartWith(`${name + req.userId}`, path.join(__dirname, '..', 'assets', 'images', 'users'));
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
            console.log(error);
 | 
			
		||||
            return errorHandling(next, serverError);
 | 
			
		||||
        }
 | 
			
		||||
        logo.mv(path.join(__dirname, '..', 'assets', 'images', 'users') + '/' + logoName, async (error) => {
 | 
			
		||||
            if (error) return errorHandling(next, serverError);
 | 
			
		||||
            try {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user