static async addGoogleUser()

in edu-analytics-be/web/app/entity/studentEntity.js [39:70]


    static async addGoogleUser(token, userType) {
        const user = await EducatorEntity.getUserInfoByToken(token);

        if (userType === 'student') {
            const sql = `INSERT INTO students (email,firstName,lastName,stdId) VALUES ('${user.email}','${user.name}','${user.family_name}','${user.id}');`;
            console.log(sql);
            try {
                await query(sql);
                const data = await query(`SELECT * FROM students where email='${user.email}';`);
                return data[0];
            } catch (err) {
                if (err.code === 'ER_DUP_ENTRY') {
                    return (await query(`SELECT * FROM students where email='${user.email}';`))[0];
                }
                return err;
            }
        } else if (userType === 'educator') {
            const sql = `INSERT INTO educators (email,firstName,lastName,eduId) VALUES ('${user.email}','${user.name}','${user.family_name}','${user.id}');`;
            console.log(sql);
            try {
                await query(sql);
                const data = await query(`SELECT * FROM educators where email='${user.email}';`);
                return data[0];
            } catch (err) {
                if (err.code === 'ER_DUP_ENTRY') {
                    return (await query(`SELECT * FROM educators where email='${user.email}';`))[0];
                }
                return err;
            }
        }

    }