const { database } = require('../database') /** * function to insert niveau to database */ async function insertNiveau(nom) { // Initialize an array to hold the individual names let nom_multiple = [] // Check if 'nom' contains a comma and split it into multiple names if (nom.includes(',')) { nom_multiple = nom.split(',' || ', ').map((name) => name.trim()) // Trim to remove extra spaces } else { nom_multiple = [nom] // Treat it as a single name } // Prepare the query for insertion const query = database.prepare('INSERT INTO niveaus (nom) VALUES (?)') try { let responses = [] for (const name of nom_multiple) { // Insert each name and collect the response let response = await query.run(name) responses.push(response) } if (nom_multiple.length === responses.length) { return JSON.stringify({ last_row: nom_multiple.length, changes: 1 }) } else return false } catch (error) { return error // Return the error if any occurs } } /** * function to get single niveau for updating * @param {*} id * @returns Promise */ async function getSingleNiveau(id) { const query = database.prepare('SELECT * FROM niveaus WHERE id = ?') try { let response = await query.get(id) return response } catch (error) { return error } } /** * function used to update the niveau * @param {*} nom * @param {*} id * @returns Promise */ async function updateNiveau(nom, id) { const query = database.prepare('UPDATE niveaus SET nom = ? WHERE id = ?') try { let response = query.run(nom, id) return response } catch (error) { return error } } /** * function to get all niveau */ async function getNiveau() { const query = database.prepare('SELECT * FROM niveaus') try { let response = query.all() return response } catch (error) { return error } } async function deleteNiveau(id) { const query = database.prepare('DELETE FROM niveaus WHERE id = ?') try { let response = await query.run(id) return response } catch (error) { return error } } module.exports = { getNiveau, insertNiveau, getSingleNiveau, updateNiveau, deleteNiveau }