///////////////////////////////////////////////// // 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 [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 }