const Query = require('../models/query') ;

module.exports.addQuery = async (req , res , next)=> {
    try
    {
        let fullName = req.body.fullName || " " ;
        let phoneNumber = req.body.phoneNumber ;
        let email = req.body.email ;
        let query = req.body.query || " " ;
        let other = req.body.other || false ;
        let graduationYear = req.body.graduationYear ;
        let queryModel = await Query.findOne({email:email , query:query}) ;
        if(queryModel)
        {
            if(!queryModel.numAsked)
            {
                queryModel.numAsked = 0 ;
            }

            queryModel.numAsked = queryModel.numAsked + 1 ;
            await queryModel.save() ;
        }
        else
        {
            queryModel = new Query ({
                fullName : fullName ,
                phoneNumber : phoneNumber ,
                email : email,
                query : query ,
                numAsked : 1 ,
                graduationYear : graduationYear ,
                other : other
            }) ;
            await queryModel.save() ;
        }
        res.json({
            message : "Saved Query"
        }) ;

    }
    catch(err)
    {
        res.json({
            error : err
        }) ;
    }
}

module.exports.getQueries = async (req , res , next) => {
    try
    {
        const queries = await Query.find() ;
        res.json({
            queries : queries
        })
    }
    catch(err)
    {
        res.json({
            error : err
        })
    }
}

module.exports.getOtherQueries = async (req , res , next) => {
    try{
        const queries = await Query.find({other : true}) ;
        res.json({
            queries : queries
        })
    }
    catch(err){
        res.json({
            error : err
        })
    }
}

module.exports.getTypeQueries = async (req , res , next) => {
    try{
        const type = req.body.type ;
        const queries = await Query.find({type:type}) ;
        res.json({
            queries : queries
        })
    }
    catch(err)
    {
        res.json({
            error:err
        })
    }
}