48a3ed199471b9790078f265b25d6f44b27fdd21
[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 _0x8ca9=['error','name','send','body','find','params','catch','destroy','Action','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','save','update','then','sendStatus'];(function(_0x5f2e30,_0x3c97c2){var _0x830c02=function(_0xf08d9f){while(--_0xf08d9f){_0x5f2e30['push'](_0x5f2e30['shift']());}};_0x830c02(++_0x3c97c2);}(_0x8ca9,0x9c));var _0x98ca=function(_0x2ab54b,_0x38d11e){_0x2ab54b=_0x2ab54b-0x0;var _0x43db33=_0x8ca9[_0x2ab54b];return _0x43db33;};'use strict';var pdf=require(_0x98ca('0x0'));var emlformat=require(_0x98ca('0x1'));var rimraf=require(_0x98ca('0x2'));var zipdir=require(_0x98ca('0x3'));var jsonpatch=require(_0x98ca('0x4'));var rp=require(_0x98ca('0x5'));var moment=require(_0x98ca('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x98ca('0x7'));var path=require('path');var sox=require(_0x98ca('0x8'));var csv=require('to-csv');var ejs=require(_0x98ca('0x9'));var fs=require('fs');var _=require(_0x98ca('0xa'));var squel=require(_0x98ca('0xb'));var crypto=require(_0x98ca('0xc'));var jsforce=require(_0x98ca('0xd'));var deskjs=require(_0x98ca('0xe'));var toCsv=require(_0x98ca('0xf'));var querystring=require(_0x98ca('0x10'));var Papa=require(_0x98ca('0x11'));var Redis=require(_0x98ca('0x12'));var authService=require(_0x98ca('0x13'));var qs=require(_0x98ca('0x14'));var as=require(_0x98ca('0x15'));var hardwareService=require(_0x98ca('0x16'));var logger=require(_0x98ca('0x17'))(_0x98ca('0x18'));var utils=require(_0x98ca('0x19'));var config=require(_0x98ca('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0x98ca('0x1b'))['db'];function respondWithStatusCode(_0x44b65b,_0xba3887){_0xba3887=_0xba3887||0xcc;return function(_0x472e13){if(_0x472e13){return _0x44b65b['sendStatus'](_0xba3887);}return _0x44b65b[_0x98ca('0x1c')](_0xba3887)[_0x98ca('0x1d')]();};}function respondWithResult(_0x9a230e,_0xa2bab4){_0xa2bab4=_0xa2bab4||0xc8;return function(_0x3df0ef){if(_0x3df0ef){return _0x9a230e[_0x98ca('0x1c')](_0xa2bab4)[_0x98ca('0x1e')](_0x3df0ef);}};}function respondWithFilteredResult(_0x4940ca,_0x330713){return function(_0x29df1b){if(_0x29df1b){var _0x29f46b=_0x29df1b[_0x98ca('0x1f')],_0x398171=_0x330713[_0x98ca('0x20')],_0x52e9c8=_0x330713[_0x98ca('0x20')]+_0x330713[_0x98ca('0x21')],_0x238c1a;if(_0x52e9c8>=_0x29f46b){_0x52e9c8=_0x29f46b;_0x238c1a=0xc8;}else{_0x238c1a=0xce;}_0x4940ca[_0x98ca('0x1c')](_0x238c1a);return _0x4940ca[_0x98ca('0x22')](_0x98ca('0x23'),_0x398171+'-'+_0x52e9c8+'/'+_0x29f46b)[_0x98ca('0x1e')](_0x29df1b);}return null;};}function patchUpdates(_0x110f9f){return function(_0x1b2c69){try{jsonpatch['apply'](_0x1b2c69,_0x110f9f,!![]);}catch(_0x626b37){return BPromise['reject'](_0x626b37);}return _0x1b2c69[_0x98ca('0x24')]();};}function saveUpdates(_0x2fe568,_0x50f8b4){return function(_0x5ca905){if(_0x5ca905){return _0x5ca905[_0x98ca('0x25')](_0x2fe568)[_0x98ca('0x26')](function(_0x130544){return _0x130544;});}return null;};}function removeEntity(_0x519927,_0x2f7742){return function(_0xc23332){if(_0xc23332){return _0xc23332['destroy']()[_0x98ca('0x26')](function(){_0x519927['status'](0xcc)[_0x98ca('0x1d')]();});}};}function handleEntityNotFound(_0x323cdb,_0x430d16){return function(_0x3ec01d){if(!_0x3ec01d){_0x323cdb[_0x98ca('0x27')](0x194);}return _0x3ec01d;};}function handleError(_0xe5091e,_0x2a59e3){_0x2a59e3=_0x2a59e3||0x1f4;return function(_0x50b1a2){logger[_0x98ca('0x28')](_0x50b1a2['stack']);if(_0x50b1a2[_0x98ca('0x29')]){delete _0x50b1a2[_0x98ca('0x29')];}_0xe5091e['status'](_0x2a59e3)[_0x98ca('0x2a')](_0x50b1a2);};}exports['update']=function(_0x214649,_0x4f48db){if(_0x214649['body']['id']){delete _0x214649[_0x98ca('0x2b')]['id'];}return db['Action'][_0x98ca('0x2c')]({'where':{'id':_0x214649[_0x98ca('0x2d')]['id']}})[_0x98ca('0x26')](handleEntityNotFound(_0x4f48db,null))[_0x98ca('0x26')](saveUpdates(_0x214649[_0x98ca('0x2b')],null))[_0x98ca('0x26')](respondWithResult(_0x4f48db,null))[_0x98ca('0x2e')](handleError(_0x4f48db,null));};exports[_0x98ca('0x2f')]=function(_0x447881,_0x4f2406){return db[_0x98ca('0x30')]['find']({'where':{'id':_0x447881[_0x98ca('0x2d')]['id']}})[_0x98ca('0x26')](handleEntityNotFound(_0x4f2406,null))['then'](removeEntity(_0x4f2406,null))['catch'](handleError(_0x4f2406,null));};