flexbiz-server
Version:
Flexible Server
5 lines (4 loc) • 1.37 kB
JavaScript
const path=require("path"),permission=require("../../libs/permission"),controller=require("../../controllers/controllerRPT"),StaticPool=require("../../libs/WorkerStaticPool");
module.exports=function($router$$){new controller($router$$,"backup",async function($req$$,$callback$$){let $email$$=$req$$.user.email,$id_app$$=$req$$.user.current_id_app;permission.isAdmin($id_app$$,$email$$,function($backupWorkerFile_e$$,$admin$$){if(!$admin$$)return $callback$$({error:"Ch\u1ec9 admin m\u1edbi c\u00f3 quy\u1ec1n backup d\u1eef li\u1ec7u c\u1ee7a c\u00f4ng ty"});global.backupPool||($backupWorkerFile_e$$=path.dirname(path.dirname(__dirname))+"/workers/backupApp.js",global.backupPool=
new StaticPool($backupWorkerFile_e$$,0,1));global.getModel("log").create({id_app:$id_app$$,id_func:"app",action:"BACKUP",data:{dateFrom:$req$$.query.dateFrom||$req$$.query.tu_ngay,dateTo:$req$$.query.dateTo||$req$$.query.den_ngay,backup_app_info:$req$$.user.current_app_info}},$req$$.user.email,$req$$.user_agent,$req$$);global.backupPool.exec({id:$id_app$$,user:$email$$,dateFrom:$req$$.query.dateFrom,dateTo:$req$$.query.dateTo,backup_app_info:$req$$.user.current_app_info,dirPath:$req$$.query.dir,configs:{database:global.configs.database}},
$response$$=>{if($response$$.error)return $callback$$($response$$.error);$callback$$(null,[{backup_file:$response$$.file}])})})},{stream:!1})};