f30f0c675aedadc1a2f52fbd3aa2f7847f571b9c
[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 _0x88d6=['fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','apply','reject','save','update','then','destroy','error','stack','name','send','body','Action','find','params','catch','eml-format','rimraf','zip-dir'];(function(_0x193831,_0x139695){var _0x480626=function(_0x29419a){while(--_0x29419a){_0x193831['push'](_0x193831['shift']());}};_0x480626(++_0x139695);}(_0x88d6,0x154));var _0x688d=function(_0x36d034,_0x156252){_0x36d034=_0x36d034-0x0;var _0x3568f6=_0x88d6[_0x36d034];return _0x3568f6;};'use strict';var emlformat=require(_0x688d('0x0'));var rimraf=require(_0x688d('0x1'));var zipdir=require(_0x688d('0x2'));var jsonpatch=require(_0x688d('0x3'));var rp=require('request-promise');var moment=require(_0x688d('0x4'));var BPromise=require(_0x688d('0x5'));var Mustache=require(_0x688d('0x6'));var util=require(_0x688d('0x7'));var path=require(_0x688d('0x8'));var sox=require(_0x688d('0x9'));var csv=require(_0x688d('0xa'));var ejs=require(_0x688d('0xb'));var fs=require('fs');var fs_extra=require(_0x688d('0xc'));var _=require(_0x688d('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x688d('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x688d('0xa'));var querystring=require('querystring');var Papa=require(_0x688d('0xf'));var Redis=require(_0x688d('0x10'));var authService=require(_0x688d('0x11'));var qs=require(_0x688d('0x12'));var as=require(_0x688d('0x13'));var hardwareService=require(_0x688d('0x14'));var logger=require('../../config/logger')(_0x688d('0x15'));var utils=require('../../config/utils');var config=require(_0x688d('0x16'));var licenseUtil=require(_0x688d('0x17'));var db=require(_0x688d('0x18'))['db'];function respondWithStatusCode(_0xc2c6ab,_0x6006b7){_0x6006b7=_0x6006b7||0xcc;return function(_0x5c6ee9){if(_0x5c6ee9){return _0xc2c6ab[_0x688d('0x19')](_0x6006b7);}return _0xc2c6ab[_0x688d('0x1a')](_0x6006b7)[_0x688d('0x1b')]();};}function respondWithResult(_0x39b90a,_0x443468){_0x443468=_0x443468||0xc8;return function(_0x4c8eda){if(_0x4c8eda){return _0x39b90a['status'](_0x443468)[_0x688d('0x1c')](_0x4c8eda);}};}function respondWithFilteredResult(_0x4ac45a,_0x31262b){return function(_0x375009){if(_0x375009){var _0xd659f5=typeof _0x31262b[_0x688d('0x1d')]==='undefined'&&typeof _0x31262b[_0x688d('0x1e')]===_0x688d('0x1f');var _0x2c762b=_0x375009['count'];var _0x1149be=_0xd659f5?0x0:_0x31262b[_0x688d('0x1d')];var _0x27397b=_0xd659f5?_0x375009[_0x688d('0x20')]:_0x31262b[_0x688d('0x1d')]+_0x31262b['limit'];var _0x165df4;if(_0x27397b>=_0x2c762b){_0x27397b=_0x2c762b;_0x165df4=0xc8;}else{_0x165df4=0xce;}_0x4ac45a['status'](_0x165df4);return _0x4ac45a[_0x688d('0x21')]('Content-Range',_0x1149be+'-'+_0x27397b+'/'+_0x2c762b)[_0x688d('0x1c')](_0x375009);}return null;};}function patchUpdates(_0x538616){return function(_0x2303c4){try{jsonpatch[_0x688d('0x22')](_0x2303c4,_0x538616,!![]);}catch(_0x2224c1){return BPromise[_0x688d('0x23')](_0x2224c1);}return _0x2303c4[_0x688d('0x24')]();};}function saveUpdates(_0x23811b,_0x4338cb){return function(_0x505097){if(_0x505097){return _0x505097[_0x688d('0x25')](_0x23811b)[_0x688d('0x26')](function(_0x1ba2e2){return _0x1ba2e2;});}return null;};}function removeEntity(_0x439339,_0x3a4d1b){return function(_0x2940fe){if(_0x2940fe){return _0x2940fe[_0x688d('0x27')]()[_0x688d('0x26')](function(){_0x439339['status'](0xcc)[_0x688d('0x1b')]();});}};}function handleEntityNotFound(_0x26cfcf,_0x14e170){return function(_0x58ef14){if(!_0x58ef14){_0x26cfcf[_0x688d('0x19')](0x194);}return _0x58ef14;};}function handleError(_0x3cd6b3,_0xdad1a5){_0xdad1a5=_0xdad1a5||0x1f4;return function(_0x3d0be6){logger[_0x688d('0x28')](_0x3d0be6[_0x688d('0x29')]);if(_0x3d0be6[_0x688d('0x2a')]){delete _0x3d0be6['name'];}_0x3cd6b3['status'](_0xdad1a5)[_0x688d('0x2b')](_0x3d0be6);};}exports[_0x688d('0x25')]=function(_0x384cdf,_0x35f2c6){if(_0x384cdf[_0x688d('0x2c')]['id']){delete _0x384cdf[_0x688d('0x2c')]['id'];}return db[_0x688d('0x2d')][_0x688d('0x2e')]({'where':{'id':_0x384cdf[_0x688d('0x2f')]['id']}})[_0x688d('0x26')](handleEntityNotFound(_0x35f2c6,null))[_0x688d('0x26')](saveUpdates(_0x384cdf[_0x688d('0x2c')],null))['then'](respondWithResult(_0x35f2c6,null))['catch'](handleError(_0x35f2c6,null));};exports[_0x688d('0x27')]=function(_0x522d9d,_0x377f32){return db[_0x688d('0x2d')]['find']({'where':{'id':_0x522d9d['params']['id']}})['then'](handleEntityNotFound(_0x377f32,null))[_0x688d('0x26')](removeEntity(_0x377f32,null))[_0x688d('0x30')](handleError(_0x377f32,null));};