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",
msg: "success",
data: {},
};
const role = { const role = {
xalias: req.session.header.xalias, xalias: req.session.header.xalias,
xprofils: req.session.header.xprofils, xprofils: req.session.header.xprofils,
}; };
const devicepath=`../${req.session.header.xtribe}/objects/devices/itm/${req.session.header.xuuid}.json`; if (!fs.pathExistsSync(`../${req.session.header.xtribe}/objects/devices`)) {
const device=req.body; fs.mkdirSync(`../${req.session.header.xtribe}/objects/devices/itm/`, {
device.xuuid=req.session.header.xuuid recursive: true,
if (req.session.header.xalias!="anonymous"){ });
device.alias=req.session.header.xalias 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",
};
fs.outputFileSync(
`../${req.session.header.xtribe}/objects/devices/conf.json`,
confdevice
);
} }
if (await fs.pathExists(devicepath)){ const devicepath = `../${req.session.header.xtribe}/objects/devices/itm/${req.session.header.xuuid}.json`;
const updatedevice=Odmdb.cud(`../${req.session.header.xtribe}/objects/devices`,"U",device,role); const device = req.body;
if (updatedevice.status==200){ device.xuuid = req.session.header.xuuid;
newdevice.msg="successfullupdate" if (req.session.header.xalias != "anonymous") {
}else{ device.alias = req.session.header.xalias;
newdevice.status=updatedevice.status
newdevice.msg=updatedevice.msg
newdevice.data=updatedevice.data
if (updatedevice.multimsg) newdevice.multimsg=updatedevice.multimsg
} }
}else{ if (await fs.pathExists(devicepath)) {
const createdevice = Odmdb.cud(`../${req.session.header.xtribe}/objects/devices`,"C",device,role); const updatedevice = Odmdb.cud(
console.log(createdevice) `../${req.session.header.xtribe}/objects/devices`,
if (createdevice.status==200) { "U",
newdevice.msg="successfullcreate" device,
}else{ role
newdevice.status=createdevice.status );
newdevice.msg=createdevice.msg if (updatedevice.status == 200) {
newdevice.data=createdevice.data newdevice.msg = "successfullupdate";
if (createdevice.multimsg) newdevice.multimsg=createdevice.multimsg } else {
newdevice.status = updatedevice.status;
newdevice.msg = updatedevice.msg;
newdevice.data = updatedevice.data;
if (updatedevice.multimsg) newdevice.multimsg = updatedevice.multimsg;
}
} else {
const createdevice = Odmdb.cud(
`../${req.session.header.xtribe}/objects/devices`,
"C",
device,
role
);
console.log(createdevice);
if (createdevice.status == 200) {
newdevice.msg = "successfullcreate";
} 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;