257c80dcf3ccf9430d80010677d65dba09fda728
[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 _0x8e38=['squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','body','Action','find','params','catch','destroy','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','to-csv','ejs','fs-extra'];(function(_0x4c445a,_0x4ee80f){var _0x2f611c=function(_0x4f3699){while(--_0x4f3699){_0x4c445a['push'](_0x4c445a['shift']());}};_0x2f611c(++_0x4ee80f);}(_0x8e38,0x1cd));var _0x88e3=function(_0x2a672e,_0x5aa935){_0x2a672e=_0x2a672e-0x0;var _0x41c30e=_0x8e38[_0x2a672e];return _0x41c30e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x88e3('0x0'));var zipdir=require(_0x88e3('0x1'));var jsonpatch=require(_0x88e3('0x2'));var rp=require(_0x88e3('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x88e3('0x4'));var util=require('util');var path=require(_0x88e3('0x5'));var sox=require('sox');var csv=require(_0x88e3('0x6'));var ejs=require(_0x88e3('0x7'));var fs=require('fs');var fs_extra=require(_0x88e3('0x8'));var _=require('lodash');var squel=require(_0x88e3('0x9'));var crypto=require(_0x88e3('0xa'));var jsforce=require(_0x88e3('0xb'));var deskjs=require(_0x88e3('0xc'));var toCsv=require(_0x88e3('0x6'));var querystring=require('querystring');var Papa=require(_0x88e3('0xd'));var Redis=require(_0x88e3('0xe'));var authService=require(_0x88e3('0xf'));var qs=require(_0x88e3('0x10'));var as=require(_0x88e3('0x11'));var hardwareService=require(_0x88e3('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0x88e3('0x13'));var config=require(_0x88e3('0x14'));var licenseUtil=require(_0x88e3('0x15'));var db=require(_0x88e3('0x16'))['db'];function respondWithStatusCode(_0x53c912,_0x163c45){_0x163c45=_0x163c45||0xcc;return function(_0x15504b){if(_0x15504b){return _0x53c912[_0x88e3('0x17')](_0x163c45);}return _0x53c912[_0x88e3('0x18')](_0x163c45)[_0x88e3('0x19')]();};}function respondWithResult(_0x23caa2,_0x2a6766){_0x2a6766=_0x2a6766||0xc8;return function(_0x3d5c1d){if(_0x3d5c1d){return _0x23caa2[_0x88e3('0x18')](_0x2a6766)[_0x88e3('0x1a')](_0x3d5c1d);}};}function respondWithFilteredResult(_0x549db3,_0x1b2f4e){return function(_0x4cbfe5){if(_0x4cbfe5){var _0x7d8301=typeof _0x1b2f4e[_0x88e3('0x1b')]===_0x88e3('0x1c')&&typeof _0x1b2f4e['limit']===_0x88e3('0x1c');var _0x517906=_0x4cbfe5[_0x88e3('0x1d')];var _0x54ff2f=_0x7d8301?0x0:_0x1b2f4e[_0x88e3('0x1b')];var _0x496334=_0x7d8301?_0x4cbfe5['count']:_0x1b2f4e[_0x88e3('0x1b')]+_0x1b2f4e[_0x88e3('0x1e')];var _0x477a86;if(_0x496334>=_0x517906){_0x496334=_0x517906;_0x477a86=0xc8;}else{_0x477a86=0xce;}_0x549db3[_0x88e3('0x18')](_0x477a86);return _0x549db3[_0x88e3('0x1f')](_0x88e3('0x20'),_0x54ff2f+'-'+_0x496334+'/'+_0x517906)['json'](_0x4cbfe5);}return null;};}function patchUpdates(_0x3d65b2){return function(_0x2e0da5){try{jsonpatch[_0x88e3('0x21')](_0x2e0da5,_0x3d65b2,!![]);}catch(_0x132169){return BPromise[_0x88e3('0x22')](_0x132169);}return _0x2e0da5[_0x88e3('0x23')]();};}function saveUpdates(_0x3b7894,_0x1f6296){return function(_0xd9a08c){if(_0xd9a08c){return _0xd9a08c[_0x88e3('0x24')](_0x3b7894)[_0x88e3('0x25')](function(_0x3c87c0){return _0x3c87c0;});}return null;};}function removeEntity(_0x102d69,_0x4b5820){return function(_0x280f37){if(_0x280f37){return _0x280f37['destroy']()[_0x88e3('0x25')](function(){_0x102d69[_0x88e3('0x18')](0xcc)[_0x88e3('0x19')]();});}};}function handleEntityNotFound(_0x2189e2,_0x3ce2bb){return function(_0x7bc597){if(!_0x7bc597){_0x2189e2['sendStatus'](0x194);}return _0x7bc597;};}function handleError(_0x4f7892,_0x4d83e9){_0x4d83e9=_0x4d83e9||0x1f4;return function(_0x928f13){logger[_0x88e3('0x26')](_0x928f13[_0x88e3('0x27')]);if(_0x928f13[_0x88e3('0x28')]){delete _0x928f13[_0x88e3('0x28')];}_0x4f7892[_0x88e3('0x18')](_0x4d83e9)['send'](_0x928f13);};}exports[_0x88e3('0x24')]=function(_0x5f5dba,_0x86abe){if(_0x5f5dba[_0x88e3('0x29')]['id']){delete _0x5f5dba[_0x88e3('0x29')]['id'];}return db[_0x88e3('0x2a')][_0x88e3('0x2b')]({'where':{'id':_0x5f5dba[_0x88e3('0x2c')]['id']}})[_0x88e3('0x25')](handleEntityNotFound(_0x86abe,null))[_0x88e3('0x25')](saveUpdates(_0x5f5dba['body'],null))[_0x88e3('0x25')](respondWithResult(_0x86abe,null))[_0x88e3('0x2d')](handleError(_0x86abe,null));};exports[_0x88e3('0x2e')]=function(_0x398727,_0x427609){return db['Action'][_0x88e3('0x2b')]({'where':{'id':_0x398727[_0x88e3('0x2c')]['id']}})['then'](handleEntityNotFound(_0x427609,null))[_0x88e3('0x25')](removeEntity(_0x427609,null))[_0x88e3('0x2d')](handleError(_0x427609,null));};