01aa18b983c94946fe272a2b4e3c505a338b3870
[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 _0x767f=['nolimit','limit','sort','where','pick','filter','merge','type','VIRTUAL','options','count','includeAll','include','findAll','show','params','fields','find','create','getFields','findOne','ServicenowField','rawAttributes','order','getSubjects','getDescriptions','html-pdf','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','jayson/promise','client','request','info','ServicenowConfiguration,\x20%s,\x20%s','request\x20sent','debug','ServicenowConfiguration,\x20%s,\x20%s,\x20%s','stringify','code','error','message','result','catch','status','offset','set','Content-Range','json','apply','save','update','then','destroy','end','sendStatus','stack','name','send','index','map','ServicenowConfiguration','fieldName','key','query','keys','filters','intersection','model','attributes','length','hasOwnProperty'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0x767f,0x192));var _0xf767=function(_0x3e44fa,_0x75ed2a){_0x3e44fa=_0x3e44fa-0x0;var _0x2a0aba=_0x767f[_0x3e44fa];return _0x2a0aba;};'use strict';var pdf=require(_0xf767('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xf767('0x1'));var zipdir=require(_0xf767('0x2'));var jsonpatch=require(_0xf767('0x3'));var rp=require('request-promise');var moment=require(_0xf767('0x4'));var BPromise=require(_0xf767('0x5'));var Mustache=require(_0xf767('0x6'));var util=require(_0xf767('0x7'));var path=require('path');var sox=require(_0xf767('0x8'));var csv=require(_0xf767('0x9'));var ejs=require(_0xf767('0xa'));var fs=require('fs');var _=require(_0xf767('0xb'));var squel=require(_0xf767('0xc'));var crypto=require(_0xf767('0xd'));var jsforce=require(_0xf767('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xf767('0x9'));var querystring=require(_0xf767('0xf'));var Papa=require(_0xf767('0x10'));var Redis=require(_0xf767('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xf767('0x12'));var as=require(_0xf767('0x13'));var hardwareService=require(_0xf767('0x14'));var logger=require(_0xf767('0x15'))(_0xf767('0x16'));var utils=require(_0xf767('0x17'));var config=require(_0xf767('0x18'));var licenseUtil=require(_0xf767('0x19'));var db=require('../../mysqldb')['db'];var jayson=require(_0xf767('0x1a'));var client=jayson[_0xf767('0x1b')]['http']({'port':0x232a});function respondWithRpcPromise(_0x51acb7,_0x29ddbe,_0x3400b5,_0xd24f68){return new BPromise(function(_0xb3a46,_0x426618){var _0x6f98a7=_0xd24f68||client;return _0x6f98a7[_0xf767('0x1c')](_0x51acb7,_0x3400b5)['then'](function(_0x5a0605){logger[_0xf767('0x1d')](_0xf767('0x1e'),_0x29ddbe,_0xf767('0x1f'));logger[_0xf767('0x20')](_0xf767('0x21'),_0x29ddbe,_0xf767('0x1f'),JSON[_0xf767('0x22')](_0x5a0605));if(_0x5a0605['error']){if(_0x5a0605['error'][_0xf767('0x23')]===0x1f4){logger[_0xf767('0x24')](_0xf767('0x1e'),_0x29ddbe,_0x5a0605[_0xf767('0x24')][_0xf767('0x25')]);return _0x426618(_0x5a0605[_0xf767('0x24')]['message']);}logger['error'](_0xf767('0x1e'),_0x29ddbe,_0x5a0605[_0xf767('0x24')]['message']);return _0xb3a46(_0x5a0605[_0xf767('0x24')]['message']);}else{logger[_0xf767('0x1d')]('ServicenowConfiguration,\x20%s,\x20%s',_0x29ddbe,'request\x20sent');_0xb3a46(_0x5a0605[_0xf767('0x26')][_0xf767('0x25')]);}})[_0xf767('0x27')](function(_0x456a3f){logger[_0xf767('0x24')]('ServicenowConfiguration,\x20%s,\x20%s',_0x29ddbe,_0x456a3f);_0x426618(_0x456a3f);});});}function respondWithStatusCode(_0x2d20f1,_0x264011){_0x264011=_0x264011||0xcc;return function(_0x47a512){if(_0x47a512){return _0x2d20f1['sendStatus'](_0x264011);}return _0x2d20f1['status'](_0x264011)['end']();};}function respondWithResult(_0x4f70f7,_0xbaa568){_0xbaa568=_0xbaa568||0xc8;return function(_0x189af9){if(_0x189af9){return _0x4f70f7[_0xf767('0x28')](_0xbaa568)['json'](_0x189af9);}};}function respondWithFilteredResult(_0x1c13d2,_0x292611){return function(_0x1e1628){if(_0x1e1628){var _0x474f08=_0x1e1628['count'],_0x5a813a=_0x292611[_0xf767('0x29')],_0x3a92b2=_0x292611[_0xf767('0x29')]+_0x292611['limit'],_0x1cd3d1;if(_0x3a92b2>=_0x474f08){_0x3a92b2=_0x474f08;_0x1cd3d1=0xc8;}else{_0x1cd3d1=0xce;}_0x1c13d2[_0xf767('0x28')](_0x1cd3d1);return _0x1c13d2[_0xf767('0x2a')](_0xf767('0x2b'),_0x5a813a+'-'+_0x3a92b2+'/'+_0x474f08)[_0xf767('0x2c')](_0x1e1628);}return null;};}function patchUpdates(_0x540c8a){return function(_0x5765c1){try{jsonpatch[_0xf767('0x2d')](_0x5765c1,_0x540c8a,!![]);}catch(_0x5ee7e1){return BPromise['reject'](_0x5ee7e1);}return _0x5765c1[_0xf767('0x2e')]();};}function saveUpdates(_0x19b5f5,_0x4a4264){return function(_0x55d237){if(_0x55d237){return _0x55d237[_0xf767('0x2f')](_0x19b5f5)[_0xf767('0x30')](function(_0xafb326){return _0xafb326;});}return null;};}function removeEntity(_0x5762c9,_0xe1e00f){return function(_0x3d0ba5){if(_0x3d0ba5){return _0x3d0ba5[_0xf767('0x31')]()[_0xf767('0x30')](function(){_0x5762c9['status'](0xcc)[_0xf767('0x32')]();});}};}function handleEntityNotFound(_0x5e54c3,_0x285f3e){return function(_0x29b397){if(!_0x29b397){_0x5e54c3[_0xf767('0x33')](0x194);}return _0x29b397;};}function handleError(_0x5cf6ce,_0x3a32b6){_0x3a32b6=_0x3a32b6||0x1f4;return function(_0x5e3491){logger[_0xf767('0x24')](_0x5e3491[_0xf767('0x34')]);if(_0x5e3491[_0xf767('0x35')]){delete _0x5e3491[_0xf767('0x35')];}_0x5cf6ce[_0xf767('0x28')](_0x3a32b6)[_0xf767('0x36')](_0x5e3491);};}exports[_0xf767('0x37')]=function(_0x550273,_0xc922b5){var _0xf4d2a6={},_0x6750b2={},_0x5647d1={'count':0x0,'rows':[]};var _0x42d8f8=_[_0xf767('0x38')](db[_0xf767('0x39')]['rawAttributes'],function(_0x652cd8){return{'name':_0x652cd8[_0xf767('0x3a')],'type':_0x652cd8['type'][_0xf767('0x3b')]};});_0x6750b2['model']=_[_0xf767('0x38')](_0x42d8f8,_0xf767('0x35'));_0x6750b2[_0xf767('0x3c')]=_[_0xf767('0x3d')](_0x550273['query']);_0x6750b2[_0xf767('0x3e')]=_[_0xf767('0x3f')](_0x6750b2[_0xf767('0x40')],_0x6750b2[_0xf767('0x3c')]);_0xf4d2a6[_0xf767('0x41')]=_[_0xf767('0x3f')](_0x6750b2[_0xf767('0x40')],qs['fields'](_0x550273[_0xf767('0x3c')]['fields']));_0xf4d2a6['attributes']=_0xf4d2a6[_0xf767('0x41')][_0xf767('0x42')]?_0xf4d2a6['attributes']:_0x6750b2[_0xf767('0x40')];if(!_0x550273['query'][_0xf767('0x43')](_0xf767('0x44'))){_0xf4d2a6[_0xf767('0x45')]=qs['limit'](_0x550273[_0xf767('0x3c')][_0xf767('0x45')]);_0xf4d2a6[_0xf767('0x29')]=qs['offset'](_0x550273['query'][_0xf767('0x29')]);}_0xf4d2a6['order']=qs[_0xf767('0x46')](_0x550273[_0xf767('0x3c')]['sort']);_0xf4d2a6[_0xf767('0x47')]=qs['filters'](_[_0xf767('0x48')](_0x550273[_0xf767('0x3c')],_0x6750b2[_0xf767('0x3e')]),_0x42d8f8);if(_0x550273[_0xf767('0x3c')][_0xf767('0x49')]){_0xf4d2a6[_0xf767('0x47')]=_[_0xf767('0x4a')](_0xf4d2a6[_0xf767('0x47')],{'$or':_['map'](_0x42d8f8,function(_0x8c2aec){if(_0x8c2aec[_0xf767('0x4b')]!==_0xf767('0x4c')){var _0x381392={};_0x381392[_0x8c2aec['name']]={'$like':'%'+_0x550273[_0xf767('0x3c')][_0xf767('0x49')]+'%'};return _0x381392;}})});}_0xf4d2a6=_[_0xf767('0x4a')]({},_0xf4d2a6,_0x550273[_0xf767('0x4d')]);var _0x51ae73={'where':_0xf4d2a6[_0xf767('0x47')]};return db['ServicenowConfiguration'][_0xf767('0x4e')](_0x51ae73)[_0xf767('0x30')](function(_0x575ab3){_0x5647d1[_0xf767('0x4e')]=_0x575ab3;if(_0x550273[_0xf767('0x3c')][_0xf767('0x4f')]){_0xf4d2a6[_0xf767('0x50')]=[{'all':!![]}];}return db[_0xf767('0x39')][_0xf767('0x51')](_0xf4d2a6);})[_0xf767('0x30')](function(_0x46839a){_0x5647d1['rows']=_0x46839a;return _0x5647d1;})[_0xf767('0x30')](respondWithFilteredResult(_0xc922b5,_0xf4d2a6))[_0xf767('0x27')](handleError(_0xc922b5,null));};exports[_0xf767('0x52')]=function(_0xe28a58,_0x55d3e1){var _0x12d66d={'raw':![],'where':{'id':_0xe28a58[_0xf767('0x53')]['id']}},_0x1b208f={};_0x1b208f[_0xf767('0x40')]=_['keys'](db[_0xf767('0x39')]['rawAttributes']);_0x1b208f[_0xf767('0x3c')]=_[_0xf767('0x3d')](_0xe28a58[_0xf767('0x3c')]);_0x1b208f[_0xf767('0x3e')]=_[_0xf767('0x3f')](_0x1b208f['model'],_0x1b208f['query']);_0x12d66d['attributes']=_[_0xf767('0x3f')](_0x1b208f['model'],qs[_0xf767('0x54')](_0xe28a58[_0xf767('0x3c')][_0xf767('0x54')]));_0x12d66d[_0xf767('0x41')]=_0x12d66d[_0xf767('0x41')][_0xf767('0x42')]?_0x12d66d['attributes']:_0x1b208f[_0xf767('0x40')];if(_0xe28a58['query'][_0xf767('0x4f')]){_0x12d66d[_0xf767('0x50')]=[{'all':!![]}];}_0x12d66d=_[_0xf767('0x4a')]({},_0x12d66d,_0xe28a58[_0xf767('0x4d')]);return db['ServicenowConfiguration'][_0xf767('0x55')](_0x12d66d)[_0xf767('0x30')](handleEntityNotFound(_0x55d3e1,null))[_0xf767('0x30')](respondWithResult(_0x55d3e1,null))[_0xf767('0x27')](handleError(_0x55d3e1,null));};exports[_0xf767('0x56')]=function(_0xb6e99b,_0x1b2231){return db['ServicenowConfiguration']['create'](_0xb6e99b['body'],{})[_0xf767('0x30')](respondWithResult(_0x1b2231,0xc9))['catch'](handleError(_0x1b2231,null));};exports[_0xf767('0x2f')]=function(_0x2bdc63,_0x58e903){if(_0x2bdc63['body']['id']){delete _0x2bdc63['body']['id'];}return db['ServicenowConfiguration'][_0xf767('0x55')]({'where':{'id':_0x2bdc63[_0xf767('0x53')]['id']}})['then'](handleEntityNotFound(_0x58e903,null))['then'](saveUpdates(_0x2bdc63['body'],null))['then'](respondWithResult(_0x58e903,null))[_0xf767('0x27')](handleError(_0x58e903,null));};exports[_0xf767('0x31')]=function(_0x2d0ab7,_0x59dca1){return db[_0xf767('0x39')][_0xf767('0x55')]({'where':{'id':_0x2d0ab7[_0xf767('0x53')]['id']}})[_0xf767('0x30')](handleEntityNotFound(_0x59dca1,null))['then'](removeEntity(_0x59dca1,null))[_0xf767('0x27')](handleError(_0x59dca1,null));};exports[_0xf767('0x57')]=function(_0x2a9fff,_0x4cbb1e,_0x494e55){var _0x235325={};var _0x49103e={};var _0x3c5f34;var _0x5c2079;return db[_0xf767('0x39')][_0xf767('0x58')]({'where':{'id':_0x2a9fff[_0xf767('0x53')]['id']}})[_0xf767('0x30')](handleEntityNotFound(_0x4cbb1e,null))[_0xf767('0x30')](function(_0x202297){if(_0x202297){_0x3c5f34=_0x202297;_0x49103e[_0xf767('0x40')]=_[_0xf767('0x3d')](db[_0xf767('0x59')][_0xf767('0x5a')]);_0x49103e['query']=_[_0xf767('0x3d')](_0x2a9fff[_0xf767('0x3c')]);_0x49103e[_0xf767('0x3e')]=_[_0xf767('0x3f')](_0x49103e[_0xf767('0x40')],_0x49103e[_0xf767('0x3c')]);_0x235325['attributes']=_[_0xf767('0x3f')](_0x49103e[_0xf767('0x40')],qs[_0xf767('0x54')](_0x2a9fff[_0xf767('0x3c')]['fields']));_0x235325[_0xf767('0x41')]=_0x235325[_0xf767('0x41')][_0xf767('0x42')]?_0x235325[_0xf767('0x41')]:_0x49103e[_0xf767('0x40')];_0x235325[_0xf767('0x5b')]=qs['sort'](_0x2a9fff[_0xf767('0x3c')][_0xf767('0x46')]);_0x235325['where']=qs['filters'](_[_0xf767('0x48')](_0x2a9fff[_0xf767('0x3c')],_0x49103e[_0xf767('0x3e')]));if(_0x2a9fff[_0xf767('0x3c')][_0xf767('0x49')]){_0x235325[_0xf767('0x47')]=_[_0xf767('0x4a')](_0x235325[_0xf767('0x47')],{'$or':_['map'](_0x235325[_0xf767('0x41')],function(_0x4f6c5d){var _0x2c5c90={};_0x2c5c90[_0x4f6c5d]={'$like':'%'+_0x2a9fff[_0xf767('0x3c')][_0xf767('0x49')]+'%'};return _0x2c5c90;})});}_0x235325=_[_0xf767('0x4a')]({},_0x235325,_0x2a9fff[_0xf767('0x4d')]);return _0x3c5f34[_0xf767('0x57')](_0x235325);}})[_0xf767('0x30')](function(_0x4ed057){if(_0x4ed057){_0x5c2079=_0x4ed057[_0xf767('0x42')];if(!_0x2a9fff[_0xf767('0x3c')][_0xf767('0x43')]('nolimit')){_0x235325[_0xf767('0x45')]=qs[_0xf767('0x45')](_0x2a9fff['query'][_0xf767('0x45')]);_0x235325[_0xf767('0x29')]=qs[_0xf767('0x29')](_0x2a9fff[_0xf767('0x3c')]['offset']);}return _0x3c5f34['getFields'](_0x235325);}})[_0xf767('0x30')](function(_0x3b1776){if(_0x3b1776){return _0x3b1776?{'count':_0x5c2079,'rows':_0x3b1776}:null;}})[_0xf767('0x30')](respondWithResult(_0x4cbb1e,null))[_0xf767('0x27')](handleError(_0x4cbb1e,null));};exports['getSubjects']=function(_0x1f0bc0,_0x2e0644,_0x5c57d4){var _0x404576={};var _0x5c281e={};var _0x3f114d;var _0x25f6f4;return db[_0xf767('0x39')][_0xf767('0x58')]({'where':{'id':_0x1f0bc0[_0xf767('0x53')]['id']}})[_0xf767('0x30')](handleEntityNotFound(_0x2e0644,null))[_0xf767('0x30')](function(_0x10a5b4){if(_0x10a5b4){_0x3f114d=_0x10a5b4;_0x5c281e['model']=_['keys'](db[_0xf767('0x59')][_0xf767('0x5a')]);_0x5c281e[_0xf767('0x3c')]=_[_0xf767('0x3d')](_0x1f0bc0[_0xf767('0x3c')]);_0x5c281e[_0xf767('0x3e')]=_[_0xf767('0x3f')](_0x5c281e[_0xf767('0x40')],_0x5c281e[_0xf767('0x3c')]);_0x404576[_0xf767('0x41')]=_[_0xf767('0x3f')](_0x5c281e[_0xf767('0x40')],qs[_0xf767('0x54')](_0x1f0bc0[_0xf767('0x3c')][_0xf767('0x54')]));_0x404576[_0xf767('0x41')]=_0x404576[_0xf767('0x41')][_0xf767('0x42')]?_0x404576['attributes']:_0x5c281e[_0xf767('0x40')];_0x404576[_0xf767('0x5b')]=qs[_0xf767('0x46')](_0x1f0bc0['query'][_0xf767('0x46')]);_0x404576[_0xf767('0x47')]=qs[_0xf767('0x3e')](_[_0xf767('0x48')](_0x1f0bc0[_0xf767('0x3c')],_0x5c281e['filters']));if(_0x1f0bc0[_0xf767('0x3c')]['filter']){_0x404576[_0xf767('0x47')]=_[_0xf767('0x4a')](_0x404576[_0xf767('0x47')],{'$or':_[_0xf767('0x38')](_0x404576['attributes'],function(_0x152f68){var _0x5a98c5={};_0x5a98c5[_0x152f68]={'$like':'%'+_0x1f0bc0[_0xf767('0x3c')][_0xf767('0x49')]+'%'};return _0x5a98c5;})});}_0x404576=_['merge']({},_0x404576,_0x1f0bc0[_0xf767('0x4d')]);return _0x3f114d[_0xf767('0x5c')](_0x404576);}})[_0xf767('0x30')](function(_0xb19a9d){if(_0xb19a9d){_0x25f6f4=_0xb19a9d['length'];if(!_0x1f0bc0[_0xf767('0x3c')]['hasOwnProperty'](_0xf767('0x44'))){_0x404576[_0xf767('0x45')]=qs[_0xf767('0x45')](_0x1f0bc0[_0xf767('0x3c')][_0xf767('0x45')]);_0x404576[_0xf767('0x29')]=qs['offset'](_0x1f0bc0[_0xf767('0x3c')][_0xf767('0x29')]);}return _0x3f114d[_0xf767('0x5c')](_0x404576);}})[_0xf767('0x30')](function(_0x3ddf2c){if(_0x3ddf2c){return _0x3ddf2c?{'count':_0x25f6f4,'rows':_0x3ddf2c}:null;}})[_0xf767('0x30')](respondWithResult(_0x2e0644,null))['catch'](handleError(_0x2e0644,null));};exports[_0xf767('0x5d')]=function(_0x290707,_0x422731,_0x1648ff){var _0x4a6791={};var _0x1ec18d={};var _0x58956;var _0x514585;return db['ServicenowConfiguration']['findOne']({'where':{'id':_0x290707[_0xf767('0x53')]['id']}})[_0xf767('0x30')](handleEntityNotFound(_0x422731,null))[_0xf767('0x30')](function(_0x384995){if(_0x384995){_0x58956=_0x384995;_0x1ec18d[_0xf767('0x40')]=_[_0xf767('0x3d')](db[_0xf767('0x59')][_0xf767('0x5a')]);_0x1ec18d[_0xf767('0x3c')]=_['keys'](_0x290707[_0xf767('0x3c')]);_0x1ec18d['filters']=_[_0xf767('0x3f')](_0x1ec18d[_0xf767('0x40')],_0x1ec18d[_0xf767('0x3c')]);_0x4a6791[_0xf767('0x41')]=_[_0xf767('0x3f')](_0x1ec18d[_0xf767('0x40')],qs[_0xf767('0x54')](_0x290707[_0xf767('0x3c')][_0xf767('0x54')]));_0x4a6791['attributes']=_0x4a6791['attributes'][_0xf767('0x42')]?_0x4a6791[_0xf767('0x41')]:_0x1ec18d[_0xf767('0x40')];_0x4a6791['order']=qs[_0xf767('0x46')](_0x290707[_0xf767('0x3c')][_0xf767('0x46')]);_0x4a6791[_0xf767('0x47')]=qs[_0xf767('0x3e')](_[_0xf767('0x48')](_0x290707[_0xf767('0x3c')],_0x1ec18d['filters']));if(_0x290707[_0xf767('0x3c')][_0xf767('0x49')]){_0x4a6791['where']=_['merge'](_0x4a6791[_0xf767('0x47')],{'$or':_[_0xf767('0x38')](_0x4a6791['attributes'],function(_0x984d44){var _0xc2222b={};_0xc2222b[_0x984d44]={'$like':'%'+_0x290707[_0xf767('0x3c')][_0xf767('0x49')]+'%'};return _0xc2222b;})});}_0x4a6791=_[_0xf767('0x4a')]({},_0x4a6791,_0x290707[_0xf767('0x4d')]);return _0x58956[_0xf767('0x5d')](_0x4a6791);}})[_0xf767('0x30')](function(_0x48026a){if(_0x48026a){_0x514585=_0x48026a[_0xf767('0x42')];if(!_0x290707[_0xf767('0x3c')][_0xf767('0x43')](_0xf767('0x44'))){_0x4a6791['limit']=qs['limit'](_0x290707[_0xf767('0x3c')][_0xf767('0x45')]);_0x4a6791[_0xf767('0x29')]=qs[_0xf767('0x29')](_0x290707['query'][_0xf767('0x29')]);}return _0x58956[_0xf767('0x5d')](_0x4a6791);}})[_0xf767('0x30')](function(_0x5a1b6d){if(_0x5a1b6d){return _0x5a1b6d?{'count':_0x514585,'rows':_0x5a1b6d}:null;}})['then'](respondWithResult(_0x422731,null))['catch'](handleError(_0x422731,null));};