let moment = require('moment')

module.exports = {
    friendlyName: "Find",

    description: "Find.",

    inputs: {
        codMoy: {
            type: "string",
            require: true
        },
        anneeScolaire: {
            type: "string",
            require: true
        },
    },

    exits: {
        notFound: {
            statusCode: 404
        },
    },

    fn: async function (inputs, exits) {
        const { id, user } = this.req.token;
        //console.log("ID", id, user.login, user.typeUser, user.codeEcole)

        // VERIFICATION DU CODE ECOLE
        if (user.codeEcole === '' || user.codeEcole === null || user.codeEcole === undefined) {
            return exits.notFound({ message: "Veuillez préciser le code Ecole pour cet utulisateur pour a accéder a cette page!" })
        }
        ecoleVerif = await Ecoles.find({ codeEcole: user.codeEcole }).then(_.first)
        if (!ecoleVerif) {
            return exits.notFound({ message: "Cet utilisateur n'est attribué a aucune classe!" })
        }
        // FIN VERIF CODE ECOLE

        if (inputs.anneeScolaire === '' || inputs.anneeScolaire === null || inputs.anneeScolaire === undefined) {
            return exits.notFound({ message: "Veuillez préciser une année scolaire pour a accéder a cette page!" })
        }
        console.log("DATE", inputs.startDate, inputs.endDate)
        // CONTROLE SUR USER ET RENVOI DES DATA EN FONCTION DE  USER CONNECTER
        // ACCESSIBLE UNIQUE PAR ADMIN ET ADMINISTRATION

        this.req.query.limit = this.req.query.limit || "10";
        this.req.query.skip = this.req.query.skip || "0";

        let userCodeEcole;
        if (user.typeUser === 'ADMINISTRATION') {
            userCodeEcole = user.codeEcole
        } else if (user.typeUser === 'ADMIN') {
            userCodeEcole = undefined
        } else if(user.typeUser === 'ENSEIGNANT') {
            userCodeEcole = user.codeEcole
            inputs.codeEnseignant = user.codeUser
        }
        else {
            return exits.notFound({ message: "Vous n'etes pas autoriser a accéder a cette page!" })

        }

        let note = await ProfNote.find({codMoy: inputs.codMoy, anneeScolaire: inputs.anneeScolaire}).then(_.first)

        // All done.
        return exits.success(note);
    },
};
