v2 transaction

This commit is contained in:
2018-12-19 16:49:47 +01:00
parent 0a1fb871ed
commit 18acbc9a01
3 changed files with 156 additions and 154 deletions

View File

@@ -927,79 +927,19 @@ class AutomaticDispose {
const runnerID = self.ADisSettings.runner_divs.indexOf(Runner);
const settingOpt = self.ADisSettings.runner_settings[runnerID];
const runnerOpt = self.ADisSettings.runner[runnerID];
return self.ADSettings().then((setting) => {
if (setting[settingOpt] == 'true') {
let where = {
missionID: ID,
runner: runnerOpt
};
return self.ADisDB.ADisMissions.where(where).limit(1)
}
}).then((Missions) => {
if (typeof Missions === "undefined") {
return;
/*
var MissionElement = $("#mission_" + ID);
var MissionID = MissionElement.attr("mission_id");
var MissionType = MissionElement.attr("mission_type_id");
var addr = MissionElement.find(".map_position_mover").text().split(",")
var MissionName = addr[0];
var MissionStreet = addr[1];
var MissionVillage = addr[2];
return self.ADisDB.ADisAvailabelMissions.get({
type: MissionType
}).then((available) => {
return self.AddMissionsToQueue({
"missionID": MissionID,
"type": MissionType,
"runner": runnerOpt,
"name": MissionName,
"street": MissionStreet,
"village": MissionVillage,
"available": (available !== undefined) ? 'true' : 'false',
"done": 'false',
"last_check": Math.floor(new Date().getTime() / 1000),
"next_check": Math.floor(new Date().getTime() / 1000) + 1
});
});
*/
}
return Missions.count((count) => {
console.log(count, runnerOpt);
if (count > 0) {
return Missions.each((Mission) => {
console.table(Mission);
var MissionElement = $("#mission_" + ID);
var _MissionID = MissionElement.attr("mission_id");
var _MissionType = MissionElement.attr("mission_type_id");
var addr = MissionElement.find(".map_position_mover").text().split(",")
var MissionName = addr[0];
var MissionStreet = addr[1];
var MissionVillage = addr[2];
console.log('update mission', MissionID)
return self.ADisDB.ADisAvailabelMissions.get({
type: _MissionType
}).then((available) => {
return self.UpdateMissions({
"missionID": _MissionID,
"type": _MissionType,
"runner": runnerOpt,
"name": MissionName,
"street": MissionStreet,
"village": MissionVillage,
"available": (available !== undefined) ? 'true' : 'false',
"done": "false",
"last_check": Mission.last_check,
"next_check": Mission.next_check
});
});
});
} else {
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => {
return self.ADSettings().then((setting) => {
if (setting[settingOpt] == 'true') {
let where = {
missionID: ID,
runner: runnerOpt
};
return self.ADisDB.ADisMissions.where(where).limit(1)
}
}).then((Missions) => {
if (typeof Missions === "undefined") {
return;
/*
var MissionElement = $("#mission_" + ID);
var MissionID = MissionElement.attr("mission_id");
@@ -1008,7 +948,7 @@ class AutomaticDispose {
var MissionName = addr[0];
var MissionStreet = addr[1];
var MissionVillage = addr[2];
console.log('new mission', MissionID)
return self.ADisDB.ADisAvailabelMissions.get({
type: MissionType
}).then((available) => {
@@ -1025,14 +965,75 @@ class AutomaticDispose {
"next_check": Math.floor(new Date().getTime() / 1000) + 1
});
});
*/
}
return Missions.count((count) => {
console.log(count, runnerOpt);
if (count > 0) {
return Missions.each((Mission) => {
console.table(Mission);
var MissionElement = $("#mission_" + ID);
var _MissionID = MissionElement.attr("mission_id");
var _MissionType = MissionElement.attr("mission_type_id");
var addr = MissionElement.find(".map_position_mover").text().split(",")
var MissionName = addr[0];
var MissionStreet = addr[1];
var MissionVillage = addr[2];
console.log('update mission', MissionID)
return self.ADisDB.ADisAvailabelMissions.get({
type: _MissionType
}).then((available) => {
return self.UpdateMissions({
"missionID": _MissionID,
"type": _MissionType,
"runner": runnerOpt,
"name": MissionName,
"street": MissionStreet,
"village": MissionVillage,
"available": (available !== undefined) ? 'true' : 'false',
"done": "false",
"last_check": Mission.last_check,
"next_check": Mission.next_check
});
});
});
} else {
var MissionElement = $("#mission_" + ID);
var MissionID = MissionElement.attr("mission_id");
var MissionType = MissionElement.attr("mission_type_id");
var addr = MissionElement.find(".map_position_mover").text().split(",")
var MissionName = addr[0];
var MissionStreet = addr[1];
var MissionVillage = addr[2];
console.log('new mission', MissionID)
return self.ADisDB.ADisAvailabelMissions.get({
type: MissionType
}).then((available) => {
return self.AddMissionsToQueue({
"missionID": MissionID,
"type": MissionType,
"runner": runnerOpt,
"name": MissionName,
"street": MissionStreet,
"village": MissionVillage,
"available": (available !== undefined) ? 'true' : 'false',
"done": 'false',
"last_check": Math.floor(new Date().getTime() / 1000),
"next_check": Math.floor(new Date().getTime() / 1000) + 1
});
});
}
});
});
});
}
AddMissionsToQueue(Mission) {
const self = this;
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => {
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions], async () => {
return self.ADisDB.ADisMissions.put(Mission).catch((err) => {
console.error(err)
});
@@ -1044,7 +1045,7 @@ class AutomaticDispose {
UpdateMissions(Mission) {
const self = this;
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => {
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions], async () => {
return self.ADisDB.ADisMissions.put(Mission).catch((err) => {
console.error(err)
});