modify add ipcam api
This commit is contained in:
+61
-18
@@ -55,26 +55,69 @@ router
|
||||
|
||||
let active = arr.data.active == 1 ? 1 : 0;
|
||||
|
||||
let query = "select count(*) as c from ??.?? where `ip` = ?";
|
||||
let param = [config.db.db1, 'jcioccamset', arr.data.ip];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err || row.length == 0) return rt.err(res, err, n, 'ERR8000');
|
||||
!async function runSync() {
|
||||
// data flag 0 is insert, 1 is update
|
||||
let flag = 0;
|
||||
let idx = 1;
|
||||
// query db data
|
||||
try {
|
||||
let query = "select `uid` from ??.?? order by `uid` desc limit 1";
|
||||
let param = [config.db.db1, 'jcioccamset'];
|
||||
let id = await tool.promiseQuery(res, query, param);
|
||||
|
||||
if (row[0].c >= 1) return n('ERR0027');
|
||||
|
||||
let query = "insert into ??.?? (`ip`, `name`, `model`, `maxevents`, `maximg`, `active`, `cuser`, `muser`, `ctime`, `mtime` ) \
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, unix_timestamp(), unix_timestamp())";
|
||||
let param = [config.db.db1, 'jcioccamset', arr.data.ip, arr.data.name, arr.data.model, arr.data.maxevents, arr.data.maximg, active, u, u];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res, err, n, 'ERR8001');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
if (id.data.length > 0 && id.data[0].uid) idx = id.data[0].uid + 1;
|
||||
if (idx > config.ipcam_limit) {
|
||||
query = "select `uid` from ??.?? where `delete` = 1 limit 1";
|
||||
flag = 1;
|
||||
let id = await tool.promiseQuery(res, query, param);
|
||||
if (id.data.length > 0 && id.data[0].uid) idx = id.data[0].uid;
|
||||
else return n('ERR0070');
|
||||
}
|
||||
n();
|
||||
})
|
||||
})
|
||||
|
||||
query = "select count(*) as c from ??.?? where `ip` = ?";
|
||||
param = [config.db.db1, 'jcioccamset', arr.data.ip];
|
||||
let count = await tool.promiseQuery(res, query, param);
|
||||
if (count.data.length == 0) return n('ERR8000');
|
||||
if (count.data[0].c >= 1) return n('ERR0027');
|
||||
} catch (e) {
|
||||
return rt.err(res, e, n, 'ERR8000');
|
||||
}
|
||||
if (flag == 1) {
|
||||
try {
|
||||
let query = "update ??.?? set \
|
||||
`ip` = ?, \
|
||||
`name` = ?, \
|
||||
`model` = ?, \
|
||||
`maxevents` = ?, \
|
||||
`maximg` = ?, \
|
||||
`active` = ?, \
|
||||
`delete` = 0, \
|
||||
`muser` = ?, \
|
||||
`mtime` = unix_timestamp() \
|
||||
where \
|
||||
`uid` = ?";
|
||||
let param = [config.db.db1, 'jcioccamset', arr.data.ip, arr.data.name, arr.data.model, arr.data.maxevents, arr.data.maximg, active, u, arr.data.id];
|
||||
await tool.promiseQuery(res, query, param);
|
||||
} catch (e) {
|
||||
return rt.err(res, e, n, 'ERR8002');
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
let query = "insert into ??.?? (`uid`, `ip`, `name`, `model`, `maxevents`, `maximg`, `active`, `cuser`, `muser`, `ctime`, `mtime` ) \
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, unix_timestamp(), unix_timestamp())";
|
||||
let param = [config.db.db1, 'jcioccamset', idx, arr.data.ip, arr.data.name, arr.data.model, arr.data.maxevents, arr.data.maximg, active, u, u];
|
||||
await tool.promiseQuery(res, query, param);
|
||||
} catch (e) {
|
||||
return rt.err(res, e, n, 'ERR8001');
|
||||
}
|
||||
}
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
}
|
||||
return n();
|
||||
}()
|
||||
|
||||
})
|
||||
.post('/editipcam', (req, res, n) => {
|
||||
if (!config.permission.ipcam) return n('ERR9000');
|
||||
|
||||
Reference in New Issue
Block a user