/////////////////////////////////////////////////
// ADHÉSION
// [DOMAIN]/inscription
/////////////////////////////////////////////////

/////////////////////////////////////////////////
// LOGGING
/////////////////////////////////////////////////
const logger = require("../public/js/app/logger_lienventetemp");

/////////////////////////////////////////////////
// APPELS DES MODULES
/////////////////////////////////////////////////
const express = require('express');
const router = express.Router();
// CALCUL DE DATE
const moment = require('moment');
moment.locale('fr');
let now = moment().format("YYYY-MM-DD HH:mm:ss");

/////////////////////////////////////////////////
// APPELS DES FONCTIONS
/////////////////////////////////////////////////
const {
    generate_link,
    download_file
} = require("../controllers/vente_video/generate_linkController");

/////////////////////////////////////////////////
// ROUTES
/////////////////////////////////////////////////

/////////////////////////////////////////////////
// VIDÉO UNESCO
/////////////////////////////////////////////////

// Générer le lien temporaire
router.get('/unesco/lien', async function(req, res) {
    logger.info("on est dans la route vente video lien (ventevideoRouter.js)", { numsession: req.session.id });
    
    try {
        // APPEL DU CONTROLLER QUI GÉNÉRE LE LIEN
        const result = await generate_link(req, res);
        logger.info("on est dans la route vente video lien try", { numsession: req.session.id });
        logger.info("result : " + result, { numsession: req.session.id });
        //  envoie de la réponse HTTP "200 : ok" avec les données
        res.status(200).json({
            success: true,
            message: "Génération du lien réussi",
            data: result
        });
    } catch (error) {
        logger.info("on est dans la route vente video lien catch", { numsession: req.session.id });
        //  envoie de la réponse HTTP "500 : erreur server" avec les données
        res.status(500).json({
            success: false,
            message: "Génération du lien échec"
        });
    }
});

// Endpoint pour télécharger le fichier depuis le lien généré
router.get('/unesco/download/:id', (req, res) => {
    logger.info("on est dans la route vente video download (ventevideoRouter.js)", { numsession: req.session.id });
    
    try {
        // Appelle la fonction maj_googlesheet_auto du contrôleur
        const result = download_file(req, res);
        logger.info("on est dans la route vente video download try", { numsession: req.session.id });
        console.log ("result : ", result);
        //console.log ("res : ", res);
    } catch (error) {
        logger.info("on est dans la route vente video download catch", { numsession: req.session.id });
        res.status(500).json({
            success: false,
            message: "download échec"
        });
    }
});

/////////////////////////////////////////////////
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS
/////////////////////////////////////////////////
module.exports = router;