Built motion from commit e0fa946e.|2.6.5
[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 _0x201b=['stack','body','find','catch','Action','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','update','destroy','then','error'];(function(_0x316b7f,_0x28beb1){var _0x3c5176=function(_0x20d2c0){while(--_0x20d2c0){_0x316b7f['push'](_0x316b7f['shift']());}};_0x3c5176(++_0x28beb1);}(_0x201b,0x1c7));var _0xb201=function(_0x5dade5,_0x4c479e){_0x5dade5=_0x5dade5-0x0;var _0x3bb161=_0x201b[_0x5dade5];return _0x3bb161;};'use strict';var emlformat=require(_0xb201('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb201('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb201('0x2'));var moment=require(_0xb201('0x3'));var BPromise=require(_0xb201('0x4'));var Mustache=require(_0xb201('0x5'));var util=require(_0xb201('0x6'));var path=require('path');var sox=require(_0xb201('0x7'));var csv=require(_0xb201('0x8'));var ejs=require(_0xb201('0x9'));var fs=require('fs');var fs_extra=require(_0xb201('0xa'));var _=require('lodash');var squel=require(_0xb201('0xb'));var crypto=require(_0xb201('0xc'));var jsforce=require(_0xb201('0xd'));var deskjs=require(_0xb201('0xe'));var toCsv=require(_0xb201('0x8'));var querystring=require(_0xb201('0xf'));var Papa=require(_0xb201('0x10'));var Redis=require(_0xb201('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xb201('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb201('0x13'));var logger=require(_0xb201('0x14'))('api');var utils=require(_0xb201('0x15'));var config=require(_0xb201('0x16'));var licenseUtil=require(_0xb201('0x17'));var db=require(_0xb201('0x18'))['db'];function respondWithStatusCode(_0x58e3a1,_0xe2627c){_0xe2627c=_0xe2627c||0xcc;return function(_0x40dca1){if(_0x40dca1){return _0x58e3a1[_0xb201('0x19')](_0xe2627c);}return _0x58e3a1[_0xb201('0x1a')](_0xe2627c)[_0xb201('0x1b')]();};}function respondWithResult(_0xa61cc2,_0x1e9312){_0x1e9312=_0x1e9312||0xc8;return function(_0x18cb27){if(_0x18cb27){return _0xa61cc2['status'](_0x1e9312)[_0xb201('0x1c')](_0x18cb27);}};}function respondWithFilteredResult(_0x50397a,_0x3b37c1){return function(_0xa1fce4){if(_0xa1fce4){var _0x4625ea=typeof _0x3b37c1[_0xb201('0x1d')]===_0xb201('0x1e')&&typeof _0x3b37c1['limit']===_0xb201('0x1e');var _0x1a1af0=_0xa1fce4[_0xb201('0x1f')];var _0x4a95b5=_0x4625ea?0x0:_0x3b37c1[_0xb201('0x1d')];var _0x3e96ae=_0x4625ea?_0xa1fce4[_0xb201('0x1f')]:_0x3b37c1[_0xb201('0x1d')]+_0x3b37c1[_0xb201('0x20')];var _0x402c23;if(_0x3e96ae>=_0x1a1af0){_0x3e96ae=_0x1a1af0;_0x402c23=0xc8;}else{_0x402c23=0xce;}_0x50397a[_0xb201('0x1a')](_0x402c23);return _0x50397a[_0xb201('0x21')](_0xb201('0x22'),_0x4a95b5+'-'+_0x3e96ae+'/'+_0x1a1af0)[_0xb201('0x1c')](_0xa1fce4);}return null;};}function patchUpdates(_0x4784cf){return function(_0x122a6b){try{jsonpatch['apply'](_0x122a6b,_0x4784cf,!![]);}catch(_0x44f9bc){return BPromise[_0xb201('0x23')](_0x44f9bc);}return _0x122a6b['save']();};}function saveUpdates(_0x5da85a,_0xe7223c){return function(_0x33b271){if(_0x33b271){return _0x33b271[_0xb201('0x24')](_0x5da85a)['then'](function(_0x58ac5d){return _0x58ac5d;});}return null;};}function removeEntity(_0x587b89,_0x1b7445){return function(_0xaa06b3){if(_0xaa06b3){return _0xaa06b3[_0xb201('0x25')]()[_0xb201('0x26')](function(){_0x587b89[_0xb201('0x1a')](0xcc)[_0xb201('0x1b')]();});}};}function handleEntityNotFound(_0x1e2d3e,_0x30d748){return function(_0x3ac3c2){if(!_0x3ac3c2){_0x1e2d3e[_0xb201('0x19')](0x194);}return _0x3ac3c2;};}function handleError(_0x13a406,_0x263edd){_0x263edd=_0x263edd||0x1f4;return function(_0x3bc971){logger[_0xb201('0x27')](_0x3bc971[_0xb201('0x28')]);if(_0x3bc971['name']){delete _0x3bc971['name'];}_0x13a406['status'](_0x263edd)['send'](_0x3bc971);};}exports['update']=function(_0x8d65da,_0x562d8c){if(_0x8d65da[_0xb201('0x29')]['id']){delete _0x8d65da[_0xb201('0x29')]['id'];}return db['Action'][_0xb201('0x2a')]({'where':{'id':_0x8d65da['params']['id']}})[_0xb201('0x26')](handleEntityNotFound(_0x562d8c,null))['then'](saveUpdates(_0x8d65da[_0xb201('0x29')],null))[_0xb201('0x26')](respondWithResult(_0x562d8c,null))[_0xb201('0x2b')](handleError(_0x562d8c,null));};exports[_0xb201('0x25')]=function(_0x34ea82,_0x812731){return db[_0xb201('0x2c')][_0xb201('0x2a')]({'where':{'id':_0x34ea82['params']['id']}})['then'](handleEntityNotFound(_0x812731,null))[_0xb201('0x26')](removeEntity(_0x812731,null))[_0xb201('0x2b')](handleError(_0x812731,null));};