Built motion from commit b5413ace.|2.6.9
[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 _0x3848=['body','find','destroy','Action','catch','eml-format','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','end','json','offset','count','limit','set','Content-Range','apply','reject','save','update','then','status','sendStatus','error','stack','name','send'];(function(_0xc95fe9,_0x36bcb1){var _0x3761dd=function(_0x574a8c){while(--_0x574a8c){_0xc95fe9['push'](_0xc95fe9['shift']());}};_0x3761dd(++_0x36bcb1);}(_0x3848,0x107));var _0x8384=function(_0x45b1ba,_0x5a6a21){_0x45b1ba=_0x45b1ba-0x0;var _0x145ddb=_0x3848[_0x45b1ba];return _0x145ddb;};'use strict';var emlformat=require(_0x8384('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x8384('0x1'));var moment=require(_0x8384('0x2'));var BPromise=require(_0x8384('0x3'));var Mustache=require(_0x8384('0x4'));var util=require(_0x8384('0x5'));var path=require(_0x8384('0x6'));var sox=require(_0x8384('0x7'));var csv=require(_0x8384('0x8'));var ejs=require(_0x8384('0x9'));var fs=require('fs');var fs_extra=require(_0x8384('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x8384('0xb'));var jsforce=require(_0x8384('0xc'));var deskjs=require(_0x8384('0xd'));var toCsv=require(_0x8384('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x8384('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x8384('0xf'));var as=require(_0x8384('0x10'));var hardwareService=require(_0x8384('0x11'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x8384('0x12'));var licenseUtil=require(_0x8384('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4cb052,_0x5e44f4){_0x5e44f4=_0x5e44f4||0xcc;return function(_0x8fdc6c){if(_0x8fdc6c){return _0x4cb052['sendStatus'](_0x5e44f4);}return _0x4cb052['status'](_0x5e44f4)[_0x8384('0x14')]();};}function respondWithResult(_0x4e3a9c,_0x234664){_0x234664=_0x234664||0xc8;return function(_0x1cb854){if(_0x1cb854){return _0x4e3a9c['status'](_0x234664)[_0x8384('0x15')](_0x1cb854);}};}function respondWithFilteredResult(_0x2de13a,_0x7822b1){return function(_0x1ac7b3){if(_0x1ac7b3){var _0x23cf88=typeof _0x7822b1[_0x8384('0x16')]==='undefined'&&typeof _0x7822b1['limit']==='undefined';var _0x57aa11=_0x1ac7b3[_0x8384('0x17')];var _0x558e9d=_0x23cf88?0x0:_0x7822b1['offset'];var _0x561e63=_0x23cf88?_0x1ac7b3['count']:_0x7822b1[_0x8384('0x16')]+_0x7822b1[_0x8384('0x18')];var _0x526177;if(_0x561e63>=_0x57aa11){_0x561e63=_0x57aa11;_0x526177=0xc8;}else{_0x526177=0xce;}_0x2de13a['status'](_0x526177);return _0x2de13a[_0x8384('0x19')](_0x8384('0x1a'),_0x558e9d+'-'+_0x561e63+'/'+_0x57aa11)[_0x8384('0x15')](_0x1ac7b3);}return null;};}function patchUpdates(_0x4e6b4d){return function(_0x2ba538){try{jsonpatch[_0x8384('0x1b')](_0x2ba538,_0x4e6b4d,!![]);}catch(_0x5e4e40){return BPromise[_0x8384('0x1c')](_0x5e4e40);}return _0x2ba538[_0x8384('0x1d')]();};}function saveUpdates(_0x51330f,_0x307a2a){return function(_0x4d7c16){if(_0x4d7c16){return _0x4d7c16[_0x8384('0x1e')](_0x51330f)['then'](function(_0x52aa9a){return _0x52aa9a;});}return null;};}function removeEntity(_0x40feaa,_0xe132e9){return function(_0x3dcdfa){if(_0x3dcdfa){return _0x3dcdfa['destroy']()[_0x8384('0x1f')](function(){_0x40feaa[_0x8384('0x20')](0xcc)[_0x8384('0x14')]();});}};}function handleEntityNotFound(_0x519a44,_0x24c72f){return function(_0x419d84){if(!_0x419d84){_0x519a44[_0x8384('0x21')](0x194);}return _0x419d84;};}function handleError(_0x3a1367,_0x59a754){_0x59a754=_0x59a754||0x1f4;return function(_0x3a10be){logger[_0x8384('0x22')](_0x3a10be[_0x8384('0x23')]);if(_0x3a10be[_0x8384('0x24')]){delete _0x3a10be[_0x8384('0x24')];}_0x3a1367[_0x8384('0x20')](_0x59a754)[_0x8384('0x25')](_0x3a10be);};}exports['update']=function(_0x52fb5f,_0x12ef93){if(_0x52fb5f[_0x8384('0x26')]['id']){delete _0x52fb5f[_0x8384('0x26')]['id'];}return db['Action'][_0x8384('0x27')]({'where':{'id':_0x52fb5f['params']['id']}})[_0x8384('0x1f')](handleEntityNotFound(_0x12ef93,null))[_0x8384('0x1f')](saveUpdates(_0x52fb5f[_0x8384('0x26')],null))['then'](respondWithResult(_0x12ef93,null))['catch'](handleError(_0x12ef93,null));};exports[_0x8384('0x28')]=function(_0x1ae6e0,_0x5d63b0){return db[_0x8384('0x29')][_0x8384('0x27')]({'where':{'id':_0x1ae6e0['params']['id']}})['then'](handleEntityNotFound(_0x5d63b0,null))[_0x8384('0x1f')](removeEntity(_0x5d63b0,null))[_0x8384('0x2a')](handleError(_0x5d63b0,null));};