Version 1.1.0 - Refactor + Intergration Backend

This commit is contained in:
2025-07-25 17:56:30 +02:00
parent a59d7a66db
commit 98cdae97c0
58 changed files with 244 additions and 70 deletions

54
src/playlists/History.js Normal file
View File

@@ -0,0 +1,54 @@
const {LogType} = require("loguix")
const hlog = new LogType("PersonalHistory")
const {__glob} = require("../utils/GlobalVars")
const { Database } = require("../utils/Database/Database")
const historyDb = new Database("history", __glob.HISTORY_DB, {})
historyDb.load()
/**
* @param {string} userId
* @returns {Array<Object>}
* @description Renvoie l'historique personnel de l'utilisateur
*/
function getPersonalHistory(userId) {
if (historyDb.data[userId]) {
return historyDb.data[userId];
} else {
hlog.log(`Création d'une clé pour l'utilisateur : ${userId}`);
historyDb.data[userId] = [];
historyDb.save();
return historyDb.data[userId];
}
}
/**
* @param {string} userId
* @param {Object} entry
* @description Ajoute une entrée à l'historique personnel de l'utilisateur
*/
function addToPersonalHistory(userId, entry) {
hlog.log(`Ajout d'une entrée à l'historique personnel de l'utilisateur : ${userId}`);
const history = getPersonalHistory(userId);
// Limit to 25 entries
if (history.length >= 25) {
history.shift();
}
history.push(entry)
historyDb.save();
}
/**
* @param {string} userId
* @description Vide l'historique personnel de l'utilisateur
*/
function clearPersonalHistory(userId) {
hlog.log(`Vidage de l'historique personnel de l'utilisateur : ${userId}`);
historyDb.data[userId] = [];
historyDb.save();
}
module.exports = {
getPersonalHistory,
addToPersonalHistory,
clearPersonalHistory
};