Built motion from commit c738b9ac.|2.6.25
[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 _0x205b=['rimraf','zip-dir','fast-json-patch','moment','bluebird','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','undefined','limit','count','offset','set','Content-Range','reject','save','update','destroy','then','end','sendStatus','stack','name','send','body','Action','find','params','catch','eml-format'];(function(_0x17bb31,_0x2fc6f8){var _0x505c71=function(_0x5013cf){while(--_0x5013cf){_0x17bb31['push'](_0x17bb31['shift']());}};_0x505c71(++_0x2fc6f8);}(_0x205b,0x1ee));var _0xb205=function(_0x2770fe,_0x4e02ab){_0x2770fe=_0x2770fe-0x0;var _0x11c6cd=_0x205b[_0x2770fe];return _0x11c6cd;};'use strict';var emlformat=require(_0xb205('0x0'));var rimraf=require(_0xb205('0x1'));var zipdir=require(_0xb205('0x2'));var jsonpatch=require(_0xb205('0x3'));var rp=require('request-promise');var moment=require(_0xb205('0x4'));var BPromise=require(_0xb205('0x5'));var Mustache=require('mustache');var util=require(_0xb205('0x6'));var path=require('path');var sox=require(_0xb205('0x7'));var csv=require(_0xb205('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb205('0x9'));var squel=require(_0xb205('0xa'));var crypto=require(_0xb205('0xb'));var jsforce=require(_0xb205('0xc'));var deskjs=require(_0xb205('0xd'));var toCsv=require(_0xb205('0x8'));var querystring=require('querystring');var Papa=require(_0xb205('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xb205('0xf'));var as=require(_0xb205('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb205('0x11'))(_0xb205('0x12'));var utils=require(_0xb205('0x13'));var config=require(_0xb205('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xb205('0x15'))['db'];function respondWithStatusCode(_0x4df8fb,_0x2955d4){_0x2955d4=_0x2955d4||0xcc;return function(_0x9d4e59){if(_0x9d4e59){return _0x4df8fb['sendStatus'](_0x2955d4);}return _0x4df8fb['status'](_0x2955d4)['end']();};}function respondWithResult(_0x17ad85,_0x341a43){_0x341a43=_0x341a43||0xc8;return function(_0x208c38){if(_0x208c38){return _0x17ad85[_0xb205('0x16')](_0x341a43)[_0xb205('0x17')](_0x208c38);}};}function respondWithFilteredResult(_0x230bd7,_0x272463){return function(_0x53b122){if(_0x53b122){var _0x5588b5=typeof _0x272463['offset']===_0xb205('0x18')&&typeof _0x272463[_0xb205('0x19')]===_0xb205('0x18');var _0x3647ba=_0x53b122[_0xb205('0x1a')];var _0x3a656d=_0x5588b5?0x0:_0x272463[_0xb205('0x1b')];var _0x25b53c=_0x5588b5?_0x53b122[_0xb205('0x1a')]:_0x272463[_0xb205('0x1b')]+_0x272463['limit'];var _0x55c01d;if(_0x25b53c>=_0x3647ba){_0x25b53c=_0x3647ba;_0x55c01d=0xc8;}else{_0x55c01d=0xce;}_0x230bd7['status'](_0x55c01d);return _0x230bd7[_0xb205('0x1c')](_0xb205('0x1d'),_0x3a656d+'-'+_0x25b53c+'/'+_0x3647ba)[_0xb205('0x17')](_0x53b122);}return null;};}function patchUpdates(_0x1b88b3){return function(_0x223a2e){try{jsonpatch['apply'](_0x223a2e,_0x1b88b3,!![]);}catch(_0x26efaf){return BPromise[_0xb205('0x1e')](_0x26efaf);}return _0x223a2e[_0xb205('0x1f')]();};}function saveUpdates(_0x22cd68,_0xb784a9){return function(_0x56c1a8){if(_0x56c1a8){return _0x56c1a8[_0xb205('0x20')](_0x22cd68)['then'](function(_0x406cbf){return _0x406cbf;});}return null;};}function removeEntity(_0xaac8f3,_0x19ed30){return function(_0x110b03){if(_0x110b03){return _0x110b03[_0xb205('0x21')]()[_0xb205('0x22')](function(){_0xaac8f3['status'](0xcc)[_0xb205('0x23')]();});}};}function handleEntityNotFound(_0xea3ff3,_0x326f2a){return function(_0x109098){if(!_0x109098){_0xea3ff3[_0xb205('0x24')](0x194);}return _0x109098;};}function handleError(_0x27ac7a,_0x3767c0){_0x3767c0=_0x3767c0||0x1f4;return function(_0x47c51){logger['error'](_0x47c51[_0xb205('0x25')]);if(_0x47c51[_0xb205('0x26')]){delete _0x47c51[_0xb205('0x26')];}_0x27ac7a[_0xb205('0x16')](_0x3767c0)[_0xb205('0x27')](_0x47c51);};}exports[_0xb205('0x20')]=function(_0x5d41f3,_0x10f114){if(_0x5d41f3[_0xb205('0x28')]['id']){delete _0x5d41f3['body']['id'];}return db[_0xb205('0x29')][_0xb205('0x2a')]({'where':{'id':_0x5d41f3[_0xb205('0x2b')]['id']}})[_0xb205('0x22')](handleEntityNotFound(_0x10f114,null))[_0xb205('0x22')](saveUpdates(_0x5d41f3['body'],null))[_0xb205('0x22')](respondWithResult(_0x10f114,null))[_0xb205('0x2c')](handleError(_0x10f114,null));};exports[_0xb205('0x21')]=function(_0x4d1b3b,_0x2b2b8a){return db[_0xb205('0x29')][_0xb205('0x2a')]({'where':{'id':_0x4d1b3b[_0xb205('0x2b')]['id']}})['then'](handleEntityNotFound(_0x2b2b8a,null))[_0xb205('0x22')](removeEntity(_0x2b2b8a,null))[_0xb205('0x2c')](handleError(_0x2b2b8a,null));};