Built motion from commit 9d1906d1.|2.5.40
[motion2.git] / server / api / intServicenowConfiguration / intServicenowConfiguration.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 _0x05b6=['stack','name','send','index','ServicenowConfiguration','type','map','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','update','body','getFields','findOne','pick','getSubjects','ServicenowField','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','offset','limit','count','Content-Range','json','apply','destroy','then','error'];(function(_0x52df9d,_0x33d4c3){var _0x4c367d=function(_0x3bfb3f){while(--_0x3bfb3f){_0x52df9d['push'](_0x52df9d['shift']());}};_0x4c367d(++_0x33d4c3);}(_0x05b6,0x1aa));var _0x605b=function(_0x25e995,_0x143cdc){_0x25e995=_0x25e995-0x0;var _0x446a58=_0x05b6[_0x25e995];return _0x446a58;};'use strict';var emlformat=require(_0x605b('0x0'));var rimraf=require(_0x605b('0x1'));var zipdir=require(_0x605b('0x2'));var jsonpatch=require(_0x605b('0x3'));var rp=require('request-promise');var moment=require(_0x605b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x605b('0x5'));var util=require('util');var path=require(_0x605b('0x6'));var sox=require(_0x605b('0x7'));var csv=require(_0x605b('0x8'));var ejs=require(_0x605b('0x9'));var fs=require('fs');var fs_extra=require(_0x605b('0xa'));var _=require(_0x605b('0xb'));var squel=require('squel');var crypto=require(_0x605b('0xc'));var jsforce=require(_0x605b('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x605b('0x8'));var querystring=require(_0x605b('0xe'));var Papa=require(_0x605b('0xf'));var Redis=require(_0x605b('0x10'));var authService=require(_0x605b('0x11'));var qs=require(_0x605b('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x605b('0x13'));var logger=require(_0x605b('0x14'))(_0x605b('0x15'));var utils=require(_0x605b('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x605b('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x12e526,_0x3bb40e){_0x3bb40e=_0x3bb40e||0xcc;return function(_0x8e985c){if(_0x8e985c){return _0x12e526[_0x605b('0x18')](_0x3bb40e);}return _0x12e526[_0x605b('0x19')](_0x3bb40e)[_0x605b('0x1a')]();};}function respondWithResult(_0x31832e,_0x109443){_0x109443=_0x109443||0xc8;return function(_0x2fcde6){if(_0x2fcde6){return _0x31832e['status'](_0x109443)['json'](_0x2fcde6);}};}function respondWithFilteredResult(_0x6a10b8,_0xdbe557){return function(_0x83ef4d){if(_0x83ef4d){var _0x115aae=typeof _0xdbe557[_0x605b('0x1b')]==='undefined'&&typeof _0xdbe557[_0x605b('0x1c')]==='undefined';var _0x18d84d=_0x83ef4d[_0x605b('0x1d')];var _0x506b46=_0x115aae?0x0:_0xdbe557['offset'];var _0x1096e3=_0x115aae?_0x83ef4d[_0x605b('0x1d')]:_0xdbe557[_0x605b('0x1b')]+_0xdbe557[_0x605b('0x1c')];var _0x539da6;if(_0x1096e3>=_0x18d84d){_0x1096e3=_0x18d84d;_0x539da6=0xc8;}else{_0x539da6=0xce;}_0x6a10b8[_0x605b('0x19')](_0x539da6);return _0x6a10b8['set'](_0x605b('0x1e'),_0x506b46+'-'+_0x1096e3+'/'+_0x18d84d)[_0x605b('0x1f')](_0x83ef4d);}return null;};}function patchUpdates(_0x578dc6){return function(_0x2066e4){try{jsonpatch[_0x605b('0x20')](_0x2066e4,_0x578dc6,!![]);}catch(_0x5125dd){return BPromise['reject'](_0x5125dd);}return _0x2066e4['save']();};}function saveUpdates(_0x4d456f,_0x458b79){return function(_0x15f02f){if(_0x15f02f){return _0x15f02f['update'](_0x4d456f)['then'](function(_0x1edd13){return _0x1edd13;});}return null;};}function removeEntity(_0x420f92,_0x2225d1){return function(_0x2df8b7){if(_0x2df8b7){return _0x2df8b7[_0x605b('0x21')]()[_0x605b('0x22')](function(){_0x420f92[_0x605b('0x19')](0xcc)[_0x605b('0x1a')]();});}};}function handleEntityNotFound(_0x2e7828,_0x1f5026){return function(_0x2effdb){if(!_0x2effdb){_0x2e7828[_0x605b('0x18')](0x194);}return _0x2effdb;};}function handleError(_0x10c790,_0x44db7d){_0x44db7d=_0x44db7d||0x1f4;return function(_0x18a907){logger[_0x605b('0x23')](_0x18a907[_0x605b('0x24')]);if(_0x18a907['name']){delete _0x18a907[_0x605b('0x25')];}_0x10c790[_0x605b('0x19')](_0x44db7d)[_0x605b('0x26')](_0x18a907);};}exports[_0x605b('0x27')]=function(_0x4fc3f1,_0x486baa){var _0x551f95={},_0x5959a9={},_0x4f64f3={'count':0x0,'rows':[]};var _0x5c661b=_['map'](db[_0x605b('0x28')]['rawAttributes'],function(_0x3a9c0d){return{'name':_0x3a9c0d['fieldName'],'type':_0x3a9c0d[_0x605b('0x29')]['key']};});_0x5959a9['model']=_[_0x605b('0x2a')](_0x5c661b,'name');_0x5959a9[_0x605b('0x2b')]=_[_0x605b('0x2c')](_0x4fc3f1['query']);_0x5959a9[_0x605b('0x2d')]=_[_0x605b('0x2e')](_0x5959a9['model'],_0x5959a9[_0x605b('0x2b')]);_0x551f95[_0x605b('0x2f')]=_[_0x605b('0x2e')](_0x5959a9[_0x605b('0x30')],qs[_0x605b('0x31')](_0x4fc3f1[_0x605b('0x2b')][_0x605b('0x31')]));_0x551f95[_0x605b('0x2f')]=_0x551f95[_0x605b('0x2f')][_0x605b('0x32')]?_0x551f95['attributes']:_0x5959a9[_0x605b('0x30')];if(!_0x4fc3f1[_0x605b('0x2b')][_0x605b('0x33')](_0x605b('0x34'))){_0x551f95['limit']=qs['limit'](_0x4fc3f1[_0x605b('0x2b')][_0x605b('0x1c')]);_0x551f95[_0x605b('0x1b')]=qs['offset'](_0x4fc3f1[_0x605b('0x2b')][_0x605b('0x1b')]);}_0x551f95[_0x605b('0x35')]=qs[_0x605b('0x36')](_0x4fc3f1[_0x605b('0x2b')][_0x605b('0x36')]);_0x551f95['where']=qs[_0x605b('0x2d')](_['pick'](_0x4fc3f1[_0x605b('0x2b')],_0x5959a9[_0x605b('0x2d')]),_0x5c661b);if(_0x4fc3f1[_0x605b('0x2b')][_0x605b('0x37')]){_0x551f95[_0x605b('0x38')]=_['merge'](_0x551f95['where'],{'$or':_['map'](_0x5c661b,function(_0x357f2d){if(_0x357f2d[_0x605b('0x29')]!==_0x605b('0x39')){var _0xa68d4a={};_0xa68d4a[_0x357f2d[_0x605b('0x25')]]={'$like':'%'+_0x4fc3f1[_0x605b('0x2b')]['filter']+'%'};return _0xa68d4a;}})});}_0x551f95=_[_0x605b('0x3a')]({},_0x551f95,_0x4fc3f1[_0x605b('0x3b')]);var _0xbc406d={'where':_0x551f95[_0x605b('0x38')]};return db[_0x605b('0x28')][_0x605b('0x1d')](_0xbc406d)[_0x605b('0x22')](function(_0x306cd3){_0x4f64f3['count']=_0x306cd3;if(_0x4fc3f1[_0x605b('0x2b')][_0x605b('0x3c')]){_0x551f95[_0x605b('0x3d')]=[{'all':!![]}];}return db[_0x605b('0x28')][_0x605b('0x3e')](_0x551f95);})[_0x605b('0x22')](function(_0x57791a){_0x4f64f3[_0x605b('0x3f')]=_0x57791a;return _0x4f64f3;})[_0x605b('0x22')](respondWithFilteredResult(_0x486baa,_0x551f95))[_0x605b('0x40')](handleError(_0x486baa,null));};exports[_0x605b('0x41')]=function(_0x3265b0,_0x3f21f2){var _0x592c59={'raw':![],'where':{'id':_0x3265b0[_0x605b('0x42')]['id']}},_0x48f478={};_0x48f478[_0x605b('0x30')]=_[_0x605b('0x2c')](db['ServicenowConfiguration'][_0x605b('0x43')]);_0x48f478[_0x605b('0x2b')]=_['keys'](_0x3265b0[_0x605b('0x2b')]);_0x48f478[_0x605b('0x2d')]=_['intersection'](_0x48f478[_0x605b('0x30')],_0x48f478[_0x605b('0x2b')]);_0x592c59[_0x605b('0x2f')]=_[_0x605b('0x2e')](_0x48f478[_0x605b('0x30')],qs[_0x605b('0x31')](_0x3265b0[_0x605b('0x2b')][_0x605b('0x31')]));_0x592c59[_0x605b('0x2f')]=_0x592c59[_0x605b('0x2f')][_0x605b('0x32')]?_0x592c59[_0x605b('0x2f')]:_0x48f478[_0x605b('0x30')];if(_0x3265b0[_0x605b('0x2b')][_0x605b('0x3c')]){_0x592c59[_0x605b('0x3d')]=[{'all':!![]}];}_0x592c59=_[_0x605b('0x3a')]({},_0x592c59,_0x3265b0[_0x605b('0x3b')]);return db[_0x605b('0x28')][_0x605b('0x44')](_0x592c59)['then'](handleEntityNotFound(_0x3f21f2,null))[_0x605b('0x22')](respondWithResult(_0x3f21f2,null))[_0x605b('0x40')](handleError(_0x3f21f2,null));};exports['create']=function(_0x2440ad,_0x41e7bf){return db[_0x605b('0x28')]['create'](_0x2440ad['body'],{})[_0x605b('0x22')](respondWithResult(_0x41e7bf,0xc9))[_0x605b('0x40')](handleError(_0x41e7bf,null));};exports[_0x605b('0x45')]=function(_0x3d909e,_0x2ee036){if(_0x3d909e[_0x605b('0x46')]['id']){delete _0x3d909e[_0x605b('0x46')]['id'];}return db['ServicenowConfiguration'][_0x605b('0x44')]({'where':{'id':_0x3d909e[_0x605b('0x42')]['id']}})[_0x605b('0x22')](handleEntityNotFound(_0x2ee036,null))[_0x605b('0x22')](saveUpdates(_0x3d909e[_0x605b('0x46')],null))['then'](respondWithResult(_0x2ee036,null))['catch'](handleError(_0x2ee036,null));};exports[_0x605b('0x21')]=function(_0x111f6d,_0x22b7de){return db[_0x605b('0x28')][_0x605b('0x44')]({'where':{'id':_0x111f6d[_0x605b('0x42')]['id']}})[_0x605b('0x22')](handleEntityNotFound(_0x22b7de,null))[_0x605b('0x22')](removeEntity(_0x22b7de,null))[_0x605b('0x40')](handleError(_0x22b7de,null));};exports[_0x605b('0x47')]=function(_0x54a865,_0x566162,_0xd2295){var _0x36efcf={};var _0x4bc4b0={};var _0x226d25;var _0x20e3bd;return db[_0x605b('0x28')][_0x605b('0x48')]({'where':{'id':_0x54a865[_0x605b('0x42')]['id']}})[_0x605b('0x22')](handleEntityNotFound(_0x566162,null))[_0x605b('0x22')](function(_0x1edb33){if(_0x1edb33){_0x226d25=_0x1edb33;_0x4bc4b0[_0x605b('0x30')]=_[_0x605b('0x2c')](db['ServicenowField'][_0x605b('0x43')]);_0x4bc4b0[_0x605b('0x2b')]=_[_0x605b('0x2c')](_0x54a865[_0x605b('0x2b')]);_0x4bc4b0[_0x605b('0x2d')]=_['intersection'](_0x4bc4b0[_0x605b('0x30')],_0x4bc4b0[_0x605b('0x2b')]);_0x36efcf[_0x605b('0x2f')]=_[_0x605b('0x2e')](_0x4bc4b0[_0x605b('0x30')],qs[_0x605b('0x31')](_0x54a865[_0x605b('0x2b')]['fields']));_0x36efcf[_0x605b('0x2f')]=_0x36efcf['attributes']['length']?_0x36efcf[_0x605b('0x2f')]:_0x4bc4b0[_0x605b('0x30')];_0x36efcf[_0x605b('0x35')]=qs['sort'](_0x54a865[_0x605b('0x2b')][_0x605b('0x36')]);_0x36efcf[_0x605b('0x38')]=qs[_0x605b('0x2d')](_[_0x605b('0x49')](_0x54a865['query'],_0x4bc4b0[_0x605b('0x2d')]));if(_0x54a865['query'][_0x605b('0x37')]){_0x36efcf[_0x605b('0x38')]=_[_0x605b('0x3a')](_0x36efcf[_0x605b('0x38')],{'$or':_[_0x605b('0x2a')](_0x36efcf[_0x605b('0x2f')],function(_0x4e81d4){var _0x13b2cb={};_0x13b2cb[_0x4e81d4]={'$like':'%'+_0x54a865[_0x605b('0x2b')]['filter']+'%'};return _0x13b2cb;})});}_0x36efcf=_[_0x605b('0x3a')]({},_0x36efcf,_0x54a865[_0x605b('0x3b')]);return _0x226d25[_0x605b('0x47')](_0x36efcf);}})[_0x605b('0x22')](function(_0xb4434d){if(_0xb4434d){_0x20e3bd=_0xb4434d[_0x605b('0x32')];if(!_0x54a865[_0x605b('0x2b')][_0x605b('0x33')]('nolimit')){_0x36efcf['limit']=qs[_0x605b('0x1c')](_0x54a865['query'][_0x605b('0x1c')]);_0x36efcf[_0x605b('0x1b')]=qs[_0x605b('0x1b')](_0x54a865[_0x605b('0x2b')][_0x605b('0x1b')]);}return _0x226d25[_0x605b('0x47')](_0x36efcf);}})[_0x605b('0x22')](function(_0x238834){if(_0x238834){return _0x238834?{'count':_0x20e3bd,'rows':_0x238834}:null;}})['then'](respondWithResult(_0x566162,null))[_0x605b('0x40')](handleError(_0x566162,null));};exports[_0x605b('0x4a')]=function(_0x90cd54,_0x2bd377,_0x409627){var _0x59270c={};var _0x588879={};var _0x2fbc6a;var _0x19d43f;return db[_0x605b('0x28')][_0x605b('0x48')]({'where':{'id':_0x90cd54[_0x605b('0x42')]['id']}})[_0x605b('0x22')](handleEntityNotFound(_0x2bd377,null))[_0x605b('0x22')](function(_0x209211){if(_0x209211){_0x2fbc6a=_0x209211;_0x588879[_0x605b('0x30')]=_[_0x605b('0x2c')](db['ServicenowField'][_0x605b('0x43')]);_0x588879[_0x605b('0x2b')]=_[_0x605b('0x2c')](_0x90cd54[_0x605b('0x2b')]);_0x588879['filters']=_[_0x605b('0x2e')](_0x588879[_0x605b('0x30')],_0x588879['query']);_0x59270c[_0x605b('0x2f')]=_[_0x605b('0x2e')](_0x588879[_0x605b('0x30')],qs[_0x605b('0x31')](_0x90cd54[_0x605b('0x2b')][_0x605b('0x31')]));_0x59270c['attributes']=_0x59270c[_0x605b('0x2f')]['length']?_0x59270c[_0x605b('0x2f')]:_0x588879[_0x605b('0x30')];_0x59270c[_0x605b('0x35')]=qs[_0x605b('0x36')](_0x90cd54[_0x605b('0x2b')][_0x605b('0x36')]);_0x59270c[_0x605b('0x38')]=qs[_0x605b('0x2d')](_['pick'](_0x90cd54[_0x605b('0x2b')],_0x588879['filters']));if(_0x90cd54['query']['filter']){_0x59270c[_0x605b('0x38')]=_[_0x605b('0x3a')](_0x59270c[_0x605b('0x38')],{'$or':_[_0x605b('0x2a')](_0x59270c['attributes'],function(_0x195c52){var _0x5bb184={};_0x5bb184[_0x195c52]={'$like':'%'+_0x90cd54[_0x605b('0x2b')][_0x605b('0x37')]+'%'};return _0x5bb184;})});}_0x59270c=_[_0x605b('0x3a')]({},_0x59270c,_0x90cd54[_0x605b('0x3b')]);return _0x2fbc6a[_0x605b('0x4a')](_0x59270c);}})['then'](function(_0x14c439){if(_0x14c439){_0x19d43f=_0x14c439[_0x605b('0x32')];if(!_0x90cd54['query'][_0x605b('0x33')](_0x605b('0x34'))){_0x59270c['limit']=qs[_0x605b('0x1c')](_0x90cd54[_0x605b('0x2b')][_0x605b('0x1c')]);_0x59270c[_0x605b('0x1b')]=qs[_0x605b('0x1b')](_0x90cd54[_0x605b('0x2b')]['offset']);}return _0x2fbc6a[_0x605b('0x4a')](_0x59270c);}})[_0x605b('0x22')](function(_0x1f4c4a){if(_0x1f4c4a){return _0x1f4c4a?{'count':_0x19d43f,'rows':_0x1f4c4a}:null;}})[_0x605b('0x22')](respondWithResult(_0x2bd377,null))[_0x605b('0x40')](handleError(_0x2bd377,null));};exports['getDescriptions']=function(_0x2de5e7,_0x2f023a,_0x3cd49f){var _0x610067={};var _0x17c334={};var _0x2a5cbc;var _0x4977c2;return db['ServicenowConfiguration']['findOne']({'where':{'id':_0x2de5e7[_0x605b('0x42')]['id']}})['then'](handleEntityNotFound(_0x2f023a,null))[_0x605b('0x22')](function(_0x3b0fe8){if(_0x3b0fe8){_0x2a5cbc=_0x3b0fe8;_0x17c334['model']=_[_0x605b('0x2c')](db[_0x605b('0x4b')]['rawAttributes']);_0x17c334[_0x605b('0x2b')]=_['keys'](_0x2de5e7['query']);_0x17c334[_0x605b('0x2d')]=_['intersection'](_0x17c334[_0x605b('0x30')],_0x17c334[_0x605b('0x2b')]);_0x610067[_0x605b('0x2f')]=_[_0x605b('0x2e')](_0x17c334[_0x605b('0x30')],qs['fields'](_0x2de5e7[_0x605b('0x2b')][_0x605b('0x31')]));_0x610067[_0x605b('0x2f')]=_0x610067['attributes'][_0x605b('0x32')]?_0x610067[_0x605b('0x2f')]:_0x17c334[_0x605b('0x30')];_0x610067[_0x605b('0x35')]=qs[_0x605b('0x36')](_0x2de5e7[_0x605b('0x2b')][_0x605b('0x36')]);_0x610067[_0x605b('0x38')]=qs[_0x605b('0x2d')](_['pick'](_0x2de5e7[_0x605b('0x2b')],_0x17c334[_0x605b('0x2d')]));if(_0x2de5e7['query'][_0x605b('0x37')]){_0x610067[_0x605b('0x38')]=_[_0x605b('0x3a')](_0x610067[_0x605b('0x38')],{'$or':_['map'](_0x610067[_0x605b('0x2f')],function(_0x2496f9){var _0x40c499={};_0x40c499[_0x2496f9]={'$like':'%'+_0x2de5e7[_0x605b('0x2b')][_0x605b('0x37')]+'%'};return _0x40c499;})});}_0x610067=_[_0x605b('0x3a')]({},_0x610067,_0x2de5e7[_0x605b('0x3b')]);return _0x2a5cbc[_0x605b('0x4c')](_0x610067);}})[_0x605b('0x22')](function(_0x1d0520){if(_0x1d0520){_0x4977c2=_0x1d0520[_0x605b('0x32')];if(!_0x2de5e7[_0x605b('0x2b')]['hasOwnProperty']('nolimit')){_0x610067['limit']=qs['limit'](_0x2de5e7[_0x605b('0x2b')][_0x605b('0x1c')]);_0x610067['offset']=qs[_0x605b('0x1b')](_0x2de5e7['query'][_0x605b('0x1b')]);}return _0x2a5cbc[_0x605b('0x4c')](_0x610067);}})['then'](function(_0x1020ec){if(_0x1020ec){return _0x1020ec?{'count':_0x4977c2,'rows':_0x1020ec}:null;}})[_0x605b('0x22')](respondWithResult(_0x2f023a,null))[_0x605b('0x40')](handleError(_0x2f023a,null));};