v2 transactions

This commit is contained in:
2018-12-19 17:06:30 +01:00
parent 31f147ee6d
commit 98002ae853
3 changed files with 354 additions and 278 deletions

316
dist/autoloaderV2.js vendored
View File

@@ -1,4 +1,4 @@
/*Generated on:Wed Dec 19 2018 17:03:17 GMT+0100 (CET)*/
/*Generated on:Wed Dec 19 2018 17:06:29 GMT+0100 (CET)*/
/*
* Dexie.js - a minimalistic wrapper for IndexedDB
* ===============================================
@@ -17201,14 +17201,26 @@ class AutomaticDispose {
// - Sprechwunsch Queue
// -
RemovePoliceSprechwunschFromQueue(WunschID) {
return this.ADisDB.ADisSprechwunschPolice.where({
missionID: WunschID
}).delete();
let self = this;
return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => {
return this.ADisDB.ADisSprechwunschPolice.where({
missionID: WunschID
}).delete();
}).catch((err) => {
console.error(err)
})
}
RemoveRescueSprechwunschFromQueue(WunschID) {
return this.ADisDB.ADisSprechwunsch.where({
vehicleID: WunschID
}).delete();
let self = this;
return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => {
return this.ADisDB.ADisSprechwunsch.where({
vehicleID: WunschID
}).delete();
}).catch((err) => {
console.error(err)
})
}
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
@@ -17219,70 +17231,86 @@ class AutomaticDispose {
CollectRescueSprechwuensche() {
let self = this;
new Promise(async (resolve, reject) => {
await self.ADisDB.ADisSprechwunsch.where({
done: 'false'
}).each((myWunsch) => {
if ($("#vehicle_list_" + myWunsch.vehicleID).find(".building_list_fms").text() != "5") {
self.RemoveRescueSprechwunschFromQueue(myWunsch.vehicleID);
}
return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => {
new Promise(async (resolve, reject) => {
await self.ADisDB.ADisSprechwunsch.where({
done: 'false'
}).each((myWunsch) => {
if ($("#vehicle_list_" + myWunsch.vehicleID).find(".building_list_fms").text() != "5") {
self.RemoveRescueSprechwunschFromQueue(myWunsch.vehicleID);
}
})
return resolve();
}).then(() => {
$("#building_list").find(".building_list_vehicle_element").each((_, elem) => {
var VehicleStatus = $(elem).find(".building_list_fms").text();
var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id")));
var VehicleID = $(elem).attr("vehicle_id");
if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) === -1) {
self.AddRescueSprechwunschToQueue(VehicleID);
}
});
})
return resolve();
}).then(() => {
$("#building_list").find(".building_list_vehicle_element").each((_, elem) => {
var VehicleStatus = $(elem).find(".building_list_fms").text();
var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id")));
var VehicleID = $(elem).attr("vehicle_id");
if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) === -1) {
self.AddRescueSprechwunschToQueue(VehicleID);
}
});
});
}).catch((err) => {
console.error(err)
})
}
OpenNextRescueSprechwunsch() {
let self = this;
this.ADSettings().then((setting) => {
if (setting['Sprechwunsch-Automatic'] == 'true') {
return self.ADisDB.ADisSprechwunsch.where({
done: 'false'
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
Wunsch.each((myWunsch) => {
let VehicleID = myWunsch.vehicleID;
self.UpdateRescueSprechwunschToDone(VehicleID).then(() => {
if ($("#adis-sprechwunsch-rescue-frame").attr("vehicle_id") == "empty") {
$("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID);
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID);
return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => {
this.ADSettings().then((setting) => {
if (setting['Sprechwunsch-Automatic'] == 'true') {
return self.ADisDB.ADisSprechwunsch.where({
done: 'false'
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
Wunsch.each((myWunsch) => {
let VehicleID = myWunsch.vehicleID;
self.UpdateRescueSprechwunschToDone(VehicleID).then(() => {
if ($("#adis-sprechwunsch-rescue-frame").attr("vehicle_id") == "empty") {
$("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID);
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID);
self.RescueVehicleFrameWatchDog = setTimeout(async () => {
self.RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => {
$("#adis-sprechwunsch-rescue-frame").attr("src", "");
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty");
});
}, 1500);
}
self.RescueVehicleFrameWatchDog = setTimeout(async () => {
self.RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => {
$("#adis-sprechwunsch-rescue-frame").attr("src", "");
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty");
});
}, 1500);
}
});
});
});
}
});
}
})
}).catch((err) => {
console.error(err)
})
}
AddRescueSprechwunschToQueue(WunschID) {
return this.ADisDB.ADisSprechwunsch.put({
vehicleID: WunschID,
done: 'false'
}).catch((err) => {})
return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => {
return this.ADisDB.ADisSprechwunsch.put({
vehicleID: WunschID,
done: 'false'
})
}).catch((err) => {
console.error(err)
})
}
UpdateRescueSprechwunschToDone(WunschID) {
return this.ADisDB.ADisSprechwunsch.put({
vehicleID: WunschID,
done: 'true'
}).catch((err) => {})
return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => {
return this.ADisDB.ADisSprechwunsch.put({
vehicleID: WunschID,
done: 'true'
})
}).catch((err) => {
console.error(err)
})
}
@@ -17393,41 +17421,45 @@ class AutomaticDispose {
CollectPoliceSprechwuensche() {
let self = this;
new Promise(async (resolve, reject) => {
await self.ADisDB.ADisSprechwunschPolice.where({
done: 'false'
}).each((myWunsch) => {
if (!$("#mission_" + myWunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) {
$("#mission_" + myWunsch.missionID).remove();
return self.RemovePoliceSprechwunschFromQueue(myWunsch.missionID);
}
})
return resolve();
}).then(() => {
var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible');
return MOIODOS.each((_, elem) => {
if ($(elem).text().match(/Gefangene sollen abtransportiert werden/g)) {
var MissionID = $(elem).attr("mission_id");
self.AddPoliceSprechwunschToQueue(MissionID);
}
});
}).then(() => {
$("#building_list").find(".building_list_vehicle_element").each((_, elem) => {
var VehicleStatus = $(elem).find(".building_list_fms").text();
var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id")));
var VehicleID = $(elem).attr("vehicle_id");
if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) !== -1) {
var map2 = $('#radio_messages_important > li.radio_message_vehicle_' + VehicleID + ' a:contains("Zum Einsatz")');
if (map2.length > 0) {
var _meap = String(map2.attr('href'));
var MissionID = _meap.substr(_meap.lastIndexOf("/") + 1);
if (MissionID) {
self.AddPoliceSprechwunschToQueue(MissionID);
return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunschPolice], async () => {
new Promise(async (resolve, reject) => {
await self.ADisDB.ADisSprechwunschPolice.where({
done: 'false'
}).each((myWunsch) => {
if (!$("#mission_" + myWunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) {
$("#mission_" + myWunsch.missionID).remove();
return self.RemovePoliceSprechwunschFromQueue(myWunsch.missionID);
}
})
return resolve();
}).then(() => {
var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible');
return MOIODOS.each((_, elem) => {
if ($(elem).text().match(/Gefangene sollen abtransportiert werden/g)) {
var MissionID = $(elem).attr("mission_id");
self.AddPoliceSprechwunschToQueue(MissionID);
}
});
}).then(() => {
$("#building_list").find(".building_list_vehicle_element").each((_, elem) => {
var VehicleStatus = $(elem).find(".building_list_fms").text();
var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id")));
var VehicleID = $(elem).attr("vehicle_id");
if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) !== -1) {
var map2 = $('#radio_messages_important > li.radio_message_vehicle_' + VehicleID + ' a:contains("Zum Einsatz")');
if (map2.length > 0) {
var _meap = String(map2.attr('href'));
var MissionID = _meap.substr(_meap.lastIndexOf("/") + 1);
if (MissionID) {
self.AddPoliceSprechwunschToQueue(MissionID);
}
}
}
}
});
});
});
})
}).catch((err) => {
console.error(err)
})
}
OpenNextPoliceSprechwunsch() {
@@ -17459,7 +17491,9 @@ class AutomaticDispose {
});
}
})
}).catch((err) => {})
}).catch((err) => {
console.error(err)
})
}
AddPoliceSprechwunschToQueue(WunschID) {
@@ -17469,7 +17503,9 @@ class AutomaticDispose {
missionID: WunschID,
done: 'false'
})
}).catch((err) => {})
}).catch((err) => {
console.error(err)
})
}
UpdatePoliceSprechwunschToDone(WunschID) {
@@ -17479,7 +17515,9 @@ class AutomaticDispose {
missionID: WunschID,
done: 'true'
})
}).catch((err) => {})
}).catch((err) => {
console.error(err)
})
}
@@ -18139,34 +18177,34 @@ class AutomaticDispose {
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => {
return self.ADSettings().then(async () => {
return self.ADisDB.ADisMissions.toCollection()
})
}).then((Missions) => {
if (typeof Missions !== "undefined") {
return Missions.count((count) => {
if (count > 0) {
return Missions.each((MyMission) => {
var MissionElement = $("#mission_" + MyMission.missionID);
if (MissionElement.length == 0 || $('#mission_panel_' + MyMission.missionID).hasClass('mission_panel_green')) {
// remove
console.log("Remove :", MyMission)
return self.RemoveMissionsFromQueue(MyMission.missionID)
}
});
}
});
}
}).then(() => {
if (typeof MissionID != 'undefined') {
return self.AddMission(MissionID, Runner);
} else {
return self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => {
await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => {
MissionID = $(elem).attr("mission_id");
await self.AddMission(MissionID, RunnerX);
}).then((Missions) => {
if (typeof Missions !== "undefined") {
return Missions.count((count) => {
if (count > 0) {
return Missions.each((MyMission) => {
var MissionElement = $("#mission_" + MyMission.missionID);
if (MissionElement.length == 0 || $('#mission_panel_' + MyMission.missionID).hasClass('mission_panel_green')) {
// remove
console.log("Remove :", MyMission)
return self.RemoveMissionsFromQueue(MyMission.missionID)
}
});
}
});
})
}
}
}).then(() => {
if (typeof MissionID != 'undefined') {
return self.AddMission(MissionID, Runner);
} else {
return self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => {
await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => {
MissionID = $(elem).attr("mission_id");
await self.AddMission(MissionID, RunnerX);
});
})
}
})
}).catch((err) => {
console.error(err)
});;
@@ -18449,26 +18487,26 @@ class AutomaticDispose {
return item.next_check <= Math.floor(new Date().getTime() / 1000)
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
return Wunsch.count(function (count) {
if (count > 0) {
return Wunsch.each((mywunsch) => {
console.table(mywunsch);
return self.MainHandler()
});
} else {
return self.UpdateMissionsToDone(self.MissionID).then(() => {
return tellParent(`console.log('wunsch:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`);
})
}
});
} else {
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
return tellParent(`console.log('wunsch:2000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`);
})
}
})
}).then((Wunsch) => {
if (Wunsch !== undefined) {
return Wunsch.count(function (count) {
if (count > 0) {
return Wunsch.each((mywunsch) => {
console.table(mywunsch);
return self.MainHandler()
});
} else {
return self.UpdateMissionsToDone(self.MissionID).then(() => {
return tellParent(`console.log('wunsch:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`);
})
}
});
} else {
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
return tellParent(`console.log('wunsch:2000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`);
})
}
}).catch((err) => {
console.error(err)
})