Built motion from commit 639a1a7f.|2.6.19
[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 _0x9d23=['jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','update','destroy','then','error','name','body','Action','params','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto'];(function(_0x3f9221,_0x354a0f){var _0x4b09a8=function(_0x2661ab){while(--_0x2661ab){_0x3f9221['push'](_0x3f9221['shift']());}};_0x4b09a8(++_0x354a0f);}(_0x9d23,0x1d6));var _0x39d2=function(_0x517919,_0x54d4d7){_0x517919=_0x517919-0x0;var _0x4f1f20=_0x9d23[_0x517919];return _0x4f1f20;};'use strict';var emlformat=require(_0x39d2('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x39d2('0x1'));var jsonpatch=require(_0x39d2('0x2'));var rp=require('request-promise');var moment=require(_0x39d2('0x3'));var BPromise=require(_0x39d2('0x4'));var Mustache=require(_0x39d2('0x5'));var util=require(_0x39d2('0x6'));var path=require('path');var sox=require(_0x39d2('0x7'));var csv=require(_0x39d2('0x8'));var ejs=require(_0x39d2('0x9'));var fs=require('fs');var fs_extra=require(_0x39d2('0xa'));var _=require(_0x39d2('0xb'));var squel=require(_0x39d2('0xc'));var crypto=require(_0x39d2('0xd'));var jsforce=require(_0x39d2('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x39d2('0x8'));var querystring=require(_0x39d2('0xf'));var Papa=require(_0x39d2('0x10'));var Redis=require('ioredis');var authService=require(_0x39d2('0x11'));var qs=require(_0x39d2('0x12'));var as=require(_0x39d2('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x39d2('0x14'))(_0x39d2('0x15'));var utils=require(_0x39d2('0x16'));var config=require(_0x39d2('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x39d2('0x18'))['db'];function respondWithStatusCode(_0x1b7ceb,_0x526cf3){_0x526cf3=_0x526cf3||0xcc;return function(_0x5a1976){if(_0x5a1976){return _0x1b7ceb[_0x39d2('0x19')](_0x526cf3);}return _0x1b7ceb[_0x39d2('0x1a')](_0x526cf3)[_0x39d2('0x1b')]();};}function respondWithResult(_0xcf5439,_0x12c1ee){_0x12c1ee=_0x12c1ee||0xc8;return function(_0x573ce5){if(_0x573ce5){return _0xcf5439[_0x39d2('0x1a')](_0x12c1ee)[_0x39d2('0x1c')](_0x573ce5);}};}function respondWithFilteredResult(_0x38c7b5,_0x5120be){return function(_0x10bcc9){if(_0x10bcc9){var _0x46703b=typeof _0x5120be[_0x39d2('0x1d')]===_0x39d2('0x1e')&&typeof _0x5120be['limit']===_0x39d2('0x1e');var _0x4388bb=_0x10bcc9[_0x39d2('0x1f')];var _0x986e4d=_0x46703b?0x0:_0x5120be['offset'];var _0x102d1a=_0x46703b?_0x10bcc9['count']:_0x5120be[_0x39d2('0x1d')]+_0x5120be['limit'];var _0x4791c2;if(_0x102d1a>=_0x4388bb){_0x102d1a=_0x4388bb;_0x4791c2=0xc8;}else{_0x4791c2=0xce;}_0x38c7b5['status'](_0x4791c2);return _0x38c7b5[_0x39d2('0x20')](_0x39d2('0x21'),_0x986e4d+'-'+_0x102d1a+'/'+_0x4388bb)[_0x39d2('0x1c')](_0x10bcc9);}return null;};}function patchUpdates(_0xac2b56){return function(_0x56f564){try{jsonpatch[_0x39d2('0x22')](_0x56f564,_0xac2b56,!![]);}catch(_0x456cbc){return BPromise[_0x39d2('0x23')](_0x456cbc);}return _0x56f564['save']();};}function saveUpdates(_0x2dbf3c,_0x38f9b9){return function(_0x18af58){if(_0x18af58){return _0x18af58[_0x39d2('0x24')](_0x2dbf3c)['then'](function(_0xf50a74){return _0xf50a74;});}return null;};}function removeEntity(_0x2e78b9,_0x452671){return function(_0x26d089){if(_0x26d089){return _0x26d089[_0x39d2('0x25')]()[_0x39d2('0x26')](function(){_0x2e78b9[_0x39d2('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x43b86c,_0x53f555){return function(_0x4177f1){if(!_0x4177f1){_0x43b86c[_0x39d2('0x19')](0x194);}return _0x4177f1;};}function handleError(_0x400d47,_0x9c7cea){_0x9c7cea=_0x9c7cea||0x1f4;return function(_0x40b7c0){logger[_0x39d2('0x27')](_0x40b7c0['stack']);if(_0x40b7c0[_0x39d2('0x28')]){delete _0x40b7c0['name'];}_0x400d47[_0x39d2('0x1a')](_0x9c7cea)['send'](_0x40b7c0);};}exports[_0x39d2('0x24')]=function(_0xea1384,_0xc127eb){if(_0xea1384[_0x39d2('0x29')]['id']){delete _0xea1384[_0x39d2('0x29')]['id'];}return db['Action']['find']({'where':{'id':_0xea1384['params']['id']}})['then'](handleEntityNotFound(_0xc127eb,null))['then'](saveUpdates(_0xea1384[_0x39d2('0x29')],null))['then'](respondWithResult(_0xc127eb,null))['catch'](handleError(_0xc127eb,null));};exports[_0x39d2('0x25')]=function(_0x3173dc,_0x556fdd){return db[_0x39d2('0x2a')]['find']({'where':{'id':_0x3173dc[_0x39d2('0x2b')]['id']}})[_0x39d2('0x26')](handleEntityNotFound(_0x556fdd,null))[_0x39d2('0x26')](removeEntity(_0x556fdd,null))['catch'](handleError(_0x556fdd,null));};