c06d7ca971c7e667abc77058f3003da88fa6173a
[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 _0xeeb3=['util','sox','to-csv','fs-extra','lodash','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','then','destroy','error','name','send','Action','find','params','body','catch','rimraf','zip-dir','request-promise','moment'];(function(_0x37dbf9,_0x529eb5){var _0x40e897=function(_0x10fbcf){while(--_0x10fbcf){_0x37dbf9['push'](_0x37dbf9['shift']());}};_0x40e897(++_0x529eb5);}(_0xeeb3,0x74));var _0x3eeb=function(_0xaa0720,_0x12e8fa){_0xaa0720=_0xaa0720-0x0;var _0x79ec4c=_0xeeb3[_0xaa0720];return _0x79ec4c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3eeb('0x0'));var zipdir=require(_0x3eeb('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3eeb('0x2'));var moment=require(_0x3eeb('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x3eeb('0x4'));var path=require('path');var sox=require(_0x3eeb('0x5'));var csv=require(_0x3eeb('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3eeb('0x7'));var _=require(_0x3eeb('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x3eeb('0x9'));var Papa=require(_0x3eeb('0xa'));var Redis=require(_0x3eeb('0xb'));var authService=require('../../components/auth/service');var qs=require(_0x3eeb('0xc'));var as=require(_0x3eeb('0xd'));var hardwareService=require(_0x3eeb('0xe'));var logger=require(_0x3eeb('0xf'))(_0x3eeb('0x10'));var utils=require('../../config/utils');var config=require(_0x3eeb('0x11'));var licenseUtil=require(_0x3eeb('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x111174,_0x421cf6){_0x421cf6=_0x421cf6||0xcc;return function(_0xeea686){if(_0xeea686){return _0x111174[_0x3eeb('0x13')](_0x421cf6);}return _0x111174[_0x3eeb('0x14')](_0x421cf6)[_0x3eeb('0x15')]();};}function respondWithResult(_0x2f4562,_0x304e57){_0x304e57=_0x304e57||0xc8;return function(_0x1b8aaf){if(_0x1b8aaf){return _0x2f4562[_0x3eeb('0x14')](_0x304e57)[_0x3eeb('0x16')](_0x1b8aaf);}};}function respondWithFilteredResult(_0x19c2bb,_0x146c03){return function(_0x7cfc3){if(_0x7cfc3){var _0x5465a0=typeof _0x146c03[_0x3eeb('0x17')]===_0x3eeb('0x18')&&typeof _0x146c03[_0x3eeb('0x19')]===_0x3eeb('0x18');var _0x3843d3=_0x7cfc3['count'];var _0x443d5a=_0x5465a0?0x0:_0x146c03['offset'];var _0x25bbe6=_0x5465a0?_0x7cfc3[_0x3eeb('0x1a')]:_0x146c03[_0x3eeb('0x17')]+_0x146c03['limit'];var _0x3dbc4a;if(_0x25bbe6>=_0x3843d3){_0x25bbe6=_0x3843d3;_0x3dbc4a=0xc8;}else{_0x3dbc4a=0xce;}_0x19c2bb[_0x3eeb('0x14')](_0x3dbc4a);return _0x19c2bb[_0x3eeb('0x1b')](_0x3eeb('0x1c'),_0x443d5a+'-'+_0x25bbe6+'/'+_0x3843d3)[_0x3eeb('0x16')](_0x7cfc3);}return null;};}function patchUpdates(_0x40c04e){return function(_0x2768bf){try{jsonpatch[_0x3eeb('0x1d')](_0x2768bf,_0x40c04e,!![]);}catch(_0x316c18){return BPromise['reject'](_0x316c18);}return _0x2768bf['save']();};}function saveUpdates(_0x3507c4,_0x35674c){return function(_0x344bd7){if(_0x344bd7){return _0x344bd7['update'](_0x3507c4)[_0x3eeb('0x1e')](function(_0x43b5d3){return _0x43b5d3;});}return null;};}function removeEntity(_0x468e5a,_0x2b08f1){return function(_0x65bebe){if(_0x65bebe){return _0x65bebe[_0x3eeb('0x1f')]()[_0x3eeb('0x1e')](function(){_0x468e5a[_0x3eeb('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x371585,_0x5bc1f3){return function(_0xce0236){if(!_0xce0236){_0x371585[_0x3eeb('0x13')](0x194);}return _0xce0236;};}function handleError(_0x3de58f,_0x3ee9c5){_0x3ee9c5=_0x3ee9c5||0x1f4;return function(_0x53ba13){logger[_0x3eeb('0x20')](_0x53ba13['stack']);if(_0x53ba13['name']){delete _0x53ba13[_0x3eeb('0x21')];}_0x3de58f[_0x3eeb('0x14')](_0x3ee9c5)[_0x3eeb('0x22')](_0x53ba13);};}exports['update']=function(_0x54f80c,_0x371ff2){if(_0x54f80c['body']['id']){delete _0x54f80c['body']['id'];}return db[_0x3eeb('0x23')][_0x3eeb('0x24')]({'where':{'id':_0x54f80c[_0x3eeb('0x25')]['id']}})[_0x3eeb('0x1e')](handleEntityNotFound(_0x371ff2,null))[_0x3eeb('0x1e')](saveUpdates(_0x54f80c[_0x3eeb('0x26')],null))['then'](respondWithResult(_0x371ff2,null))['catch'](handleError(_0x371ff2,null));};exports[_0x3eeb('0x1f')]=function(_0x5b119d,_0x3768fa){return db['Action'][_0x3eeb('0x24')]({'where':{'id':_0x5b119d[_0x3eeb('0x25')]['id']}})[_0x3eeb('0x1e')](handleEntityNotFound(_0x3768fa,null))[_0x3eeb('0x1e')](removeEntity(_0x3768fa,null))[_0x3eeb('0x27')](handleError(_0x3768fa,null));};