Controllers_PrevCraController.js

const JsonResponse = require("./JsonResponse");
const PrevCraService = require("../Services/PrevCraService");

/**
 * @extends Myintranet.Controllers.CrudController
 * @memberOf Myintranet.Controllers
 * @inheritDoc
 */
class PrevCraController {

    constructor(db) {
        this.db = db;
        this.service = new PrevCraService(this.db);
    }

    /**
     * Télécharge un Cra
     * @param request
     * @param response
     */
    downloadCra(request, response) {
        this.service.getCraFileName(request).then(filename => {
            response.sendFile(filename)
        }).catch((err) => {
            response.status(503).send(err.message)
        })

    }
    downloadCrafromAction(request, response) {
        this.service.getCraFromActionFileName(request).then(filename => {
            response.sendFile(filename)
        }).catch((err) => {
            response.status(503).send(err.message)
        })

    }

    /**
     * mise a jour de cra depuis le site web, utilisateur connecté
     * @param request
     * @param response
     */
    updateCraFromWebsite(request, response) {
        this.service.saisieCraFromWebSite(request).then(data => {
            response.json(new JsonResponse(true, data, ''))
        }).catch(err => {
            response.json(new JsonResponse(false, err, err.message))
        })
    }

    /**
     * mise a jour de cra depuis le mail, utilisateur non connecté
     * @param request
     * @param response
     */
    updatePrevAndCraFromLink(request, response) {
        this.service.saisiePrevAndCraFromLink(request).then(data => {
            response.json(new JsonResponse(true, data, ''))
        }).catch(err => {
            response.json(new JsonResponse(false, err, err.message))
        })
    }


    /**
     * mise a jour de prev depuis le site web, utilisateur connecté
     * @param request
     * @param response
     */
    UpdatePrevFromWebsite(request, response) {
        this.service.saisiePrevFromWebsite(request).then(data => {
            response.json(new JsonResponse(true, data, ''))
        }).catch(err => {
            response.json(new JsonResponse(false, err, err.message))
        })
    }


    /**
     * Crée l'activité pour la mission
     * @param request
     * @param response
     */
    createActivitiesForMission(request, response) {
        this.service.createActivitiesForMission(request).then(data => {
            response.json(new JsonResponse(true, data, ''))
        }).catch(err => {
            response.json(new JsonResponse(false, err, err.message))
        })
    }


    verifyCra(request, response) {
        this.service.verifyCra(request).then(data => {
            response.json(new JsonResponse(true, data, ''))
        }).catch(err => {
            response.json(new JsonResponse(false, err, err.message))
        })
    }

    VerifDM(request, response) {
        this.service.VerifDM(request).then(data => {
            response.json(new JsonResponse(true, data, ''))
        }).catch(err => {
            response.json(new JsonResponse(false, err, err.message))
        })

    }

    /**
     * mise a jour de prev depuis le site web, utilisateur non connecté
     * @param request
     * @param response
     */
   

    //avoir acces au donné de ceux qui mettent le prev
    getPrevStats(request, response) {
        this.service.getPrevStats(request).then(data => {
            response.json(new JsonResponse(true, data, ''))
        }).catch(err => {
            response.json(new JsonResponse(false, err, err.message))
        })
    }


    //avoir acces au donné de ceux qui mettent leur cra
    getCraStats(request, response) {
        this.service.getCraStats(request).then(data => {
            response.json(new JsonResponse(true, data, ''))
        }).catch(err => {
            response.json(new JsonResponse(false, err, err.message))
        })
    }

}

module.exports = PrevCraController;