in edu-analytics-be/web/app/entity/educatorEntity.js [332:389]
static async deletePlaylistId(playlistId, token) {
try {
const tasks = Object.values(JSON.parse(JSON.stringify(await query(`SELECT taskId,courseId,classRoomTaskId FROM tasks where playlistId=${playlistId};`))));
if (tasks.length > 0) {
const taskIds = [];
tasks.forEach((obj) => {
taskIds.push(obj.taskId);
});
const taskIdString = taskIds.join();
const delTask_status = `DELETE FROM tasks_status WHERE taskId IN(${taskIdString});`;
await query(delTask_status);
await query(`DELETE FROM student_analytics WHERE playlistId=${playlistId};`);
await query(`DELETE FROM video WHERE playlistId = ${playlistId};`);
await query(`DELETE FROM tasks WHERE playlistId=${playlistId};`);
await query(`DELETE FROM playlist WHERE playlistId=${playlistId};`);
if (token) {
console.log('token present');
tasks.forEach(async (task) => {
try {
await axios({
method: "DELETE",
headers: { Authorization: `Bearer ${token}` },
url: `https://classroom.googleapis.com/v1/courses/${task.courseId}/courseWork/${task.classRoomTaskId}`
})
} catch (error) {
console.log(error.response)
}
})
}
return {
msg: 'Playlist deleted successfully',
status: 200
};
} else {
const playlist = Object.values(JSON.parse(JSON.stringify(await query(`SELECT * FROM playlist where playlistId=${playlistId};`))));
if (playlist.length > 0) {
await query(`DELETE FROM video WHERE playlistId = ${playlistId};`);
await query(`DELETE FROM playlist WHERE playlistId=${playlistId};`);
return {
msg: 'Playlist deleted successfully',
status: 200
};
}
return {
msg: 'Invalid playlist id',
status: 400
}
}
} catch (error) {
console.log(error);
return {
msg: error,
status: 500
}
}
}