1da08d5caf660eede3db4123feb1a2d7d81c9d3e
[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 _0xde9c=['rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','status','json','count','offset','limit','set','apply','save','update','then','destroy','end','sendStatus','stack','name','send','body','Action','find','params','catch','html-pdf'];(function(_0x33032e,_0x31411a){var _0x13316b=function(_0x2fb049){while(--_0x2fb049){_0x33032e['push'](_0x33032e['shift']());}};_0x13316b(++_0x31411a);}(_0xde9c,0x182));var _0xcde9=function(_0x46f390,_0x4bf251){_0x46f390=_0x46f390-0x0;var _0x67e3a8=_0xde9c[_0x46f390];return _0x67e3a8;};'use strict';var pdf=require(_0xcde9('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xcde9('0x1'));var zipdir=require(_0xcde9('0x2'));var jsonpatch=require(_0xcde9('0x3'));var rp=require('request-promise');var moment=require(_0xcde9('0x4'));var BPromise=require(_0xcde9('0x5'));var Mustache=require(_0xcde9('0x6'));var util=require(_0xcde9('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xcde9('0x8'));var ejs=require(_0xcde9('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xcde9('0xa'));var crypto=require(_0xcde9('0xb'));var jsforce=require(_0xcde9('0xc'));var deskjs=require(_0xcde9('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xcde9('0xe'));var Redis=require(_0xcde9('0xf'));var authService=require(_0xcde9('0x10'));var qs=require(_0xcde9('0x11'));var as=require(_0xcde9('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xcde9('0x13'))(_0xcde9('0x14'));var utils=require('../../config/utils');var config=require(_0xcde9('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1186dd,_0x119eab){_0x119eab=_0x119eab||0xcc;return function(_0x233a43){if(_0x233a43){return _0x1186dd['sendStatus'](_0x119eab);}return _0x1186dd['status'](_0x119eab)['end']();};}function respondWithResult(_0x3c23e5,_0x4ac905){_0x4ac905=_0x4ac905||0xc8;return function(_0x1cb8f3){if(_0x1cb8f3){return _0x3c23e5[_0xcde9('0x16')](_0x4ac905)[_0xcde9('0x17')](_0x1cb8f3);}};}function respondWithFilteredResult(_0x2224f0,_0x183e7e){return function(_0x29eb56){if(_0x29eb56){var _0x35dc1a=_0x29eb56[_0xcde9('0x18')],_0x7e3f73=_0x183e7e[_0xcde9('0x19')],_0xa83bd3=_0x183e7e[_0xcde9('0x19')]+_0x183e7e[_0xcde9('0x1a')],_0x99a916;if(_0xa83bd3>=_0x35dc1a){_0xa83bd3=_0x35dc1a;_0x99a916=0xc8;}else{_0x99a916=0xce;}_0x2224f0[_0xcde9('0x16')](_0x99a916);return _0x2224f0[_0xcde9('0x1b')]('Content-Range',_0x7e3f73+'-'+_0xa83bd3+'/'+_0x35dc1a)[_0xcde9('0x17')](_0x29eb56);}return null;};}function patchUpdates(_0xa5f470){return function(_0x2089db){try{jsonpatch[_0xcde9('0x1c')](_0x2089db,_0xa5f470,!![]);}catch(_0x1c3664){return BPromise['reject'](_0x1c3664);}return _0x2089db[_0xcde9('0x1d')]();};}function saveUpdates(_0x58e175,_0x3c0114){return function(_0x5680ce){if(_0x5680ce){return _0x5680ce[_0xcde9('0x1e')](_0x58e175)[_0xcde9('0x1f')](function(_0x1bf0b5){return _0x1bf0b5;});}return null;};}function removeEntity(_0x1f2524,_0x4a4458){return function(_0x2a6371){if(_0x2a6371){return _0x2a6371[_0xcde9('0x20')]()[_0xcde9('0x1f')](function(){_0x1f2524[_0xcde9('0x16')](0xcc)[_0xcde9('0x21')]();});}};}function handleEntityNotFound(_0x1ab9ca,_0x56142e){return function(_0x17b15b){if(!_0x17b15b){_0x1ab9ca[_0xcde9('0x22')](0x194);}return _0x17b15b;};}function handleError(_0x96d576,_0x379208){_0x379208=_0x379208||0x1f4;return function(_0x5ce218){logger['error'](_0x5ce218[_0xcde9('0x23')]);if(_0x5ce218['name']){delete _0x5ce218[_0xcde9('0x24')];}_0x96d576['status'](_0x379208)[_0xcde9('0x25')](_0x5ce218);};}exports[_0xcde9('0x1e')]=function(_0xa07762,_0x914ff2){if(_0xa07762[_0xcde9('0x26')]['id']){delete _0xa07762['body']['id'];}return db[_0xcde9('0x27')][_0xcde9('0x28')]({'where':{'id':_0xa07762[_0xcde9('0x29')]['id']}})[_0xcde9('0x1f')](handleEntityNotFound(_0x914ff2,null))[_0xcde9('0x1f')](saveUpdates(_0xa07762[_0xcde9('0x26')],null))[_0xcde9('0x1f')](respondWithResult(_0x914ff2,null))['catch'](handleError(_0x914ff2,null));};exports[_0xcde9('0x20')]=function(_0x2480d1,_0x19bef1){return db[_0xcde9('0x27')][_0xcde9('0x28')]({'where':{'id':_0x2480d1[_0xcde9('0x29')]['id']}})['then'](handleEntityNotFound(_0x19bef1,null))['then'](removeEntity(_0x19bef1,null))[_0xcde9('0x2a')](handleError(_0x19bef1,null));};