total_1ère

This commit is contained in:
2026-07-20 16:33:04 +02:00
parent dd49ba357b
commit d49cf88d99
275 changed files with 63607 additions and 5599 deletions

View File

@@ -0,0 +1,128 @@
/////////////////////////////////////////////////
// APPELS DES MODULES
/////////////////////////////////////////////////
const path = require("path");
// CALCUL DE DATE
const moment = require('moment');
// uuid
const { v4: uuidv4 } = require('uuid');
/////////////////////////////////////////////////
// APPELS DES MODULES PERSOS
/////////////////////////////////////////////////
// loggings
const logger = require("../public/js/app/logger_adhesion");
// DB
const { connect_DB_promise } = require('../modules/db/databaseconnect');
////////////////////////////////////////////////////
// FILE NAME
////////////////////////////////////////////////////
const filename = path.parse(__filename).base;
// GOOGLE SHEET PARAMETERS
/////////////////////////////////////////////////
const { GoogleSpreadsheet } = require('google-spreadsheet');
const GS_creds = require('../inscriptionsafps-53b60452f63d.json');
const GS_codes_secrets = new GoogleSpreadsheet(process.env.gsheet_codes_secrets);
const { error } = require("console");
/////////////////////////////////////////////////
// FONCTIONS
/////////////////////////////////////////////////
const generer_codes = async function(req, res) {
logger.info("======================================", { label: filename });
logger.info("======== FUNCTION generer_codes ==========", { label: filename });
logger.info("======================================", { label: filename });
moment.locale('fr');
let now = moment().format("YYYY-MM-DD HH:mm:ss");
// Récupérer le nombre de code désiré
nb_codes_a_generer = req.body.nb_code;
// Si il y a des codes à ajouter on fait le traitement
if (nb_codes_a_generer > 0) {
logger.info("Nombre de codes à générer = " + nb_codes_a_generer, { numsession: req.session.id });
// Initier un tableau pour mettre les codes générés
let tab_codes = [];
// Boucle sur le nombre de codes à générer
for (i=0; i<nb_codes_a_generer; i++) {
// Générer un code unique
let uniqueCode = uuidv4();
// remplir le tableau avec le code généré
tab_codes.push({['code'] : uniqueCode,'statut': "actif" });
console.log("tab_codes = ", tab_codes);
}
// Copier les codes générés dans la base de données
let table = "code";
const sql = 'INSERT INTO code (code, statut) VALUES ?';
const values = tab_codes.map(item => [item.code, item.statut]);
logger.info("sql = " + sql, { numsession: req.session.id });
logger.info("values = " + values, { numsession: req.session.id });
// lancement de la requête
let db_connection_promise = await connect_DB_promise();
const [result_sql, fields] = await db_connection_promise.query(sql, [values]);
logger.info("#1 result_sql Row ID added : " + result_sql.insertId, { numsession: req.session.id, label: filename});
console.log("result_sql = ",result_sql)
// GOOGLE SHEET - COPIER LES CODES DANS LA GOOGLE SHEET
try {
await GS_codes_secrets.useServiceAccountAuth(GS_creds);
await GS_codes_secrets.loadInfo();
let GS_codes_secrets_codes_secrets = GS_codes_secrets.sheetsByTitle['codes_secrets'];
let ajout_codes = [];
for (let i = 0; i < nb_codes_a_generer; i++) {
ajout_codes.push({
code: tab_codes[i].code,
date_creation: now,
statut: tab_codes[i].statut
});
}
await GS_codes_secrets_codes_secrets.addRows(ajout_codes);
logger.info("AJOUT GOOGLESHEET FIN", { numsession: req.session.id, label: filename});
} catch (error) {
// Echec de connection à la GOOGLE SHEET
logger.error("Il y a un problème avec la connection à Google sheet (TRY 7) : " + error, { numsession: req.session.id, label: filename});
req.session.message5 = '"Il y a un problème système, "' + error;
res.redirect('/adhesion/maj_googlesheet');
}
// A LA FIN DU TRAITEMENT ON AFFICHE LA PAGE AVEC LE RÉSULTAT
if (result_sql.affectedRows > 0) {
req.session.message5 = 'Nombre de codes ajoutés = '+result_sql.affectedRows;
} else {
req.session.message5 = 'Aucun code ajouté';
}
logger.info("req.session.message5 : " + req.session.message5, { numsession: req.session.id, label: filename});
} else {
req.session.message5 = 'Veuillez renseigner le nombre de codes à générer';
logger.info("req.session.message5 : " + req.session.message5, { numsession: req.session.id, label: filename});
}
res.redirect('/adhesion/maj_googlesheet');
}
/////////////////////////////////////////////////
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS
/////////////////////////////////////////////////
module.exports = {
generer_codes
}