You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

136 lines
3.0 KiB

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 scolaire
* @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
}