Commit cd148283 authored by Ahmad Nemati's avatar Ahmad Nemati

init

parent 634b4900
......@@ -3,12 +3,27 @@ require('./utils/os').initOs();
const db = require('./db')
const message = require('./message')
const constant = require('./const')
const cron = require('node-cron');
let mysqldump = require('mysqldump')
let moment = require('moment-timezone')
const TelegramBot = require('node-telegram-bot-api');
const token = process.env.DEBUG === 'true' ? process.env.LOCAL_TOKEN : process.env.SERVER_TOKEN;
cron.schedule('*/15 * * * *', () => {
runCron()
});
const bot = new TelegramBot(token, {polling: true});
......@@ -356,6 +371,23 @@ async function generateText(current, num, msg) {
}
async function runCron() {
let admins=await db.getAllAdmins()
let name = './back/'+'backup-' + moment().format('YYYY-MM-DD---HH-mm')+'.sql'
const result = await mysqldump({
connection: {
host: '195.201.22.255',
user: 'root',
password: 'mahan7797',
database: 'accounting',
}, dumpToFile: name,
});
for (let i=0;i<admins.length;i++)
{
bot.sendDocument(admins[i].teleid, name)
}
}
......
......@@ -15,7 +15,7 @@ const sequelize = new Sequelize('accounting', 'root', 'mahan7797', {
},
host: '195.201.22.255',
dialect: 'mysql',
logging: true,
logging: false,
operatorsAliases: false
......@@ -263,6 +263,15 @@ async function getAllUsers() {
})
}
async function getAllAdmins() {
return await Admin.findAll({
raw: true
})
}
async function getRequestByDate(userId, date) {
......@@ -350,5 +359,6 @@ module.exports = {
updateStatus: updateStatus,
createRequest: createRequest,
getRequestByDate: getRequestByDate,
findRequest: findRequest
findRequest: findRequest,
getAllAdmins:getAllAdmins
};
......@@ -10,9 +10,9 @@
"integrity": "sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w=="
},
"@types/node": {
"version": "11.11.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.1.tgz",
"integrity": "sha512-2azXFP9n4aA2QNLkKm/F9pzKxgYj1SMawZ5Eh9iC21RH3XNcFsivLVU2NhpMgQm7YobSByvIol4c42ZFusXFHQ=="
"version": "12.0.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz",
"integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg=="
},
"ajv": {
"version": "6.10.0",
......@@ -127,6 +127,11 @@
"ms": "2.0.0"
}
},
"deepmerge": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.2.1.tgz",
"integrity": "sha512-+hbDSzTqEW0fWgnlKksg7XAOtT+ddZS5lHZJ6f6MdixRs9wQy+50fm1uUCVb1IkvjLUYX/SfFO021ZNwriURTw=="
},
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
......@@ -438,9 +443,9 @@
"integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
},
"moment-timezone": {
"version": "0.5.23",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.23.tgz",
"integrity": "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w==",
"version": "0.5.25",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.25.tgz",
"integrity": "sha512-DgEaTyN/z0HFaVcVbSyVCUU6HeFdnNC3vE4c9cgu2dgMTvjBUBdBzWfasTBmAW45u5OIMeCJtU8yNjM22DHucw==",
"requires": {
"moment": ">= 2.9.0"
}
......@@ -475,6 +480,17 @@
}
}
},
"mysqldump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mysqldump/-/mysqldump-3.0.0.tgz",
"integrity": "sha512-rAyQa8kz9h9XpxpPlh4x7IcKkBKZAvb01eJVqNX7rDA0lP5zmFJd90dwiTbHoLouZvx5a6mPpvbR5nhyg1K4Sw==",
"requires": {
"deepmerge": "^3.2.0",
"mysql2": "^1.6.5",
"sql-formatter": "^2.3.2",
"sqlstring": "^2.3.1"
}
},
"named-placeholders": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz",
......@@ -483,6 +499,15 @@
"lru-cache": "^4.1.3"
}
},
"node-cron": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/node-cron/-/node-cron-2.0.3.tgz",
"integrity": "sha512-eJI+QitXlwcgiZwNNSRbqsjeZMp5shyajMR81RZCqeW0ZDEj4zU9tpd4nTh/1JsBiKbF8d08FCewiipDmVIYjg==",
"requires": {
"opencollective-postinstall": "^2.0.0",
"tz-offset": "0.0.1"
}
},
"node-telegram-bot-api": {
"version": "0.30.0",
"resolved": "https://registry.npmjs.org/node-telegram-bot-api/-/node-telegram-bot-api-0.30.0.tgz",
......@@ -539,6 +564,11 @@
"wrappy": "1"
}
},
"opencollective-postinstall": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
"integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw=="
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
......@@ -711,6 +741,14 @@
"resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz",
"integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="
},
"sql-formatter": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/sql-formatter/-/sql-formatter-2.3.3.tgz",
"integrity": "sha512-m6pqVXwsm9GkCHC/+gdPvNowI7PNoVTT6OZMWKwXJoP2MvfntfhcfyliIf4/QX6t+DirSJ6XDSiSS70YvZ87Lw==",
"requires": {
"lodash": "^4.16.0"
}
},
"sqlstring": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz",
......@@ -796,6 +834,11 @@
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"tz-offset": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/tz-offset/-/tz-offset-0.0.1.tgz",
"integrity": "sha512-kMBmblijHJXyOpKzgDhKx9INYU4u4E1RPMB0HqmKSgWG8vEcf3exEfLh4FFfzd3xdQOw9EuIy/cP0akY6rHopQ=="
},
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
......
......@@ -6,10 +6,14 @@
"start": "node ./bin/www"
},
"dependencies": {
"@types/node": "^12.0.8",
"dotenv": "^6.1.0",
"moment": "^2.24.0",
"moment-timezone": "^0.5.25",
"mysql2": "^1.6.1",
"mysqldump": "^3.0.0",
"node-cron": "^2.0.3",
"node-telegram-bot-api": "^0.30.0",
"dotenv": "^6.1.0",
"sequelize": "^4.38.1"
}
}
let db=require('./db')
let mysqldump = require('mysqldump')
const TelegramBot = require('node-telegram-bot-api');
const bot = new TelegramBot('783628734:AAGHs5YcIGy4dhD3ZsKIQOKxcJVDD0ju4jY', {polling: false});
let moment = require('moment-timezone')
test()
async function test() {
let d=await db.getRequestByDate(4,new Date('2019-02-01'),new Date('2020-02-01'))
console.log(d)
}
let name = './back/'+'backup-' + moment().format('YYYY-MM-DD---HH-mm')+'.sql'
const result = await mysqldump({
connection: {
host: '195.201.22.255',
user: 'root',
password: 'mahan7797',
database: 'accounting',
}, dumpToFile: name,
});
bot.sendDocument(84169752, name)
// console.log(result)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment