const { pool } = require('../database') /** * function to create annee scolaire * @param {*} code * @param {*} debut * @param {*} fin * @returns promise */ async function createAnneeScolaire(code, debut, fin) { const sql = 'INSERT INTO anneescolaire (code, debut, fin) VALUES (?, ?, ?)' try { let [result] = await pool.query(sql, [code, debut, fin]) return { success: true, id: result.insertId } } catch (error) { return { success: false, error: 'Erreur veullez réeseyer' } } } /** * function to get all Année Univesitaire * @returns promise */ async function getAnneeScolaire() { const sql = 'SELECT * FROM anneescolaire ORDER BY code DESC' try { let [rows] = await pool.query(sql) return rows } catch (error) { return { success: false, error: 'Erreur veullez réeseyer' } } } async function getInterval() { const sql = 'SELECT debut, fin FROM anneescolaire ORDER BY id DESC' try { let [rows] = await pool.query(sql) return rows } catch (error) { return { success: false, error: 'Erreur veullez réeseyer' } } } async function getSingleAnneScolaire(id) { const sql = 'SELECT * FROM anneescolaire WHERE id = ?' try { let [rows] = await pool.query(sql, [id]) return rows[0] } catch (error) { return { success: false, error: 'Erreur veullez réeseyer' } } } async function deleteAnneeScolaire(id) { const sql = 'DELETE FROM anneescolaire WHERE id = ?' try { let [result] = await pool.query(sql, [id]) if (result.affectedRows === 0) { return { success: false, message: 'Année universitaire non trouvé.' } } return { success: true, message: 'Année universitaire supprimé avec succès.' } } catch (error) { return { success: false, error: 'Erreur veullez réeseyer' } } } async function updateAnneeScolaire(id, code, debut, fin) { const sql = 'UPDATE anneescolaire SET code = ?, debut = ?, fin = ? WHERE id = ?' try { let [result] = await pool.query(sql, [code, debut, fin, id]) if (result.affectedRows === 0) { return { success: false, message: 'Année universitaire non trouvé ou aucune modification effectuée.' } } return { success: true, message: 'Année universitaire mis à jour avec succès.' } } catch (error) { return { success: false, error: 'Erreur veullez réeseyer' } } } async function setCurrent(id) { const sql = 'UPDATE anneescolaire SET is_current = 0 WHERE id > 0 AND is_current = 1' const sql2 = 'UPDATE anneescolaire SET is_current = 1 WHERE id = ?' pool.query(sql) try { const [result] = pool.query(sql2, [id]) console.log(result) return { success: true, id: result.insertId } } catch (error) { return { success: false, error: 'Erreur veullez réeseyer' } } } module.exports = { createAnneeScolaire, getAnneeScolaire, getInterval, deleteAnneeScolaire, getSingleAnneScolaire, updateAnneeScolaire, setCurrent }