2b283adc361e7b5e8706fbcd1065c66dc55b5ff6
[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 _0x1560=['papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','body','Action','find','catch','params','eml-format','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto'];(function(_0x28ba8d,_0x52a4f3){var _0x472f3b=function(_0x4c5ef3){while(--_0x4c5ef3){_0x28ba8d['push'](_0x28ba8d['shift']());}};_0x472f3b(++_0x52a4f3);}(_0x1560,0x155));var _0x0156=function(_0x455243,_0x524470){_0x455243=_0x455243-0x0;var _0x3bfc83=_0x1560[_0x455243];return _0x3bfc83;};'use strict';var emlformat=require(_0x0156('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x0156('0x1'));var rp=require(_0x0156('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x0156('0x3'));var util=require(_0x0156('0x4'));var path=require(_0x0156('0x5'));var sox=require(_0x0156('0x6'));var csv=require(_0x0156('0x7'));var ejs=require(_0x0156('0x8'));var fs=require('fs');var fs_extra=require(_0x0156('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x0156('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x0156('0xb'));var Redis=require('ioredis');var authService=require(_0x0156('0xc'));var qs=require(_0x0156('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0156('0xe'));var logger=require(_0x0156('0xf'))(_0x0156('0x10'));var utils=require('../../config/utils');var config=require(_0x0156('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0x0156('0x12'))['db'];function respondWithStatusCode(_0x11c9f4,_0x1664e9){_0x1664e9=_0x1664e9||0xcc;return function(_0x195c19){if(_0x195c19){return _0x11c9f4[_0x0156('0x13')](_0x1664e9);}return _0x11c9f4[_0x0156('0x14')](_0x1664e9)[_0x0156('0x15')]();};}function respondWithResult(_0x9f5380,_0xc04800){_0xc04800=_0xc04800||0xc8;return function(_0x27c7a8){if(_0x27c7a8){return _0x9f5380[_0x0156('0x14')](_0xc04800)[_0x0156('0x16')](_0x27c7a8);}};}function respondWithFilteredResult(_0x31e5e8,_0x3ac20b){return function(_0x65c5bb){if(_0x65c5bb){var _0x868bb2=typeof _0x3ac20b[_0x0156('0x17')]===_0x0156('0x18')&&typeof _0x3ac20b[_0x0156('0x19')]===_0x0156('0x18');var _0x4975be=_0x65c5bb[_0x0156('0x1a')];var _0x448cd6=_0x868bb2?0x0:_0x3ac20b[_0x0156('0x17')];var _0x3f2faf=_0x868bb2?_0x65c5bb[_0x0156('0x1a')]:_0x3ac20b[_0x0156('0x17')]+_0x3ac20b[_0x0156('0x19')];var _0x20cc76;if(_0x3f2faf>=_0x4975be){_0x3f2faf=_0x4975be;_0x20cc76=0xc8;}else{_0x20cc76=0xce;}_0x31e5e8[_0x0156('0x14')](_0x20cc76);return _0x31e5e8[_0x0156('0x1b')](_0x0156('0x1c'),_0x448cd6+'-'+_0x3f2faf+'/'+_0x4975be)[_0x0156('0x16')](_0x65c5bb);}return null;};}function patchUpdates(_0x2786e3){return function(_0x266b00){try{jsonpatch[_0x0156('0x1d')](_0x266b00,_0x2786e3,!![]);}catch(_0x55a0a4){return BPromise[_0x0156('0x1e')](_0x55a0a4);}return _0x266b00[_0x0156('0x1f')]();};}function saveUpdates(_0x2dd30d,_0x29b0b5){return function(_0x268bd1){if(_0x268bd1){return _0x268bd1[_0x0156('0x20')](_0x2dd30d)[_0x0156('0x21')](function(_0x135c5b){return _0x135c5b;});}return null;};}function removeEntity(_0xd4a0d5,_0x41da50){return function(_0x5d3a24){if(_0x5d3a24){return _0x5d3a24[_0x0156('0x22')]()[_0x0156('0x21')](function(){_0xd4a0d5[_0x0156('0x14')](0xcc)[_0x0156('0x15')]();});}};}function handleEntityNotFound(_0x5ade66,_0x19fa93){return function(_0x281dbb){if(!_0x281dbb){_0x5ade66[_0x0156('0x13')](0x194);}return _0x281dbb;};}function handleError(_0x4b82c1,_0x27cca2){_0x27cca2=_0x27cca2||0x1f4;return function(_0x2b70d1){logger[_0x0156('0x23')](_0x2b70d1[_0x0156('0x24')]);if(_0x2b70d1['name']){delete _0x2b70d1[_0x0156('0x25')];}_0x4b82c1[_0x0156('0x14')](_0x27cca2)[_0x0156('0x26')](_0x2b70d1);};}exports[_0x0156('0x20')]=function(_0x53b818,_0x10636c){if(_0x53b818[_0x0156('0x27')]['id']){delete _0x53b818[_0x0156('0x27')]['id'];}return db[_0x0156('0x28')][_0x0156('0x29')]({'where':{'id':_0x53b818['params']['id']}})[_0x0156('0x21')](handleEntityNotFound(_0x10636c,null))[_0x0156('0x21')](saveUpdates(_0x53b818[_0x0156('0x27')],null))['then'](respondWithResult(_0x10636c,null))[_0x0156('0x2a')](handleError(_0x10636c,null));};exports[_0x0156('0x22')]=function(_0x1759b1,_0x41cac6){return db[_0x0156('0x28')][_0x0156('0x29')]({'where':{'id':_0x1759b1[_0x0156('0x2b')]['id']}})[_0x0156('0x21')](handleEntityNotFound(_0x41cac6,null))['then'](removeEntity(_0x41cac6,null))['catch'](handleError(_0x41cac6,null));};