Built motion from commit 449495f6.|2.6.27
[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 _0xd7ff=['ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','stack','name','send','body','Action','find','params','catch','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse'];(function(_0x303616,_0xa105d9){var _0xe86373=function(_0x38cc79){while(--_0x38cc79){_0x303616['push'](_0x303616['shift']());}};_0xe86373(++_0xa105d9);}(_0xd7ff,0x17d));var _0xfd7f=function(_0x5d7ef8,_0x190075){_0x5d7ef8=_0x5d7ef8-0x0;var _0x306a8d=_0xd7ff[_0x5d7ef8];return _0x306a8d;};'use strict';var emlformat=require(_0xfd7f('0x0'));var rimraf=require(_0xfd7f('0x1'));var zipdir=require(_0xfd7f('0x2'));var jsonpatch=require(_0xfd7f('0x3'));var rp=require('request-promise');var moment=require(_0xfd7f('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xfd7f('0x5'));var util=require(_0xfd7f('0x6'));var path=require(_0xfd7f('0x7'));var sox=require(_0xfd7f('0x8'));var csv=require('to-csv');var ejs=require(_0xfd7f('0x9'));var fs=require('fs');var fs_extra=require(_0xfd7f('0xa'));var _=require(_0xfd7f('0xb'));var squel=require(_0xfd7f('0xc'));var crypto=require(_0xfd7f('0xd'));var jsforce=require(_0xfd7f('0xe'));var deskjs=require(_0xfd7f('0xf'));var toCsv=require(_0xfd7f('0x10'));var querystring=require(_0xfd7f('0x11'));var Papa=require(_0xfd7f('0x12'));var Redis=require(_0xfd7f('0x13'));var authService=require(_0xfd7f('0x14'));var qs=require(_0xfd7f('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfd7f('0x16'));var logger=require(_0xfd7f('0x17'))(_0xfd7f('0x18'));var utils=require('../../config/utils');var config=require(_0xfd7f('0x19'));var licenseUtil=require(_0xfd7f('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x11af8b,_0x1401b5){_0x1401b5=_0x1401b5||0xcc;return function(_0x102746){if(_0x102746){return _0x11af8b[_0xfd7f('0x1b')](_0x1401b5);}return _0x11af8b[_0xfd7f('0x1c')](_0x1401b5)[_0xfd7f('0x1d')]();};}function respondWithResult(_0x2f6e28,_0x586e12){_0x586e12=_0x586e12||0xc8;return function(_0x396e25){if(_0x396e25){return _0x2f6e28[_0xfd7f('0x1c')](_0x586e12)[_0xfd7f('0x1e')](_0x396e25);}};}function respondWithFilteredResult(_0xa96aca,_0x4f9e33){return function(_0x1b0659){if(_0x1b0659){var _0x27b91a=typeof _0x4f9e33['offset']===_0xfd7f('0x1f')&&typeof _0x4f9e33[_0xfd7f('0x20')]===_0xfd7f('0x1f');var _0x4d90e9=_0x1b0659[_0xfd7f('0x21')];var _0x5df5a3=_0x27b91a?0x0:_0x4f9e33[_0xfd7f('0x22')];var _0x3d61a6=_0x27b91a?_0x1b0659[_0xfd7f('0x21')]:_0x4f9e33['offset']+_0x4f9e33[_0xfd7f('0x20')];var _0x21cf28;if(_0x3d61a6>=_0x4d90e9){_0x3d61a6=_0x4d90e9;_0x21cf28=0xc8;}else{_0x21cf28=0xce;}_0xa96aca[_0xfd7f('0x1c')](_0x21cf28);return _0xa96aca[_0xfd7f('0x23')](_0xfd7f('0x24'),_0x5df5a3+'-'+_0x3d61a6+'/'+_0x4d90e9)['json'](_0x1b0659);}return null;};}function patchUpdates(_0x3b975a){return function(_0xeeb9e9){try{jsonpatch[_0xfd7f('0x25')](_0xeeb9e9,_0x3b975a,!![]);}catch(_0x2326a5){return BPromise[_0xfd7f('0x26')](_0x2326a5);}return _0xeeb9e9[_0xfd7f('0x27')]();};}function saveUpdates(_0x49a0b6,_0xe5d228){return function(_0x260f7f){if(_0x260f7f){return _0x260f7f[_0xfd7f('0x28')](_0x49a0b6)[_0xfd7f('0x29')](function(_0x39ca52){return _0x39ca52;});}return null;};}function removeEntity(_0x697382,_0x353e5e){return function(_0x1b5eca){if(_0x1b5eca){return _0x1b5eca['destroy']()[_0xfd7f('0x29')](function(){_0x697382[_0xfd7f('0x1c')](0xcc)[_0xfd7f('0x1d')]();});}};}function handleEntityNotFound(_0x4c735b,_0x3aa4b1){return function(_0x81ca6){if(!_0x81ca6){_0x4c735b[_0xfd7f('0x1b')](0x194);}return _0x81ca6;};}function handleError(_0x1f2c02,_0x37efd3){_0x37efd3=_0x37efd3||0x1f4;return function(_0x490592){logger['error'](_0x490592[_0xfd7f('0x2a')]);if(_0x490592[_0xfd7f('0x2b')]){delete _0x490592[_0xfd7f('0x2b')];}_0x1f2c02[_0xfd7f('0x1c')](_0x37efd3)[_0xfd7f('0x2c')](_0x490592);};}exports[_0xfd7f('0x28')]=function(_0x54047f,_0x10d62f){if(_0x54047f[_0xfd7f('0x2d')]['id']){delete _0x54047f[_0xfd7f('0x2d')]['id'];}return db[_0xfd7f('0x2e')][_0xfd7f('0x2f')]({'where':{'id':_0x54047f[_0xfd7f('0x30')]['id']}})[_0xfd7f('0x29')](handleEntityNotFound(_0x10d62f,null))[_0xfd7f('0x29')](saveUpdates(_0x54047f[_0xfd7f('0x2d')],null))[_0xfd7f('0x29')](respondWithResult(_0x10d62f,null))['catch'](handleError(_0x10d62f,null));};exports['destroy']=function(_0x4d4eb2,_0x575f35){return db[_0xfd7f('0x2e')][_0xfd7f('0x2f')]({'where':{'id':_0x4d4eb2[_0xfd7f('0x30')]['id']}})[_0xfd7f('0x29')](handleEntityNotFound(_0x575f35,null))['then'](removeEntity(_0x575f35,null))[_0xfd7f('0x31')](handleError(_0x575f35,null));};