let moment = require('moment');
//const InscriptionsEleve = require('../../models/InscriptionsEleve');
module.exports = {


    friendlyName: 'Create',


    description: 'Create Information user!',


    inputs: {
        matricule: {
            type: 'string',
        },
        nom: {
            type: 'string',
            required: true,

        },
        prenom: {
            type: 'string',
        },
        sexe: {
            type: 'string',
        },
        dateNaissance: {
            type: 'string',
        },
        lieuNaissance: {
            type: 'string',
        },
        indicatif: {
            type: 'string',
        },
        telephone: {
            type: 'string',
        },
        email: {
            type: 'string',
        },
        codeEcole: {
            type: 'string',
        },
        nationalite: {
            type: 'string',

        },
        etablissementOrigine: {
            type: 'string',
        },
        codeParent: {
            type: 'string',
        },
        anneeScolaire: {
            type: 'string',
        },
        dateEnregistrement: {
            type: 'string',
        },
        heureEnregistrement: {
            type: 'string',

        },
        classe: {
            type: 'string',

        },

    },


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


    fn: async function (inputs, exits) {

        //console.log("INPUTS 1", inputs)
        const { id, user } = this.req.token;

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

        }

        // 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 ecole!" })
        }
        // FIN VERIF CODE ECOLE

        inputs.codeEcole = userCodeEcole
        ///////////////////

        //JE CHERCHE LE CODE PARENT DE L'UTILISATEUR QUI EST CONNECTER
        let parent = await Parents.find({ codeParent: user.codeUser,/* nom: user.nom,*/ codeEcole: userCodeEcole, }).then(_.first);
        if (!parent) {
            return exits.notFound({ message: "Vous n'etes pas autoriser a accéder a cette page!" })
        } else {
            inputs.codeParent = parent.codeParent
        }


        let ouestDate = moment.utc(new Date()).utcOffset('+01:00')
        inputs.dateEnregistrement = moment(ouestDate, 'DD/MM/YYYY').format('YYYY-MM-DD')
        inputs.heureEnregistrement = moment(ouestDate).format('HH:mm:ss')

        inputs.indicatif = '229'
        //console.log("INPUTS", inputs)
        let annees = await AnneeScolaire.find().sort('anneeScolaire DESC').then(_.first)
        console.log("ANNEES", annees)
        if (annees) {
            inputs.anneeScolaire = annees.anneeScolaire
        }

        let inscription = await InscriptionsEleve.create(inputs).fetch();


        return exits.success(_.merge(inscription));
        // All done.


    }


};
