fix copy tracker empty

This commit is contained in:
philc 2025-02-25 15:02:03 +01:00
parent da8d811c68
commit f9fa110208

View File

@ -3,7 +3,7 @@ const glob = require("glob");
const fs = require("fs-extra"); const fs = require("fs-extra");
const path = require("path"); const path = require("path");
const conf = require(`../../../adminapi/objects/tribes/itm/adminapi.json`); const conf = require(`../../../adminapi/objects/tribes/itm/adminapi.json`);
const currentmod="Trackings" const currentmod = "Trackings";
const log = conf.api.activelog.includes(currentmod); const log = conf.api.activelog.includes(currentmod);
const Odmdb = require("../models/Odmdb.js"); const Odmdb = require("../models/Odmdb.js");
// Middlewares // Middlewares
@ -11,7 +11,6 @@ const checkHeaders = require("../middlewares/checkHeaders");
const isAuthenticated = require("../middlewares/isAuthenticated"); const isAuthenticated = require("../middlewares/isAuthenticated");
const router = express.Router(); const router = express.Router();
/** /**
* @api {post} adminapi/trackings/newdevice - Post new device * @api {post} adminapi/trackings/newdevice - Post new device
* @apiName adddevice * @apiName adddevice
@ -32,47 +31,71 @@ const router = express.Router();
* HTTP/1.1 200 OK * HTTP/1.1 200 OK
* {"status":200, "ref":"Trackings", "msg":"successfullupdate", "data":{}} * {"status":200, "ref":"Trackings", "msg":"successfullupdate", "data":{}}
*/ */
router.post("/newdevice", checkHeaders, async (req, res) => { router.post("/newdevice", checkHeaders, async (req, res) => {
if (log) console.log(currentmod, "post new device with", req.body); if (log) console.log(currentmod, "post new device with", req.body);
const newdevice= {status: 200, const newdevice = { status: 200, ref: "Trackings", msg: "success", data: {} };
ref: "Trackings", const role = {
msg: "success", xalias: req.session.header.xalias,
data: {}, xprofils: req.session.header.xprofils,
};
if (!fs.pathExistsSync(`../${req.session.header.xtribe}/objects/devices`)) {
fs.mkdirSync(`../${req.session.header.xtribe}/objects/devices/itm/`, {
recursive: true,
});
fs.mkdirSync(`../${req.session.header.xtribe}/objects/devices/idx/`, {
recursive: true,
});
const confdevice = {
name: "devices",
schema: "adminapi/schema/devices.json",
lastupdate: 0,
lastupdatedata: "2025-02-23T09:23:56.266Z",
}; };
const role = { fs.outputFileSync(
xalias: req.session.header.xalias, `../${req.session.header.xtribe}/objects/devices/conf.json`,
xprofils: req.session.header.xprofils, confdevice
}; );
const devicepath=`../${req.session.header.xtribe}/objects/devices/itm/${req.session.header.xuuid}.json`; }
const device=req.body; const devicepath = `../${req.session.header.xtribe}/objects/devices/itm/${req.session.header.xuuid}.json`;
device.xuuid=req.session.header.xuuid const device = req.body;
if (req.session.header.xalias!="anonymous"){ device.xuuid = req.session.header.xuuid;
device.alias=req.session.header.xalias if (req.session.header.xalias != "anonymous") {
device.alias = req.session.header.xalias;
}
if (await fs.pathExists(devicepath)) {
const updatedevice = Odmdb.cud(
`../${req.session.header.xtribe}/objects/devices`,
"U",
device,
role
);
if (updatedevice.status == 200) {
newdevice.msg = "successfullupdate";
} else {
newdevice.status = updatedevice.status;
newdevice.msg = updatedevice.msg;
newdevice.data = updatedevice.data;
if (updatedevice.multimsg) newdevice.multimsg = updatedevice.multimsg;
} }
if (await fs.pathExists(devicepath)){ } else {
const updatedevice=Odmdb.cud(`../${req.session.header.xtribe}/objects/devices`,"U",device,role); const createdevice = Odmdb.cud(
if (updatedevice.status==200){ `../${req.session.header.xtribe}/objects/devices`,
newdevice.msg="successfullupdate" "C",
}else{ device,
newdevice.status=updatedevice.status role
newdevice.msg=updatedevice.msg );
newdevice.data=updatedevice.data console.log(createdevice);
if (updatedevice.multimsg) newdevice.multimsg=updatedevice.multimsg if (createdevice.status == 200) {
} newdevice.msg = "successfullcreate";
}else{ } else {
const createdevice = Odmdb.cud(`../${req.session.header.xtribe}/objects/devices`,"C",device,role); newdevice.status = createdevice.status;
console.log(createdevice) newdevice.msg = createdevice.msg;
if (createdevice.status==200) { newdevice.data = createdevice.data;
newdevice.msg="successfullcreate" if (createdevice.multimsg) newdevice.multimsg = createdevice.multimsg;
}else{
newdevice.status=createdevice.status
newdevice.msg=createdevice.msg
newdevice.data=createdevice.data
if (createdevice.multimsg) newdevice.multimsg=createdevice.multimsg
}
} }
res.status(newdevice.status).json(newdevice); }
}); res.status(newdevice.status).json(newdevice);
});
/** /**
* @api {get} https://dns.xx/trk/pathtofile? - tracking system * @api {get} https://dns.xx/trk/pathtofile? - tracking system
@ -132,5 +155,4 @@ const router = express.Router();
* *
*/ */
module.exports = router;
module.exports=router;