d389e02778d50557c4f2ac146f8f601c9da2094f
[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 _0x906e=['ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../mysqldb','sendStatus','end','status','json','undefined','limit','count','offset','Content-Range','apply','reject','then','error','stack','name','update','body','Action','find','params','catch','destroy','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','to-csv','fs-extra','lodash','crypto','desk.js','querystring','papaparse'];(function(_0x4d53bd,_0x324851){var _0x1c5c83=function(_0xd8e172){while(--_0xd8e172){_0x4d53bd['push'](_0x4d53bd['shift']());}};_0x1c5c83(++_0x324851);}(_0x906e,0x1eb));var _0xe906=function(_0x2067e3,_0x19bcb2){_0x2067e3=_0x2067e3-0x0;var _0x180c44=_0x906e[_0x2067e3];return _0x180c44;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe906('0x0'));var zipdir=require(_0xe906('0x1'));var jsonpatch=require(_0xe906('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xe906('0x3'));var Mustache=require(_0xe906('0x4'));var util=require(_0xe906('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0xe906('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe906('0x7'));var _=require(_0xe906('0x8'));var squel=require('squel');var crypto=require(_0xe906('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xe906('0xa'));var toCsv=require('to-csv');var querystring=require(_0xe906('0xb'));var Papa=require(_0xe906('0xc'));var Redis=require(_0xe906('0xd'));var authService=require(_0xe906('0xe'));var qs=require(_0xe906('0xf'));var as=require(_0xe906('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe906('0x11'))('api');var utils=require('../../config/utils');var config=require(_0xe906('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xe906('0x13'))['db'];function respondWithStatusCode(_0x3b29a1,_0x4bf198){_0x4bf198=_0x4bf198||0xcc;return function(_0xf692f5){if(_0xf692f5){return _0x3b29a1[_0xe906('0x14')](_0x4bf198);}return _0x3b29a1['status'](_0x4bf198)[_0xe906('0x15')]();};}function respondWithResult(_0x152053,_0x396a6c){_0x396a6c=_0x396a6c||0xc8;return function(_0x164f93){if(_0x164f93){return _0x152053[_0xe906('0x16')](_0x396a6c)[_0xe906('0x17')](_0x164f93);}};}function respondWithFilteredResult(_0xb426f2,_0x4394e5){return function(_0x592f0f){if(_0x592f0f){var _0x27b4a1=typeof _0x4394e5['offset']===_0xe906('0x18')&&typeof _0x4394e5[_0xe906('0x19')]===_0xe906('0x18');var _0x3954ea=_0x592f0f[_0xe906('0x1a')];var _0x2a89c3=_0x27b4a1?0x0:_0x4394e5[_0xe906('0x1b')];var _0x154193=_0x27b4a1?_0x592f0f['count']:_0x4394e5[_0xe906('0x1b')]+_0x4394e5[_0xe906('0x19')];var _0x42b10c;if(_0x154193>=_0x3954ea){_0x154193=_0x3954ea;_0x42b10c=0xc8;}else{_0x42b10c=0xce;}_0xb426f2[_0xe906('0x16')](_0x42b10c);return _0xb426f2['set'](_0xe906('0x1c'),_0x2a89c3+'-'+_0x154193+'/'+_0x3954ea)[_0xe906('0x17')](_0x592f0f);}return null;};}function patchUpdates(_0x1007f7){return function(_0x3c7792){try{jsonpatch[_0xe906('0x1d')](_0x3c7792,_0x1007f7,!![]);}catch(_0x552823){return BPromise[_0xe906('0x1e')](_0x552823);}return _0x3c7792['save']();};}function saveUpdates(_0x351536,_0x500fec){return function(_0x9e0007){if(_0x9e0007){return _0x9e0007['update'](_0x351536)['then'](function(_0x21c473){return _0x21c473;});}return null;};}function removeEntity(_0x4ba680,_0x63d8cd){return function(_0x4dfa45){if(_0x4dfa45){return _0x4dfa45['destroy']()[_0xe906('0x1f')](function(){_0x4ba680[_0xe906('0x16')](0xcc)[_0xe906('0x15')]();});}};}function handleEntityNotFound(_0xd2e7ac,_0x3210d2){return function(_0x3cf282){if(!_0x3cf282){_0xd2e7ac[_0xe906('0x14')](0x194);}return _0x3cf282;};}function handleError(_0x433f79,_0x5378dc){_0x5378dc=_0x5378dc||0x1f4;return function(_0x54ecf1){logger[_0xe906('0x20')](_0x54ecf1[_0xe906('0x21')]);if(_0x54ecf1[_0xe906('0x22')]){delete _0x54ecf1[_0xe906('0x22')];}_0x433f79['status'](_0x5378dc)['send'](_0x54ecf1);};}exports[_0xe906('0x23')]=function(_0x52f11c,_0x4cf232){if(_0x52f11c[_0xe906('0x24')]['id']){delete _0x52f11c[_0xe906('0x24')]['id'];}return db[_0xe906('0x25')][_0xe906('0x26')]({'where':{'id':_0x52f11c[_0xe906('0x27')]['id']}})[_0xe906('0x1f')](handleEntityNotFound(_0x4cf232,null))[_0xe906('0x1f')](saveUpdates(_0x52f11c['body'],null))['then'](respondWithResult(_0x4cf232,null))[_0xe906('0x28')](handleError(_0x4cf232,null));};exports[_0xe906('0x29')]=function(_0x5c01fc,_0x1ab16b){return db[_0xe906('0x25')][_0xe906('0x26')]({'where':{'id':_0x5c01fc[_0xe906('0x27')]['id']}})[_0xe906('0x1f')](handleEntityNotFound(_0x1ab16b,null))[_0xe906('0x1f')](removeEntity(_0x1ab16b,null))[_0xe906('0x28')](handleError(_0x1ab16b,null));};