Built motion from commit (unavailable).|2.5.31
[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 _0xb0de=['to-csv','ejs','lodash','crypto','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','then','error','name','body','Action','find','params','destroy','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox'];(function(_0x4d8ed9,_0x2ae284){var _0x1e2140=function(_0x9cca89){while(--_0x9cca89){_0x4d8ed9['push'](_0x4d8ed9['shift']());}};_0x1e2140(++_0x2ae284);}(_0xb0de,0xec));var _0xeb0d=function(_0x2cdec8,_0x25e75b){_0x2cdec8=_0x2cdec8-0x0;var _0x554ab9=_0xb0de[_0x2cdec8];return _0x554ab9;};'use strict';var emlformat=require(_0xeb0d('0x0'));var rimraf=require(_0xeb0d('0x1'));var zipdir=require(_0xeb0d('0x2'));var jsonpatch=require(_0xeb0d('0x3'));var rp=require(_0xeb0d('0x4'));var moment=require('moment');var BPromise=require(_0xeb0d('0x5'));var Mustache=require(_0xeb0d('0x6'));var util=require(_0xeb0d('0x7'));var path=require(_0xeb0d('0x8'));var sox=require(_0xeb0d('0x9'));var csv=require(_0xeb0d('0xa'));var ejs=require(_0xeb0d('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xeb0d('0xc'));var squel=require('squel');var crypto=require(_0xeb0d('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xeb0d('0xa'));var querystring=require(_0xeb0d('0xe'));var Papa=require('papaparse');var Redis=require(_0xeb0d('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xeb0d('0x10'));var hardwareService=require(_0xeb0d('0x11'));var logger=require(_0xeb0d('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xeb0d('0x13'));var licenseUtil=require(_0xeb0d('0x14'));var db=require(_0xeb0d('0x15'))['db'];function respondWithStatusCode(_0x9b6146,_0x39c8e0){_0x39c8e0=_0x39c8e0||0xcc;return function(_0x4ad397){if(_0x4ad397){return _0x9b6146[_0xeb0d('0x16')](_0x39c8e0);}return _0x9b6146[_0xeb0d('0x17')](_0x39c8e0)[_0xeb0d('0x18')]();};}function respondWithResult(_0xa04582,_0x9544){_0x9544=_0x9544||0xc8;return function(_0x4a1d42){if(_0x4a1d42){return _0xa04582[_0xeb0d('0x17')](_0x9544)[_0xeb0d('0x19')](_0x4a1d42);}};}function respondWithFilteredResult(_0x3f6de2,_0x15a14c){return function(_0x5e53cd){if(_0x5e53cd){var _0x419ff0=typeof _0x15a14c[_0xeb0d('0x1a')]===_0xeb0d('0x1b')&&typeof _0x15a14c[_0xeb0d('0x1c')]===_0xeb0d('0x1b');var _0x17c5cd=_0x5e53cd[_0xeb0d('0x1d')];var _0xf34328=_0x419ff0?0x0:_0x15a14c['offset'];var _0x44d3bb=_0x419ff0?_0x5e53cd[_0xeb0d('0x1d')]:_0x15a14c[_0xeb0d('0x1a')]+_0x15a14c[_0xeb0d('0x1c')];var _0x3ebc99;if(_0x44d3bb>=_0x17c5cd){_0x44d3bb=_0x17c5cd;_0x3ebc99=0xc8;}else{_0x3ebc99=0xce;}_0x3f6de2['status'](_0x3ebc99);return _0x3f6de2['set'](_0xeb0d('0x1e'),_0xf34328+'-'+_0x44d3bb+'/'+_0x17c5cd)[_0xeb0d('0x19')](_0x5e53cd);}return null;};}function patchUpdates(_0x33a144){return function(_0x3a9ff6){try{jsonpatch[_0xeb0d('0x1f')](_0x3a9ff6,_0x33a144,!![]);}catch(_0x1092a4){return BPromise['reject'](_0x1092a4);}return _0x3a9ff6['save']();};}function saveUpdates(_0x4d9d1a,_0x1b7c3a){return function(_0x4ca6cd){if(_0x4ca6cd){return _0x4ca6cd['update'](_0x4d9d1a)[_0xeb0d('0x20')](function(_0x1a592f){return _0x1a592f;});}return null;};}function removeEntity(_0x18cdb3,_0x3b06bd){return function(_0x4b80ad){if(_0x4b80ad){return _0x4b80ad['destroy']()['then'](function(){_0x18cdb3['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x249b0a,_0x5655b6){return function(_0x102ba8){if(!_0x102ba8){_0x249b0a[_0xeb0d('0x16')](0x194);}return _0x102ba8;};}function handleError(_0x172390,_0x2698ea){_0x2698ea=_0x2698ea||0x1f4;return function(_0x1ab988){logger[_0xeb0d('0x21')](_0x1ab988['stack']);if(_0x1ab988[_0xeb0d('0x22')]){delete _0x1ab988[_0xeb0d('0x22')];}_0x172390['status'](_0x2698ea)['send'](_0x1ab988);};}exports['update']=function(_0x1cd5a1,_0x90da66){if(_0x1cd5a1['body']['id']){delete _0x1cd5a1[_0xeb0d('0x23')]['id'];}return db[_0xeb0d('0x24')][_0xeb0d('0x25')]({'where':{'id':_0x1cd5a1[_0xeb0d('0x26')]['id']}})[_0xeb0d('0x20')](handleEntityNotFound(_0x90da66,null))['then'](saveUpdates(_0x1cd5a1[_0xeb0d('0x23')],null))[_0xeb0d('0x20')](respondWithResult(_0x90da66,null))['catch'](handleError(_0x90da66,null));};exports[_0xeb0d('0x27')]=function(_0x22777f,_0x27f126){return db['Action']['find']({'where':{'id':_0x22777f[_0xeb0d('0x26')]['id']}})['then'](handleEntityNotFound(_0x27f126,null))['then'](removeEntity(_0x27f126,null))[_0xeb0d('0x28')](handleError(_0x27f126,null));};