schedule conflicts backend relatively done
This commit is contained in:
@@ -8,14 +8,11 @@ chrome.runtime.onMessage.addListener(function(request, sender, response) {
|
||||
}
|
||||
}
|
||||
else if(request.command == "checkConflicts"){
|
||||
//Check conflicts
|
||||
checkConflicts(response);
|
||||
}
|
||||
else if(request.command == "alreadyContains"){
|
||||
alreadyContains(request.unique,response);
|
||||
}
|
||||
else if(request.command == "getCourses"){
|
||||
getCourses(response);
|
||||
}
|
||||
else{
|
||||
const xhr = new XMLHttpRequest();
|
||||
const method = request.method ? request.method.toUpperCase() : "GET";
|
||||
@@ -37,18 +34,50 @@ chrome.runtime.onMessage.addListener(function(request, sender, response) {
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
function getCourses(sendResponse){
|
||||
function checkConflicts(sendResponse) {
|
||||
chrome.storage.sync.get('savedCourses', function(data) {
|
||||
sendResponse({done:data.savedCourses});
|
||||
var conflicts = [];
|
||||
var courses = data.savedCourses;
|
||||
for(var i = 0; i<courses.length;i++){
|
||||
for(var j=i+1; j<courses.length; j++){
|
||||
if(isConflict(courses[i],courses[j])){
|
||||
console.log("conflict");
|
||||
conflicts.push([courses[i],courses[j]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(conflicts.length == 0){
|
||||
sendResponse({isConflict:false});
|
||||
} else {
|
||||
console.log(conflicts);
|
||||
sendResponse({isConflict:true,between: conflicts});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function isConflict(courseA, courseB){
|
||||
var adtarr = courseA.datetimearr;
|
||||
var bdtarr = courseB.datetimearr;
|
||||
for(var i = 0; i<adtarr.length;i++){
|
||||
var currday = adtarr[i][0];
|
||||
var currtimes = adtarr[i][1];
|
||||
for(var j = 0; j<bdtarr.length;j++){
|
||||
var nextday = bdtarr[j][0];
|
||||
var nextimes = bdtarr[j][1];
|
||||
if(nextday == currday){
|
||||
if(currtimes[0] < nextimes[1] && currtimes[1] > nextimes[0]){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function add(request, sender, sendResponse) {
|
||||
var courses;
|
||||
var response;
|
||||
chrome.storage.sync.get('savedCourses', function(data) {
|
||||
courses = data.savedCourses;
|
||||
var courses = data.savedCourses;
|
||||
courses.push(request.course)
|
||||
console.log(courses);
|
||||
chrome.storage.sync.set({savedCourses: courses});
|
||||
@@ -56,10 +85,8 @@ function add(request, sender, sendResponse) {
|
||||
});
|
||||
}
|
||||
function remove(request, sender, sendResponse) {
|
||||
var courses;
|
||||
var response;
|
||||
chrome.storage.sync.get('savedCourses', function(data) {
|
||||
courses = data.savedCourses;
|
||||
var courses = data.savedCourses;
|
||||
var index = 0;
|
||||
while(index<courses.length && courses[index].unique != request.course.unique){
|
||||
index++;
|
||||
@@ -73,7 +100,7 @@ function remove(request, sender, sendResponse) {
|
||||
|
||||
function alreadyContains(unique,sendResponse){
|
||||
chrome.storage.sync.get('savedCourses', function(data) {
|
||||
courses = data.savedCourses;
|
||||
var courses = data.savedCourses;
|
||||
var contains = false;
|
||||
var i = 0;
|
||||
while(i < courses.length && !contains){
|
||||
|
||||
Reference in New Issue
Block a user