in edu-analytics-be/web/app/entity/educatorEntity.js [249:285]
static async pullCourseDataFromClassRoomApi(token) {
let courses;
let userData;
try {
const result = await axios({
method: "get",
headers: { Authorization: `Bearer ${token}` },
url: 'https://classroom.googleapis.com/v1/courses?courseStates=ACTIVE'
})
courses = result.data.courses;
} catch (error) {
console.log(error);
return error.response.status;
//res.send(error).status(400);
}
try {
const user = await axios({
method: "get",
headers: { Authorization: `Bearer ${token}` },
url: `https://www.googleapis.com/oauth2/v1/userinfo`
})
userData = user.data;
} catch (error) {
console.log(error);
//res.send('Invalid user').status(400);
}
await query(`DELETE FROM courses WHERE creator='${userData.email}';`);
await query('INSERT INTO courses(courseId,name,descriptionHeading,ownerId,creator,courseState,creationTime) VALUES ?',
[courses.map(item => [item.id, item.name, item.descriptionHeading, item.ownerId, userData.email, item.courseState, new Date(item.creationTime).toJSON().slice(0, 19).replace('T', ' ')])]);
const result = await query(`SELECT * FROM courses WHERE creator='${userData.email}';`);
return result;
}