811263a53fae17f11773848111f568885a86f6d4
[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 _0x9322=['limit','undefined','count','set','Content-Range','reject','then','destroy','end','error','stack','name','send','body','Action','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','squel','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset'];(function(_0x1098bf,_0x1adfc5){var _0x1e130a=function(_0x55e577){while(--_0x55e577){_0x1098bf['push'](_0x1098bf['shift']());}};_0x1e130a(++_0x1adfc5);}(_0x9322,0x1c0));var _0x2932=function(_0x167cc1,_0x56ef5a){_0x167cc1=_0x167cc1-0x0;var _0x10bc4b=_0x9322[_0x167cc1];return _0x10bc4b;};'use strict';var emlformat=require(_0x2932('0x0'));var rimraf=require(_0x2932('0x1'));var zipdir=require(_0x2932('0x2'));var jsonpatch=require(_0x2932('0x3'));var rp=require(_0x2932('0x4'));var moment=require(_0x2932('0x5'));var BPromise=require(_0x2932('0x6'));var Mustache=require(_0x2932('0x7'));var util=require('util');var path=require(_0x2932('0x8'));var sox=require(_0x2932('0x9'));var csv=require('to-csv');var ejs=require(_0x2932('0xa'));var fs=require('fs');var fs_extra=require(_0x2932('0xb'));var _=require('lodash');var squel=require(_0x2932('0xc'));var crypto=require('crypto');var jsforce=require(_0x2932('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x2932('0xe'));var querystring=require(_0x2932('0xf'));var Papa=require(_0x2932('0x10'));var Redis=require(_0x2932('0x11'));var authService=require(_0x2932('0x12'));var qs=require(_0x2932('0x13'));var as=require(_0x2932('0x14'));var hardwareService=require(_0x2932('0x15'));var logger=require(_0x2932('0x16'))(_0x2932('0x17'));var utils=require(_0x2932('0x18'));var config=require(_0x2932('0x19'));var licenseUtil=require(_0x2932('0x1a'));var db=require(_0x2932('0x1b'))['db'];function respondWithStatusCode(_0x4dda2a,_0x4b233c){_0x4b233c=_0x4b233c||0xcc;return function(_0x407dde){if(_0x407dde){return _0x4dda2a[_0x2932('0x1c')](_0x4b233c);}return _0x4dda2a[_0x2932('0x1d')](_0x4b233c)['end']();};}function respondWithResult(_0x465df5,_0x299b97){_0x299b97=_0x299b97||0xc8;return function(_0x13b5b9){if(_0x13b5b9){return _0x465df5[_0x2932('0x1d')](_0x299b97)[_0x2932('0x1e')](_0x13b5b9);}};}function respondWithFilteredResult(_0xf9cc74,_0xcfc2a1){return function(_0x238a76){if(_0x238a76){var _0x4a1d21=typeof _0xcfc2a1[_0x2932('0x1f')]==='undefined'&&typeof _0xcfc2a1[_0x2932('0x20')]===_0x2932('0x21');var _0x5c89e7=_0x238a76[_0x2932('0x22')];var _0x3f8387=_0x4a1d21?0x0:_0xcfc2a1[_0x2932('0x1f')];var _0x4eb3ee=_0x4a1d21?_0x238a76[_0x2932('0x22')]:_0xcfc2a1['offset']+_0xcfc2a1[_0x2932('0x20')];var _0x2147ee;if(_0x4eb3ee>=_0x5c89e7){_0x4eb3ee=_0x5c89e7;_0x2147ee=0xc8;}else{_0x2147ee=0xce;}_0xf9cc74['status'](_0x2147ee);return _0xf9cc74[_0x2932('0x23')](_0x2932('0x24'),_0x3f8387+'-'+_0x4eb3ee+'/'+_0x5c89e7)[_0x2932('0x1e')](_0x238a76);}return null;};}function patchUpdates(_0x181126){return function(_0x326012){try{jsonpatch['apply'](_0x326012,_0x181126,!![]);}catch(_0x8018a7){return BPromise[_0x2932('0x25')](_0x8018a7);}return _0x326012['save']();};}function saveUpdates(_0x587598,_0x5cf397){return function(_0x3765ea){if(_0x3765ea){return _0x3765ea['update'](_0x587598)[_0x2932('0x26')](function(_0x5df732){return _0x5df732;});}return null;};}function removeEntity(_0x289d68,_0x3deb36){return function(_0x57b872){if(_0x57b872){return _0x57b872[_0x2932('0x27')]()[_0x2932('0x26')](function(){_0x289d68['status'](0xcc)[_0x2932('0x28')]();});}};}function handleEntityNotFound(_0x2e5b52,_0x2d971c){return function(_0x329c7c){if(!_0x329c7c){_0x2e5b52[_0x2932('0x1c')](0x194);}return _0x329c7c;};}function handleError(_0x4e9951,_0x1c4711){_0x1c4711=_0x1c4711||0x1f4;return function(_0x1047b2){logger[_0x2932('0x29')](_0x1047b2[_0x2932('0x2a')]);if(_0x1047b2[_0x2932('0x2b')]){delete _0x1047b2['name'];}_0x4e9951[_0x2932('0x1d')](_0x1c4711)[_0x2932('0x2c')](_0x1047b2);};}exports['update']=function(_0x4efe19,_0x3a1070){if(_0x4efe19[_0x2932('0x2d')]['id']){delete _0x4efe19[_0x2932('0x2d')]['id'];}return db[_0x2932('0x2e')]['find']({'where':{'id':_0x4efe19[_0x2932('0x2f')]['id']}})[_0x2932('0x26')](handleEntityNotFound(_0x3a1070,null))[_0x2932('0x26')](saveUpdates(_0x4efe19[_0x2932('0x2d')],null))[_0x2932('0x26')](respondWithResult(_0x3a1070,null))['catch'](handleError(_0x3a1070,null));};exports[_0x2932('0x27')]=function(_0x4f2767,_0xf50b6f){return db[_0x2932('0x2e')]['find']({'where':{'id':_0x4f2767[_0x2932('0x2f')]['id']}})[_0x2932('0x26')](handleEntityNotFound(_0xf50b6f,null))['then'](removeEntity(_0xf50b6f,null))['catch'](handleError(_0xf50b6f,null));};