edaa0df48327bc40c3e7cd0148b073f69d8e8888
[motion2.git] / server / api / action / action.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x2516=['mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','send','body','Action','find','params','catch','rimraf','zip-dir','bluebird'];(function(_0x57ae8c,_0x37bbc1){var _0x475396=function(_0x5d2d23){while(--_0x5d2d23){_0x57ae8c['push'](_0x57ae8c['shift']());}};_0x475396(++_0x37bbc1);}(_0x2516,0x1f1));var _0x6251=function(_0x465028,_0x4570ac){_0x465028=_0x465028-0x0;var _0xb783d4=_0x2516[_0x465028];return _0xb783d4;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6251('0x0'));var zipdir=require(_0x6251('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x6251('0x2'));var Mustache=require(_0x6251('0x3'));var util=require('util');var path=require(_0x6251('0x4'));var sox=require(_0x6251('0x5'));var csv=require('to-csv');var ejs=require(_0x6251('0x6'));var fs=require('fs');var fs_extra=require(_0x6251('0x7'));var _=require(_0x6251('0x8'));var squel=require(_0x6251('0x9'));var crypto=require(_0x6251('0xa'));var jsforce=require(_0x6251('0xb'));var deskjs=require(_0x6251('0xc'));var toCsv=require('to-csv');var querystring=require(_0x6251('0xd'));var Papa=require(_0x6251('0xe'));var Redis=require(_0x6251('0xf'));var authService=require(_0x6251('0x10'));var qs=require(_0x6251('0x11'));var as=require(_0x6251('0x12'));var hardwareService=require(_0x6251('0x13'));var logger=require(_0x6251('0x14'))(_0x6251('0x15'));var utils=require('../../config/utils');var config=require(_0x6251('0x16'));var licenseUtil=require(_0x6251('0x17'));var db=require(_0x6251('0x18'))['db'];function respondWithStatusCode(_0x1f738f,_0x1dabe7){_0x1dabe7=_0x1dabe7||0xcc;return function(_0x3ab1a9){if(_0x3ab1a9){return _0x1f738f[_0x6251('0x19')](_0x1dabe7);}return _0x1f738f[_0x6251('0x1a')](_0x1dabe7)[_0x6251('0x1b')]();};}function respondWithResult(_0x1e6a75,_0x477139){_0x477139=_0x477139||0xc8;return function(_0x5b4741){if(_0x5b4741){return _0x1e6a75[_0x6251('0x1a')](_0x477139)['json'](_0x5b4741);}};}function respondWithFilteredResult(_0x2bfa94,_0x34f1e6){return function(_0x3143e5){if(_0x3143e5){var _0xeced8c=typeof _0x34f1e6[_0x6251('0x1c')]===_0x6251('0x1d')&&typeof _0x34f1e6[_0x6251('0x1e')]===_0x6251('0x1d');var _0x4a9f49=_0x3143e5['count'];var _0x123c27=_0xeced8c?0x0:_0x34f1e6[_0x6251('0x1c')];var _0x4eb72e=_0xeced8c?_0x3143e5[_0x6251('0x1f')]:_0x34f1e6[_0x6251('0x1c')]+_0x34f1e6[_0x6251('0x1e')];var _0x153ee8;if(_0x4eb72e>=_0x4a9f49){_0x4eb72e=_0x4a9f49;_0x153ee8=0xc8;}else{_0x153ee8=0xce;}_0x2bfa94[_0x6251('0x1a')](_0x153ee8);return _0x2bfa94[_0x6251('0x20')](_0x6251('0x21'),_0x123c27+'-'+_0x4eb72e+'/'+_0x4a9f49)[_0x6251('0x22')](_0x3143e5);}return null;};}function patchUpdates(_0x1cec20){return function(_0x308787){try{jsonpatch[_0x6251('0x23')](_0x308787,_0x1cec20,!![]);}catch(_0x2daaa8){return BPromise[_0x6251('0x24')](_0x2daaa8);}return _0x308787[_0x6251('0x25')]();};}function saveUpdates(_0x54ee32,_0x3ca087){return function(_0x22b6db){if(_0x22b6db){return _0x22b6db[_0x6251('0x26')](_0x54ee32)[_0x6251('0x27')](function(_0x5c6afb){return _0x5c6afb;});}return null;};}function removeEntity(_0x56874d,_0x2d27f2){return function(_0x27e9f8){if(_0x27e9f8){return _0x27e9f8[_0x6251('0x28')]()[_0x6251('0x27')](function(){_0x56874d['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x184e14,_0x51a43e){return function(_0x26f79a){if(!_0x26f79a){_0x184e14['sendStatus'](0x194);}return _0x26f79a;};}function handleError(_0x5e2d3a,_0x134c3c){_0x134c3c=_0x134c3c||0x1f4;return function(_0x53ed51){logger[_0x6251('0x29')](_0x53ed51[_0x6251('0x2a')]);if(_0x53ed51[_0x6251('0x2b')]){delete _0x53ed51[_0x6251('0x2b')];}_0x5e2d3a['status'](_0x134c3c)[_0x6251('0x2c')](_0x53ed51);};}exports[_0x6251('0x26')]=function(_0x3c4b1f,_0x491404){if(_0x3c4b1f[_0x6251('0x2d')]['id']){delete _0x3c4b1f['body']['id'];}return db[_0x6251('0x2e')][_0x6251('0x2f')]({'where':{'id':_0x3c4b1f[_0x6251('0x30')]['id']}})[_0x6251('0x27')](handleEntityNotFound(_0x491404,null))[_0x6251('0x27')](saveUpdates(_0x3c4b1f[_0x6251('0x2d')],null))['then'](respondWithResult(_0x491404,null))[_0x6251('0x31')](handleError(_0x491404,null));};exports[_0x6251('0x28')]=function(_0x377b4f,_0x5bc3fa){return db[_0x6251('0x2e')][_0x6251('0x2f')]({'where':{'id':_0x377b4f[_0x6251('0x30')]['id']}})[_0x6251('0x27')](handleEntityNotFound(_0x5bc3fa,null))[_0x6251('0x27')](removeEntity(_0x5bc3fa,null))[_0x6251('0x31')](handleError(_0x5bc3fa,null));};