4aaa92b1ba3c9048e41ffec8fa67f02035bacb91
[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 _0x13c5=['status','json','limit','apply','reject','save','then','destroy','error','stack','name','send','body','Action','params','catch','find','html-pdf','bluebird','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','sendStatus'];(function(_0x1aeb42,_0x1900e5){var _0x5cbfc8=function(_0x3676d9){while(--_0x3676d9){_0x1aeb42['push'](_0x1aeb42['shift']());}};_0x5cbfc8(++_0x1900e5);}(_0x13c5,0x7a));var _0x513c=function(_0x3311f9,_0x2309aa){_0x3311f9=_0x3311f9-0x0;var _0x5b71c1=_0x13c5[_0x3311f9];return _0x5b71c1;};'use strict';var pdf=require(_0x513c('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x513c('0x1'));var Mustache=require('mustache');var util=require('util');var path=require(_0x513c('0x2'));var sox=require(_0x513c('0x3'));var csv=require(_0x513c('0x4'));var ejs=require(_0x513c('0x5'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x513c('0x6'));var jsforce=require(_0x513c('0x7'));var deskjs=require(_0x513c('0x8'));var toCsv=require(_0x513c('0x4'));var querystring=require(_0x513c('0x9'));var Papa=require(_0x513c('0xa'));var Redis=require(_0x513c('0xb'));var authService=require(_0x513c('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x513c('0xd'));var hardwareService=require(_0x513c('0xe'));var logger=require('../../config/logger')('api');var utils=require(_0x513c('0xf'));var config=require(_0x513c('0x10'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4d8274,_0xae7c0d){_0xae7c0d=_0xae7c0d||0xcc;return function(_0x4b4661){if(_0x4b4661){return _0x4d8274[_0x513c('0x11')](_0xae7c0d);}return _0x4d8274[_0x513c('0x12')](_0xae7c0d)['end']();};}function respondWithResult(_0x1f7f70,_0xe3bae8){_0xe3bae8=_0xe3bae8||0xc8;return function(_0x29fa69){if(_0x29fa69){return _0x1f7f70[_0x513c('0x12')](_0xe3bae8)[_0x513c('0x13')](_0x29fa69);}};}function respondWithFilteredResult(_0x57f359,_0x31cad0){return function(_0x592bbb){if(_0x592bbb){var _0x242311=_0x592bbb['count'],_0x380a0a=_0x31cad0['offset'],_0x3d0a3f=_0x31cad0['offset']+_0x31cad0[_0x513c('0x14')],_0x2fd03e;if(_0x3d0a3f>=_0x242311){_0x3d0a3f=_0x242311;_0x2fd03e=0xc8;}else{_0x2fd03e=0xce;}_0x57f359[_0x513c('0x12')](_0x2fd03e);return _0x57f359['set']('Content-Range',_0x380a0a+'-'+_0x3d0a3f+'/'+_0x242311)[_0x513c('0x13')](_0x592bbb);}return null;};}function patchUpdates(_0xaa7657){return function(_0x3c4ab){try{jsonpatch[_0x513c('0x15')](_0x3c4ab,_0xaa7657,!![]);}catch(_0x4e5a78){return BPromise[_0x513c('0x16')](_0x4e5a78);}return _0x3c4ab[_0x513c('0x17')]();};}function saveUpdates(_0x24a9c7,_0x1d547a){return function(_0x132af7){if(_0x132af7){return _0x132af7['update'](_0x24a9c7)[_0x513c('0x18')](function(_0x47a67c){return _0x47a67c;});}return null;};}function removeEntity(_0xea28b3,_0x13cfe1){return function(_0x9dc7ba){if(_0x9dc7ba){return _0x9dc7ba[_0x513c('0x19')]()[_0x513c('0x18')](function(){_0xea28b3['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x23ef79,_0x390f1e){return function(_0x58dea0){if(!_0x58dea0){_0x23ef79[_0x513c('0x11')](0x194);}return _0x58dea0;};}function handleError(_0x28c0ee,_0x4bc5f5){_0x4bc5f5=_0x4bc5f5||0x1f4;return function(_0x206e5b){logger[_0x513c('0x1a')](_0x206e5b[_0x513c('0x1b')]);if(_0x206e5b[_0x513c('0x1c')]){delete _0x206e5b[_0x513c('0x1c')];}_0x28c0ee[_0x513c('0x12')](_0x4bc5f5)[_0x513c('0x1d')](_0x206e5b);};}exports['update']=function(_0x398b01,_0x100181){if(_0x398b01[_0x513c('0x1e')]['id']){delete _0x398b01[_0x513c('0x1e')]['id'];}return db[_0x513c('0x1f')]['find']({'where':{'id':_0x398b01[_0x513c('0x20')]['id']}})[_0x513c('0x18')](handleEntityNotFound(_0x100181,null))[_0x513c('0x18')](saveUpdates(_0x398b01[_0x513c('0x1e')],null))[_0x513c('0x18')](respondWithResult(_0x100181,null))[_0x513c('0x21')](handleError(_0x100181,null));};exports['destroy']=function(_0x564ef8,_0x3e642b){return db['Action'][_0x513c('0x22')]({'where':{'id':_0x564ef8[_0x513c('0x20')]['id']}})[_0x513c('0x18')](handleEntityNotFound(_0x3e642b,null))['then'](removeEntity(_0x3e642b,null))[_0x513c('0x21')](handleError(_0x3e642b,null));};