365a84553c043e66025ff528a66d6d27a21fe53c
[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 _0xce14=['../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','set','Content-Range','reject','save','update','then','destroy','error','name','send','body','Action','find','params','catch','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api'];(function(_0x5c6e8c,_0x154b65){var _0x5e1f24=function(_0x17d3a4){while(--_0x17d3a4){_0x5c6e8c['push'](_0x5c6e8c['shift']());}};_0x5e1f24(++_0x154b65);}(_0xce14,0x17f));var _0x4ce1=function(_0xbca1b1,_0x33f0ce){_0xbca1b1=_0xbca1b1-0x0;var _0x4e1686=_0xce14[_0xbca1b1];return _0x4e1686;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4ce1('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4ce1('0x1'));var rp=require(_0x4ce1('0x2'));var moment=require('moment');var BPromise=require(_0x4ce1('0x3'));var Mustache=require(_0x4ce1('0x4'));var util=require(_0x4ce1('0x5'));var path=require(_0x4ce1('0x6'));var sox=require(_0x4ce1('0x7'));var csv=require('to-csv');var ejs=require(_0x4ce1('0x8'));var fs=require('fs');var fs_extra=require(_0x4ce1('0x9'));var _=require(_0x4ce1('0xa'));var squel=require(_0x4ce1('0xb'));var crypto=require('crypto');var jsforce=require(_0x4ce1('0xc'));var deskjs=require(_0x4ce1('0xd'));var toCsv=require(_0x4ce1('0xe'));var querystring=require('querystring');var Papa=require(_0x4ce1('0xf'));var Redis=require(_0x4ce1('0x10'));var authService=require(_0x4ce1('0x11'));var qs=require(_0x4ce1('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4ce1('0x13'));var logger=require(_0x4ce1('0x14'))(_0x4ce1('0x15'));var utils=require(_0x4ce1('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x4ce1('0x17'));var db=require(_0x4ce1('0x18'))['db'];function respondWithStatusCode(_0x1297d8,_0x16dade){_0x16dade=_0x16dade||0xcc;return function(_0x171b8f){if(_0x171b8f){return _0x1297d8[_0x4ce1('0x19')](_0x16dade);}return _0x1297d8[_0x4ce1('0x1a')](_0x16dade)[_0x4ce1('0x1b')]();};}function respondWithResult(_0x45f57e,_0x15407b){_0x15407b=_0x15407b||0xc8;return function(_0x321df9){if(_0x321df9){return _0x45f57e['status'](_0x15407b)[_0x4ce1('0x1c')](_0x321df9);}};}function respondWithFilteredResult(_0x4fa4bc,_0x172e2c){return function(_0x1bfd82){if(_0x1bfd82){var _0x1decc2=_0x1bfd82['count'],_0x35eebd=_0x172e2c['offset'],_0x5649a2=_0x172e2c['offset']+_0x172e2c[_0x4ce1('0x1d')],_0x221306;if(_0x5649a2>=_0x1decc2){_0x5649a2=_0x1decc2;_0x221306=0xc8;}else{_0x221306=0xce;}_0x4fa4bc[_0x4ce1('0x1a')](_0x221306);return _0x4fa4bc[_0x4ce1('0x1e')](_0x4ce1('0x1f'),_0x35eebd+'-'+_0x5649a2+'/'+_0x1decc2)['json'](_0x1bfd82);}return null;};}function patchUpdates(_0x4322e6){return function(_0x48a4ed){try{jsonpatch['apply'](_0x48a4ed,_0x4322e6,!![]);}catch(_0x315bb7){return BPromise[_0x4ce1('0x20')](_0x315bb7);}return _0x48a4ed[_0x4ce1('0x21')]();};}function saveUpdates(_0x44a166,_0x1cb999){return function(_0x315f07){if(_0x315f07){return _0x315f07[_0x4ce1('0x22')](_0x44a166)[_0x4ce1('0x23')](function(_0x564280){return _0x564280;});}return null;};}function removeEntity(_0x95457f,_0x3bce9d){return function(_0x5c0b4f){if(_0x5c0b4f){return _0x5c0b4f[_0x4ce1('0x24')]()[_0x4ce1('0x23')](function(){_0x95457f['status'](0xcc)[_0x4ce1('0x1b')]();});}};}function handleEntityNotFound(_0x2da360,_0x4de527){return function(_0x4d1379){if(!_0x4d1379){_0x2da360['sendStatus'](0x194);}return _0x4d1379;};}function handleError(_0x7cd94b,_0x493feb){_0x493feb=_0x493feb||0x1f4;return function(_0x41f6ed){logger[_0x4ce1('0x25')](_0x41f6ed['stack']);if(_0x41f6ed[_0x4ce1('0x26')]){delete _0x41f6ed[_0x4ce1('0x26')];}_0x7cd94b[_0x4ce1('0x1a')](_0x493feb)[_0x4ce1('0x27')](_0x41f6ed);};}exports[_0x4ce1('0x22')]=function(_0x1efe11,_0x7eba6d){if(_0x1efe11[_0x4ce1('0x28')]['id']){delete _0x1efe11[_0x4ce1('0x28')]['id'];}return db[_0x4ce1('0x29')][_0x4ce1('0x2a')]({'where':{'id':_0x1efe11[_0x4ce1('0x2b')]['id']}})[_0x4ce1('0x23')](handleEntityNotFound(_0x7eba6d,null))[_0x4ce1('0x23')](saveUpdates(_0x1efe11[_0x4ce1('0x28')],null))[_0x4ce1('0x23')](respondWithResult(_0x7eba6d,null))[_0x4ce1('0x2c')](handleError(_0x7eba6d,null));};exports[_0x4ce1('0x24')]=function(_0x5f5854,_0x2a9bc3){return db[_0x4ce1('0x29')][_0x4ce1('0x2a')]({'where':{'id':_0x5f5854[_0x4ce1('0x2b')]['id']}})[_0x4ce1('0x23')](handleEntityNotFound(_0x2a9bc3,null))[_0x4ce1('0x23')](removeEntity(_0x2a9bc3,null))['catch'](handleError(_0x2a9bc3,null));};