27a0ad3482ea8d7b8fc014b10ff1c995c2181c97
[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 _0xe3fa=['ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','save','then','destroy','sendStatus','error','stack','name','send','update','body','find','params','catch','Action','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js'];(function(_0x3358ba,_0x24c5fc){var _0x296e73=function(_0x843ff3){while(--_0x843ff3){_0x3358ba['push'](_0x3358ba['shift']());}};_0x296e73(++_0x24c5fc);}(_0xe3fa,0xa5));var _0xae3f=function(_0x813834,_0x3fbdf2){_0x813834=_0x813834-0x0;var _0x49580d=_0xe3fa[_0x813834];return _0x49580d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xae3f('0x0'));var zipdir=require(_0xae3f('0x1'));var jsonpatch=require(_0xae3f('0x2'));var rp=require(_0xae3f('0x3'));var moment=require(_0xae3f('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xae3f('0x5'));var util=require('util');var path=require(_0xae3f('0x6'));var sox=require(_0xae3f('0x7'));var csv=require(_0xae3f('0x8'));var ejs=require(_0xae3f('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xae3f('0xa'));var squel=require(_0xae3f('0xb'));var crypto=require(_0xae3f('0xc'));var jsforce=require(_0xae3f('0xd'));var deskjs=require(_0xae3f('0xe'));var toCsv=require(_0xae3f('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xae3f('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xae3f('0x10'));var as=require(_0xae3f('0x11'));var hardwareService=require(_0xae3f('0x12'));var logger=require(_0xae3f('0x13'))(_0xae3f('0x14'));var utils=require(_0xae3f('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xae3f('0x16'));var db=require(_0xae3f('0x17'))['db'];function respondWithStatusCode(_0x2f6156,_0x168c75){_0x168c75=_0x168c75||0xcc;return function(_0x140b6b){if(_0x140b6b){return _0x2f6156['sendStatus'](_0x168c75);}return _0x2f6156[_0xae3f('0x18')](_0x168c75)[_0xae3f('0x19')]();};}function respondWithResult(_0x35d3c6,_0x159655){_0x159655=_0x159655||0xc8;return function(_0x1eb132){if(_0x1eb132){return _0x35d3c6['status'](_0x159655)[_0xae3f('0x1a')](_0x1eb132);}};}function respondWithFilteredResult(_0x16eb7c,_0x278df1){return function(_0x1a5aac){if(_0x1a5aac){var _0xcf9883=typeof _0x278df1[_0xae3f('0x1b')]===_0xae3f('0x1c')&&typeof _0x278df1['limit']==='undefined';var _0x29bb13=_0x1a5aac[_0xae3f('0x1d')];var _0xc9e92f=_0xcf9883?0x0:_0x278df1[_0xae3f('0x1b')];var _0x294f47=_0xcf9883?_0x1a5aac[_0xae3f('0x1d')]:_0x278df1[_0xae3f('0x1b')]+_0x278df1[_0xae3f('0x1e')];var _0x4efa5d;if(_0x294f47>=_0x29bb13){_0x294f47=_0x29bb13;_0x4efa5d=0xc8;}else{_0x4efa5d=0xce;}_0x16eb7c[_0xae3f('0x18')](_0x4efa5d);return _0x16eb7c['set']('Content-Range',_0xc9e92f+'-'+_0x294f47+'/'+_0x29bb13)[_0xae3f('0x1a')](_0x1a5aac);}return null;};}function patchUpdates(_0x22326a){return function(_0x1a158){try{jsonpatch['apply'](_0x1a158,_0x22326a,!![]);}catch(_0x409fce){return BPromise['reject'](_0x409fce);}return _0x1a158[_0xae3f('0x1f')]();};}function saveUpdates(_0x499bcc,_0x40b056){return function(_0x979460){if(_0x979460){return _0x979460['update'](_0x499bcc)[_0xae3f('0x20')](function(_0x5dc916){return _0x5dc916;});}return null;};}function removeEntity(_0xc47e79,_0x4236e7){return function(_0x4b8d9c){if(_0x4b8d9c){return _0x4b8d9c[_0xae3f('0x21')]()[_0xae3f('0x20')](function(){_0xc47e79[_0xae3f('0x18')](0xcc)[_0xae3f('0x19')]();});}};}function handleEntityNotFound(_0x2c9a72,_0x1cc48c){return function(_0x16a83d){if(!_0x16a83d){_0x2c9a72[_0xae3f('0x22')](0x194);}return _0x16a83d;};}function handleError(_0x4c37ee,_0x145809){_0x145809=_0x145809||0x1f4;return function(_0xa38a0a){logger[_0xae3f('0x23')](_0xa38a0a[_0xae3f('0x24')]);if(_0xa38a0a[_0xae3f('0x25')]){delete _0xa38a0a[_0xae3f('0x25')];}_0x4c37ee[_0xae3f('0x18')](_0x145809)[_0xae3f('0x26')](_0xa38a0a);};}exports[_0xae3f('0x27')]=function(_0x4e5fee,_0x3ce093){if(_0x4e5fee[_0xae3f('0x28')]['id']){delete _0x4e5fee[_0xae3f('0x28')]['id'];}return db['Action'][_0xae3f('0x29')]({'where':{'id':_0x4e5fee[_0xae3f('0x2a')]['id']}})['then'](handleEntityNotFound(_0x3ce093,null))['then'](saveUpdates(_0x4e5fee[_0xae3f('0x28')],null))[_0xae3f('0x20')](respondWithResult(_0x3ce093,null))[_0xae3f('0x2b')](handleError(_0x3ce093,null));};exports[_0xae3f('0x21')]=function(_0x260fb2,_0xa740c4){return db[_0xae3f('0x2c')][_0xae3f('0x29')]({'where':{'id':_0x260fb2[_0xae3f('0x2a')]['id']}})[_0xae3f('0x20')](handleEntityNotFound(_0xa740c4,null))[_0xae3f('0x20')](removeEntity(_0xa740c4,null))['catch'](handleError(_0xa740c4,null));};