Built motion from commit d5e4af8c.|2.6.23
[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 _0x3d87=['mustache','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','body','Action','find','params','eml-format','rimraf','zip-dir','fast-json-patch','moment'];(function(_0x325501,_0x5242f6){var _0x2c1626=function(_0x4270b2){while(--_0x4270b2){_0x325501['push'](_0x325501['shift']());}};_0x2c1626(++_0x5242f6);}(_0x3d87,0x82));var _0x73d8=function(_0x311c35,_0x534915){_0x311c35=_0x311c35-0x0;var _0x5cc50c=_0x3d87[_0x311c35];return _0x5cc50c;};'use strict';var emlformat=require(_0x73d8('0x0'));var rimraf=require(_0x73d8('0x1'));var zipdir=require(_0x73d8('0x2'));var jsonpatch=require(_0x73d8('0x3'));var rp=require('request-promise');var moment=require(_0x73d8('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x73d8('0x5'));var util=require('util');var path=require('path');var sox=require(_0x73d8('0x6'));var csv=require(_0x73d8('0x7'));var ejs=require(_0x73d8('0x8'));var fs=require('fs');var fs_extra=require(_0x73d8('0x9'));var _=require(_0x73d8('0xa'));var squel=require('squel');var crypto=require(_0x73d8('0xb'));var jsforce=require(_0x73d8('0xc'));var deskjs=require(_0x73d8('0xd'));var toCsv=require(_0x73d8('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x73d8('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x73d8('0xf'));var as=require(_0x73d8('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x73d8('0x11'))(_0x73d8('0x12'));var utils=require(_0x73d8('0x13'));var config=require(_0x73d8('0x14'));var licenseUtil=require(_0x73d8('0x15'));var db=require(_0x73d8('0x16'))['db'];function respondWithStatusCode(_0x5713f2,_0x20248c){_0x20248c=_0x20248c||0xcc;return function(_0x2d7bf1){if(_0x2d7bf1){return _0x5713f2[_0x73d8('0x17')](_0x20248c);}return _0x5713f2[_0x73d8('0x18')](_0x20248c)[_0x73d8('0x19')]();};}function respondWithResult(_0x3c0d07,_0x26faa1){_0x26faa1=_0x26faa1||0xc8;return function(_0x32a5c1){if(_0x32a5c1){return _0x3c0d07[_0x73d8('0x18')](_0x26faa1)[_0x73d8('0x1a')](_0x32a5c1);}};}function respondWithFilteredResult(_0x514d4b,_0x5b8249){return function(_0x35c8e3){if(_0x35c8e3){var _0x55f9f5=typeof _0x5b8249[_0x73d8('0x1b')]===_0x73d8('0x1c')&&typeof _0x5b8249['limit']===_0x73d8('0x1c');var _0x473ebf=_0x35c8e3[_0x73d8('0x1d')];var _0x37a9c8=_0x55f9f5?0x0:_0x5b8249[_0x73d8('0x1b')];var _0x4cae5d=_0x55f9f5?_0x35c8e3[_0x73d8('0x1d')]:_0x5b8249['offset']+_0x5b8249['limit'];var _0x2fc206;if(_0x4cae5d>=_0x473ebf){_0x4cae5d=_0x473ebf;_0x2fc206=0xc8;}else{_0x2fc206=0xce;}_0x514d4b['status'](_0x2fc206);return _0x514d4b['set'](_0x73d8('0x1e'),_0x37a9c8+'-'+_0x4cae5d+'/'+_0x473ebf)[_0x73d8('0x1a')](_0x35c8e3);}return null;};}function patchUpdates(_0x280619){return function(_0x1f7a36){try{jsonpatch[_0x73d8('0x1f')](_0x1f7a36,_0x280619,!![]);}catch(_0x4f7741){return BPromise[_0x73d8('0x20')](_0x4f7741);}return _0x1f7a36[_0x73d8('0x21')]();};}function saveUpdates(_0x25e36a,_0x5096b6){return function(_0x53014e){if(_0x53014e){return _0x53014e[_0x73d8('0x22')](_0x25e36a)[_0x73d8('0x23')](function(_0x3c0fa3){return _0x3c0fa3;});}return null;};}function removeEntity(_0x443ab9,_0x51c8a0){return function(_0x881aab){if(_0x881aab){return _0x881aab[_0x73d8('0x24')]()[_0x73d8('0x23')](function(){_0x443ab9['status'](0xcc)[_0x73d8('0x19')]();});}};}function handleEntityNotFound(_0x5a1c1b,_0x20040b){return function(_0x3e9157){if(!_0x3e9157){_0x5a1c1b[_0x73d8('0x17')](0x194);}return _0x3e9157;};}function handleError(_0x43135f,_0x37a44f){_0x37a44f=_0x37a44f||0x1f4;return function(_0x3aa69e){logger[_0x73d8('0x25')](_0x3aa69e[_0x73d8('0x26')]);if(_0x3aa69e[_0x73d8('0x27')]){delete _0x3aa69e[_0x73d8('0x27')];}_0x43135f[_0x73d8('0x18')](_0x37a44f)[_0x73d8('0x28')](_0x3aa69e);};}exports[_0x73d8('0x22')]=function(_0x2f9f89,_0x1cef07){if(_0x2f9f89[_0x73d8('0x29')]['id']){delete _0x2f9f89['body']['id'];}return db[_0x73d8('0x2a')][_0x73d8('0x2b')]({'where':{'id':_0x2f9f89[_0x73d8('0x2c')]['id']}})[_0x73d8('0x23')](handleEntityNotFound(_0x1cef07,null))[_0x73d8('0x23')](saveUpdates(_0x2f9f89[_0x73d8('0x29')],null))['then'](respondWithResult(_0x1cef07,null))['catch'](handleError(_0x1cef07,null));};exports[_0x73d8('0x24')]=function(_0x400380,_0x3dad6c){return db[_0x73d8('0x2a')][_0x73d8('0x2b')]({'where':{'id':_0x400380[_0x73d8('0x2c')]['id']}})[_0x73d8('0x23')](handleEntityNotFound(_0x3dad6c,null))[_0x73d8('0x23')](removeEntity(_0x3dad6c,null))['catch'](handleError(_0x3dad6c,null));};