3e49419f840e09f1d33efa4d8c31d3dc35340f59
[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 _0x2792=['attributes','intersection','fields','length','hasOwnProperty','limit','order','sort','where','pick','merge','filter','options','count','includeAll','include','findAll','rows','show','params','keys','rawAttributes','find','create','body','getFields','findOne','ServicenowField','getSubjects','getDescriptions','nolimit','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','debug','ServicenowConfiguration,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','ServicenowConfiguration,\x20%s,\x20%s','message','info','result','catch','sendStatus','status','end','offset','Content-Range','apply','update','destroy','then','stack','name','send','index','map','ServicenowConfiguration','fieldName','type','key','model','query','filters'];(function(_0x3cd504,_0x3510fc){var _0x38591f=function(_0x1a2174){while(--_0x1a2174){_0x3cd504['push'](_0x3cd504['shift']());}};_0x38591f(++_0x3510fc);}(_0x2792,0xc7));var _0x2279=function(_0xf93b08,_0x2559d7){_0xf93b08=_0xf93b08-0x0;var _0x12f72e=_0x2792[_0xf93b08];return _0x12f72e;};'use strict';var pdf=require(_0x2279('0x0'));var emlformat=require(_0x2279('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x2279('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2279('0x3'));var moment=require(_0x2279('0x4'));var BPromise=require(_0x2279('0x5'));var Mustache=require(_0x2279('0x6'));var util=require(_0x2279('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x2279('0x8'));var ejs=require(_0x2279('0x9'));var fs=require('fs');var _=require(_0x2279('0xa'));var squel=require(_0x2279('0xb'));var crypto=require('crypto');var jsforce=require(_0x2279('0xc'));var deskjs=require(_0x2279('0xd'));var toCsv=require(_0x2279('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x2279('0xe'));var qs=require(_0x2279('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2279('0x10'));var logger=require('../../config/logger')(_0x2279('0x11'));var utils=require('../../config/utils');var config=require(_0x2279('0x12'));var licenseUtil=require(_0x2279('0x13'));var db=require(_0x2279('0x14'))['db'];var jayson=require(_0x2279('0x15'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x347150,_0x1767f3,_0x1ccdff,_0x5da5c8){return new BPromise(function(_0x58a360,_0x53943f){var _0x38972a=_0x5da5c8||client;return _0x38972a['request'](_0x347150,_0x1ccdff)['then'](function(_0x3cba69){logger['info']('ServicenowConfiguration,\x20%s,\x20%s',_0x1767f3,'request\x20sent');logger[_0x2279('0x16')](_0x2279('0x17'),_0x1767f3,_0x2279('0x18'),JSON['stringify'](_0x3cba69));if(_0x3cba69[_0x2279('0x19')]){if(_0x3cba69[_0x2279('0x19')][_0x2279('0x1a')]===0x1f4){logger[_0x2279('0x19')](_0x2279('0x1b'),_0x1767f3,_0x3cba69[_0x2279('0x19')]['message']);return _0x53943f(_0x3cba69[_0x2279('0x19')]['message']);}logger[_0x2279('0x19')](_0x2279('0x1b'),_0x1767f3,_0x3cba69[_0x2279('0x19')][_0x2279('0x1c')]);return _0x58a360(_0x3cba69[_0x2279('0x19')][_0x2279('0x1c')]);}else{logger[_0x2279('0x1d')]('ServicenowConfiguration,\x20%s,\x20%s',_0x1767f3,_0x2279('0x18'));_0x58a360(_0x3cba69[_0x2279('0x1e')][_0x2279('0x1c')]);}})[_0x2279('0x1f')](function(_0x4610e2){logger[_0x2279('0x19')]('ServicenowConfiguration,\x20%s,\x20%s',_0x1767f3,_0x4610e2);_0x53943f(_0x4610e2);});});}function respondWithStatusCode(_0x1dc181,_0x200e7a){_0x200e7a=_0x200e7a||0xcc;return function(_0x4c1c21){if(_0x4c1c21){return _0x1dc181[_0x2279('0x20')](_0x200e7a);}return _0x1dc181[_0x2279('0x21')](_0x200e7a)[_0x2279('0x22')]();};}function respondWithResult(_0x18c8f,_0x45dfa5){_0x45dfa5=_0x45dfa5||0xc8;return function(_0x209aec){if(_0x209aec){return _0x18c8f['status'](_0x45dfa5)['json'](_0x209aec);}};}function respondWithFilteredResult(_0x40ea45,_0x530047){return function(_0x2428c6){if(_0x2428c6){var _0xe3dc75=_0x2428c6['count'],_0x19aa8e=_0x530047['offset'],_0x32f03c=_0x530047[_0x2279('0x23')]+_0x530047['limit'],_0x5841d2;if(_0x32f03c>=_0xe3dc75){_0x32f03c=_0xe3dc75;_0x5841d2=0xc8;}else{_0x5841d2=0xce;}_0x40ea45[_0x2279('0x21')](_0x5841d2);return _0x40ea45['set'](_0x2279('0x24'),_0x19aa8e+'-'+_0x32f03c+'/'+_0xe3dc75)['json'](_0x2428c6);}return null;};}function patchUpdates(_0x336278){return function(_0x396cfa){try{jsonpatch[_0x2279('0x25')](_0x396cfa,_0x336278,!![]);}catch(_0x55badb){return BPromise['reject'](_0x55badb);}return _0x396cfa['save']();};}function saveUpdates(_0x4a4a48,_0x32a4e5){return function(_0x406f37){if(_0x406f37){return _0x406f37[_0x2279('0x26')](_0x4a4a48)['then'](function(_0x411958){return _0x411958;});}return null;};}function removeEntity(_0x53e789,_0x453681){return function(_0x77d72f){if(_0x77d72f){return _0x77d72f[_0x2279('0x27')]()[_0x2279('0x28')](function(){_0x53e789[_0x2279('0x21')](0xcc)[_0x2279('0x22')]();});}};}function handleEntityNotFound(_0xed695c,_0x269d58){return function(_0x5b8515){if(!_0x5b8515){_0xed695c[_0x2279('0x20')](0x194);}return _0x5b8515;};}function handleError(_0x5d88a8,_0x5234a1){_0x5234a1=_0x5234a1||0x1f4;return function(_0x119ef5){logger[_0x2279('0x19')](_0x119ef5[_0x2279('0x29')]);if(_0x119ef5[_0x2279('0x2a')]){delete _0x119ef5['name'];}_0x5d88a8['status'](_0x5234a1)[_0x2279('0x2b')](_0x119ef5);};}exports[_0x2279('0x2c')]=function(_0x1733b3,_0xb8beeb){var _0x17acdb={},_0x36d759={},_0x1a83cc={'count':0x0,'rows':[]};var _0x5e7b0e=_[_0x2279('0x2d')](db[_0x2279('0x2e')]['rawAttributes'],function(_0x1d8d3c){return{'name':_0x1d8d3c[_0x2279('0x2f')],'type':_0x1d8d3c[_0x2279('0x30')][_0x2279('0x31')]};});_0x36d759[_0x2279('0x32')]=_[_0x2279('0x2d')](_0x5e7b0e,'name');_0x36d759['query']=_['keys'](_0x1733b3[_0x2279('0x33')]);_0x36d759[_0x2279('0x34')]=_['intersection'](_0x36d759[_0x2279('0x32')],_0x36d759[_0x2279('0x33')]);_0x17acdb[_0x2279('0x35')]=_[_0x2279('0x36')](_0x36d759['model'],qs[_0x2279('0x37')](_0x1733b3[_0x2279('0x33')][_0x2279('0x37')]));_0x17acdb[_0x2279('0x35')]=_0x17acdb[_0x2279('0x35')][_0x2279('0x38')]?_0x17acdb[_0x2279('0x35')]:_0x36d759[_0x2279('0x32')];if(!_0x1733b3[_0x2279('0x33')][_0x2279('0x39')]('nolimit')){_0x17acdb[_0x2279('0x3a')]=qs[_0x2279('0x3a')](_0x1733b3[_0x2279('0x33')][_0x2279('0x3a')]);_0x17acdb[_0x2279('0x23')]=qs['offset'](_0x1733b3[_0x2279('0x33')][_0x2279('0x23')]);}_0x17acdb[_0x2279('0x3b')]=qs[_0x2279('0x3c')](_0x1733b3[_0x2279('0x33')][_0x2279('0x3c')]);_0x17acdb[_0x2279('0x3d')]=qs[_0x2279('0x34')](_[_0x2279('0x3e')](_0x1733b3[_0x2279('0x33')],_0x36d759['filters']),_0x5e7b0e);if(_0x1733b3[_0x2279('0x33')]['filter']){_0x17acdb[_0x2279('0x3d')]=_[_0x2279('0x3f')](_0x17acdb[_0x2279('0x3d')],{'$or':_[_0x2279('0x2d')](_0x5e7b0e,function(_0x4b3863){if(_0x4b3863[_0x2279('0x30')]!=='VIRTUAL'){var _0x154bee={};_0x154bee[_0x4b3863[_0x2279('0x2a')]]={'$like':'%'+_0x1733b3[_0x2279('0x33')][_0x2279('0x40')]+'%'};return _0x154bee;}})});}_0x17acdb=_[_0x2279('0x3f')]({},_0x17acdb,_0x1733b3[_0x2279('0x41')]);var _0x1d33d7={'where':_0x17acdb[_0x2279('0x3d')]};return db[_0x2279('0x2e')][_0x2279('0x42')](_0x1d33d7)[_0x2279('0x28')](function(_0x4eaf4a){_0x1a83cc[_0x2279('0x42')]=_0x4eaf4a;if(_0x1733b3['query'][_0x2279('0x43')]){_0x17acdb[_0x2279('0x44')]=[{'all':!![]}];}return db[_0x2279('0x2e')][_0x2279('0x45')](_0x17acdb);})[_0x2279('0x28')](function(_0x17b968){_0x1a83cc[_0x2279('0x46')]=_0x17b968;return _0x1a83cc;})[_0x2279('0x28')](respondWithFilteredResult(_0xb8beeb,_0x17acdb))[_0x2279('0x1f')](handleError(_0xb8beeb,null));};exports[_0x2279('0x47')]=function(_0x117bd2,_0x4b1001){var _0x424d5d={'raw':![],'where':{'id':_0x117bd2[_0x2279('0x48')]['id']}},_0x16773e={};_0x16773e[_0x2279('0x32')]=_[_0x2279('0x49')](db['ServicenowConfiguration'][_0x2279('0x4a')]);_0x16773e[_0x2279('0x33')]=_[_0x2279('0x49')](_0x117bd2[_0x2279('0x33')]);_0x16773e[_0x2279('0x34')]=_[_0x2279('0x36')](_0x16773e[_0x2279('0x32')],_0x16773e['query']);_0x424d5d[_0x2279('0x35')]=_[_0x2279('0x36')](_0x16773e[_0x2279('0x32')],qs[_0x2279('0x37')](_0x117bd2['query']['fields']));_0x424d5d['attributes']=_0x424d5d[_0x2279('0x35')][_0x2279('0x38')]?_0x424d5d[_0x2279('0x35')]:_0x16773e['model'];if(_0x117bd2[_0x2279('0x33')][_0x2279('0x43')]){_0x424d5d[_0x2279('0x44')]=[{'all':!![]}];}_0x424d5d=_['merge']({},_0x424d5d,_0x117bd2[_0x2279('0x41')]);return db[_0x2279('0x2e')][_0x2279('0x4b')](_0x424d5d)[_0x2279('0x28')](handleEntityNotFound(_0x4b1001,null))['then'](respondWithResult(_0x4b1001,null))[_0x2279('0x1f')](handleError(_0x4b1001,null));};exports[_0x2279('0x4c')]=function(_0x3f99ab,_0x333308){return db['ServicenowConfiguration'][_0x2279('0x4c')](_0x3f99ab[_0x2279('0x4d')],{})['then'](respondWithResult(_0x333308,0xc9))[_0x2279('0x1f')](handleError(_0x333308,null));};exports[_0x2279('0x26')]=function(_0x10c9ca,_0x3c5c7f){if(_0x10c9ca[_0x2279('0x4d')]['id']){delete _0x10c9ca['body']['id'];}return db[_0x2279('0x2e')][_0x2279('0x4b')]({'where':{'id':_0x10c9ca[_0x2279('0x48')]['id']}})[_0x2279('0x28')](handleEntityNotFound(_0x3c5c7f,null))[_0x2279('0x28')](saveUpdates(_0x10c9ca[_0x2279('0x4d')],null))[_0x2279('0x28')](respondWithResult(_0x3c5c7f,null))[_0x2279('0x1f')](handleError(_0x3c5c7f,null));};exports['destroy']=function(_0x188f3c,_0x3a77e7){return db[_0x2279('0x2e')][_0x2279('0x4b')]({'where':{'id':_0x188f3c['params']['id']}})[_0x2279('0x28')](handleEntityNotFound(_0x3a77e7,null))[_0x2279('0x28')](removeEntity(_0x3a77e7,null))[_0x2279('0x1f')](handleError(_0x3a77e7,null));};exports[_0x2279('0x4e')]=function(_0x42eb4f,_0x4c5167,_0xced9d6){var _0x42dd5c={};var _0x461eeb={};var _0x47a122;var _0x3f8425;return db['ServicenowConfiguration'][_0x2279('0x4f')]({'where':{'id':_0x42eb4f[_0x2279('0x48')]['id']}})['then'](handleEntityNotFound(_0x4c5167,null))[_0x2279('0x28')](function(_0x2b5516){if(_0x2b5516){_0x47a122=_0x2b5516;_0x461eeb[_0x2279('0x32')]=_[_0x2279('0x49')](db[_0x2279('0x50')][_0x2279('0x4a')]);_0x461eeb[_0x2279('0x33')]=_['keys'](_0x42eb4f[_0x2279('0x33')]);_0x461eeb['filters']=_[_0x2279('0x36')](_0x461eeb['model'],_0x461eeb[_0x2279('0x33')]);_0x42dd5c[_0x2279('0x35')]=_[_0x2279('0x36')](_0x461eeb[_0x2279('0x32')],qs[_0x2279('0x37')](_0x42eb4f[_0x2279('0x33')][_0x2279('0x37')]));_0x42dd5c[_0x2279('0x35')]=_0x42dd5c[_0x2279('0x35')][_0x2279('0x38')]?_0x42dd5c['attributes']:_0x461eeb[_0x2279('0x32')];_0x42dd5c[_0x2279('0x3b')]=qs[_0x2279('0x3c')](_0x42eb4f[_0x2279('0x33')][_0x2279('0x3c')]);_0x42dd5c['where']=qs['filters'](_[_0x2279('0x3e')](_0x42eb4f[_0x2279('0x33')],_0x461eeb[_0x2279('0x34')]));if(_0x42eb4f[_0x2279('0x33')][_0x2279('0x40')]){_0x42dd5c[_0x2279('0x3d')]=_[_0x2279('0x3f')](_0x42dd5c[_0x2279('0x3d')],{'$or':_[_0x2279('0x2d')](_0x42dd5c[_0x2279('0x35')],function(_0x189d0d){var _0x53ef7c={};_0x53ef7c[_0x189d0d]={'$like':'%'+_0x42eb4f[_0x2279('0x33')][_0x2279('0x40')]+'%'};return _0x53ef7c;})});}_0x42dd5c=_[_0x2279('0x3f')]({},_0x42dd5c,_0x42eb4f['options']);return _0x47a122[_0x2279('0x4e')](_0x42dd5c);}})[_0x2279('0x28')](function(_0x11433e){if(_0x11433e){_0x3f8425=_0x11433e['length'];if(!_0x42eb4f[_0x2279('0x33')][_0x2279('0x39')]('nolimit')){_0x42dd5c[_0x2279('0x3a')]=qs[_0x2279('0x3a')](_0x42eb4f[_0x2279('0x33')][_0x2279('0x3a')]);_0x42dd5c['offset']=qs['offset'](_0x42eb4f['query'][_0x2279('0x23')]);}return _0x47a122['getFields'](_0x42dd5c);}})[_0x2279('0x28')](function(_0x4f8155){if(_0x4f8155){return _0x4f8155?{'count':_0x3f8425,'rows':_0x4f8155}:null;}})[_0x2279('0x28')](respondWithResult(_0x4c5167,null))[_0x2279('0x1f')](handleError(_0x4c5167,null));};exports[_0x2279('0x51')]=function(_0x25514b,_0x5ea660,_0x4da0e3){var _0x1d4967={};var _0x42efe0={};var _0x1b662a;var _0x16d2f9;return db[_0x2279('0x2e')]['findOne']({'where':{'id':_0x25514b[_0x2279('0x48')]['id']}})[_0x2279('0x28')](handleEntityNotFound(_0x5ea660,null))[_0x2279('0x28')](function(_0x2699be){if(_0x2699be){_0x1b662a=_0x2699be;_0x42efe0[_0x2279('0x32')]=_[_0x2279('0x49')](db[_0x2279('0x50')][_0x2279('0x4a')]);_0x42efe0['query']=_[_0x2279('0x49')](_0x25514b[_0x2279('0x33')]);_0x42efe0[_0x2279('0x34')]=_['intersection'](_0x42efe0[_0x2279('0x32')],_0x42efe0[_0x2279('0x33')]);_0x1d4967['attributes']=_[_0x2279('0x36')](_0x42efe0[_0x2279('0x32')],qs[_0x2279('0x37')](_0x25514b[_0x2279('0x33')][_0x2279('0x37')]));_0x1d4967[_0x2279('0x35')]=_0x1d4967[_0x2279('0x35')]['length']?_0x1d4967['attributes']:_0x42efe0[_0x2279('0x32')];_0x1d4967['order']=qs[_0x2279('0x3c')](_0x25514b[_0x2279('0x33')][_0x2279('0x3c')]);_0x1d4967[_0x2279('0x3d')]=qs[_0x2279('0x34')](_['pick'](_0x25514b[_0x2279('0x33')],_0x42efe0[_0x2279('0x34')]));if(_0x25514b['query'][_0x2279('0x40')]){_0x1d4967[_0x2279('0x3d')]=_[_0x2279('0x3f')](_0x1d4967[_0x2279('0x3d')],{'$or':_[_0x2279('0x2d')](_0x1d4967[_0x2279('0x35')],function(_0xf88a24){var _0x51d0d2={};_0x51d0d2[_0xf88a24]={'$like':'%'+_0x25514b[_0x2279('0x33')][_0x2279('0x40')]+'%'};return _0x51d0d2;})});}_0x1d4967=_[_0x2279('0x3f')]({},_0x1d4967,_0x25514b[_0x2279('0x41')]);return _0x1b662a[_0x2279('0x51')](_0x1d4967);}})['then'](function(_0x4a75a3){if(_0x4a75a3){_0x16d2f9=_0x4a75a3[_0x2279('0x38')];if(!_0x25514b[_0x2279('0x33')]['hasOwnProperty']('nolimit')){_0x1d4967[_0x2279('0x3a')]=qs[_0x2279('0x3a')](_0x25514b['query'][_0x2279('0x3a')]);_0x1d4967[_0x2279('0x23')]=qs[_0x2279('0x23')](_0x25514b[_0x2279('0x33')][_0x2279('0x23')]);}return _0x1b662a['getSubjects'](_0x1d4967);}})[_0x2279('0x28')](function(_0x44b18d){if(_0x44b18d){return _0x44b18d?{'count':_0x16d2f9,'rows':_0x44b18d}:null;}})[_0x2279('0x28')](respondWithResult(_0x5ea660,null))['catch'](handleError(_0x5ea660,null));};exports[_0x2279('0x52')]=function(_0x132762,_0x1fd639,_0x482d5d){var _0x12a971={};var _0x164901={};var _0xce88de;var _0x1fd19d;return db[_0x2279('0x2e')][_0x2279('0x4f')]({'where':{'id':_0x132762[_0x2279('0x48')]['id']}})['then'](handleEntityNotFound(_0x1fd639,null))[_0x2279('0x28')](function(_0x35e400){if(_0x35e400){_0xce88de=_0x35e400;_0x164901[_0x2279('0x32')]=_['keys'](db['ServicenowField'][_0x2279('0x4a')]);_0x164901['query']=_['keys'](_0x132762[_0x2279('0x33')]);_0x164901[_0x2279('0x34')]=_[_0x2279('0x36')](_0x164901[_0x2279('0x32')],_0x164901[_0x2279('0x33')]);_0x12a971[_0x2279('0x35')]=_[_0x2279('0x36')](_0x164901[_0x2279('0x32')],qs[_0x2279('0x37')](_0x132762[_0x2279('0x33')][_0x2279('0x37')]));_0x12a971[_0x2279('0x35')]=_0x12a971[_0x2279('0x35')][_0x2279('0x38')]?_0x12a971['attributes']:_0x164901[_0x2279('0x32')];_0x12a971[_0x2279('0x3b')]=qs[_0x2279('0x3c')](_0x132762['query'][_0x2279('0x3c')]);_0x12a971[_0x2279('0x3d')]=qs[_0x2279('0x34')](_['pick'](_0x132762['query'],_0x164901[_0x2279('0x34')]));if(_0x132762[_0x2279('0x33')]['filter']){_0x12a971[_0x2279('0x3d')]=_[_0x2279('0x3f')](_0x12a971[_0x2279('0x3d')],{'$or':_[_0x2279('0x2d')](_0x12a971[_0x2279('0x35')],function(_0x5d6b5b){var _0x502cca={};_0x502cca[_0x5d6b5b]={'$like':'%'+_0x132762[_0x2279('0x33')][_0x2279('0x40')]+'%'};return _0x502cca;})});}_0x12a971=_[_0x2279('0x3f')]({},_0x12a971,_0x132762['options']);return _0xce88de[_0x2279('0x52')](_0x12a971);}})[_0x2279('0x28')](function(_0x448b5d){if(_0x448b5d){_0x1fd19d=_0x448b5d[_0x2279('0x38')];if(!_0x132762['query'][_0x2279('0x39')](_0x2279('0x53'))){_0x12a971[_0x2279('0x3a')]=qs[_0x2279('0x3a')](_0x132762[_0x2279('0x33')][_0x2279('0x3a')]);_0x12a971[_0x2279('0x23')]=qs[_0x2279('0x23')](_0x132762[_0x2279('0x33')][_0x2279('0x23')]);}return _0xce88de[_0x2279('0x52')](_0x12a971);}})['then'](function(_0x224be8){if(_0x224be8){return _0x224be8?{'count':_0x1fd19d,'rows':_0x224be8}:null;}})[_0x2279('0x28')](respondWithResult(_0x1fd639,null))[_0x2279('0x1f')](handleError(_0x1fd639,null));};