feat: db connection and query
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
parent
eccbd942f7
commit
538c04e8c5
|
@ -1,4 +1,6 @@
|
|||
const jsdom = require('jsdom');
|
||||
const mysql = require('mysql');
|
||||
|
||||
module.exports = Self => {
|
||||
Self.remoteMethodCtx('closeTicket', {
|
||||
description: 'Close tickets without response from the user',
|
||||
|
@ -19,17 +21,37 @@ module.exports = Self => {
|
|||
|
||||
const ostUri = `${config.host}/login.php`;
|
||||
|
||||
// const tickets = await models.OsTicket.rawSql(`
|
||||
// SELECT t.ticket_id AS id, t.number, ua.username, td.subject
|
||||
// FROM ost_ticket t
|
||||
// JOIN ost_user_account ua ON t.user_id = ua.user_id
|
||||
// JOIN ost_ticket__cdata td ON t.ticket_id = td.ticket_id
|
||||
// JOIN ost_ticket_priority tp ON td.priority = tp.priority_id
|
||||
// LEFT JOIN ost_department dept ON dept.id = t.dept_id
|
||||
// WHERE tp.priority = 'emergency'
|
||||
// AND (t.staff_id = 0 AND t.team_id = 0)
|
||||
// AND dept.code = 'IT'
|
||||
// `);
|
||||
const con = mysql.createConnection({
|
||||
host: 'localhost',
|
||||
user: 'osticket',
|
||||
password: 'osticket',
|
||||
port: 40003
|
||||
});
|
||||
|
||||
const sql = `SELECT ot.ticket_id, ot.number
|
||||
FROM osticket.ost_ticket ot
|
||||
JOIN osticket.ost_thread ot2 ON ot2.object_id = ot.ticket_id AND ot2.object_type = 'T'
|
||||
JOIN (
|
||||
SELECT ote.thread_id, MAX(ote.created) created, MAX(ote.updated) updated
|
||||
FROM osticket.ost_thread_entry ote
|
||||
WHERE ote.staff_id != 0 AND ote.type = 'R'
|
||||
GROUP BY ote.thread_id
|
||||
) sub ON sub.thread_id = ot2.id
|
||||
WHERE ot.isanswered = 1
|
||||
AND status_id IN (${config.oldStatusId})
|
||||
AND IF(sub.updated > sub.created, sub.updated, sub.created) < DATE_SUB(CURDATE(), INTERVAL ${config.day} DAY)`;
|
||||
|
||||
let ticketsId = [];
|
||||
con.connect(err => {
|
||||
if (err) throw err;
|
||||
console.log('Connected!');
|
||||
con.query(sql, (err, results) => {
|
||||
if (err) throw err;
|
||||
for (const result of results)
|
||||
ticketsId.push(result.ticket_id);
|
||||
});
|
||||
});
|
||||
|
||||
await requestToken();
|
||||
|
||||
async function requestToken() {
|
||||
|
@ -70,9 +92,10 @@ module.exports = Self => {
|
|||
}
|
||||
|
||||
async function close(token, secondCookie) {
|
||||
const ostUri = `${config.host}/ajax.php/tickets/47460/status`;
|
||||
for (const ticketId of ticketsId) {
|
||||
const ostUri = `${config.host}/ajax.php/tickets/${ticketId}/status`;
|
||||
const data = {
|
||||
status_id: config.statusId,
|
||||
status_id: config.newStatusId,
|
||||
comments: undefined,
|
||||
undefined: config.action
|
||||
};
|
||||
|
@ -89,5 +112,6 @@ module.exports = Self => {
|
|||
console.log(response.statusText);
|
||||
// return fetch(ostUri, params);
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
@ -21,11 +21,17 @@
|
|||
"password": {
|
||||
"type": "string"
|
||||
},
|
||||
"statusId": {
|
||||
"oldStatusId": {
|
||||
"type": "number"
|
||||
},
|
||||
"newStatusId": {
|
||||
"type": "number"
|
||||
},
|
||||
"action": {
|
||||
"type": "string"
|
||||
},
|
||||
"day": {
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,13 +1,15 @@
|
|||
CREATE TABLE `vn`.`osTicketConfig` (
|
||||
CREATE TABLE `osTicketConfig` (
|
||||
`id` int(11) NOT NULL,
|
||||
`host` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
|
||||
`user` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
|
||||
`password` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
|
||||
`statusId` int(11) DEFAULT NULL,
|
||||
`oldStatusId` int(11) DEFAULT NULL,
|
||||
`newStatusId` int(11) DEFAULT NULL,
|
||||
`action` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
|
||||
`day` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
|
||||
|
||||
INSERT INTO `vn`.`osTicketConfig`(id, host, `user`, password, statusId, `action`)
|
||||
VALUES
|
||||
(0, 'https://cau.verdnatura.es/scp', 'vicent', 'llopis.19263', 3, 'Cerrar');
|
||||
(0, 'http://localhost:56596/scp', 'ostadmin', 'Admin1', 1, 3, 'Cerrar', 60);
|
||||
|
|
Loading…
Reference in New Issue