420045f59737599061b3a67bff508044a755ae62
[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 _0x24aa=['getSubjects','getDescriptions','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','limit','offset','count','apply','reject','update','then','stack','name','send','index','map','ServicenowConfiguration','fieldName','type','key','model','query','keys','filters','attributes','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','rawAttributes','intersection','fields','length','includeAll','find','create','body','destroy','getFields','findOne','ServicenowField','hasOwnProperty'];(function(_0x2bcf24,_0x69755c){var _0x2d823d=function(_0x539d8a){while(--_0x539d8a){_0x2bcf24['push'](_0x2bcf24['shift']());}};_0x2d823d(++_0x69755c);}(_0x24aa,0x146));var _0xa24a=function(_0x566d27,_0x56fc58){_0x566d27=_0x566d27-0x0;var _0x3c6acb=_0x24aa[_0x566d27];return _0x3c6acb;};'use strict';var emlformat=require(_0xa24a('0x0'));var rimraf=require(_0xa24a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa24a('0x2'));var rp=require('request-promise');var moment=require(_0xa24a('0x3'));var BPromise=require(_0xa24a('0x4'));var Mustache=require(_0xa24a('0x5'));var util=require(_0xa24a('0x6'));var path=require(_0xa24a('0x7'));var sox=require(_0xa24a('0x8'));var csv=require(_0xa24a('0x9'));var ejs=require(_0xa24a('0xa'));var fs=require('fs');var fs_extra=require(_0xa24a('0xb'));var _=require(_0xa24a('0xc'));var squel=require(_0xa24a('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa24a('0xe'));var toCsv=require(_0xa24a('0x9'));var querystring=require(_0xa24a('0xf'));var Papa=require(_0xa24a('0x10'));var Redis=require(_0xa24a('0x11'));var authService=require(_0xa24a('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xa24a('0x13'));var hardwareService=require(_0xa24a('0x14'));var logger=require(_0xa24a('0x15'))(_0xa24a('0x16'));var utils=require(_0xa24a('0x17'));var config=require(_0xa24a('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xa24a('0x19'))['db'];function respondWithStatusCode(_0x4a5814,_0x255001){_0x255001=_0x255001||0xcc;return function(_0x3060ed){if(_0x3060ed){return _0x4a5814[_0xa24a('0x1a')](_0x255001);}return _0x4a5814[_0xa24a('0x1b')](_0x255001)[_0xa24a('0x1c')]();};}function respondWithResult(_0x1cd9a0,_0x33716a){_0x33716a=_0x33716a||0xc8;return function(_0x4f6145){if(_0x4f6145){return _0x1cd9a0['status'](_0x33716a)[_0xa24a('0x1d')](_0x4f6145);}};}function respondWithFilteredResult(_0x50a54b,_0x385e4b){return function(_0x2a9080){if(_0x2a9080){var _0x27852c=typeof _0x385e4b['offset']==='undefined'&&typeof _0x385e4b[_0xa24a('0x1e')]==='undefined';var _0x4e1477=_0x2a9080['count'];var _0x29709a=_0x27852c?0x0:_0x385e4b[_0xa24a('0x1f')];var _0x350867=_0x27852c?_0x2a9080[_0xa24a('0x20')]:_0x385e4b[_0xa24a('0x1f')]+_0x385e4b[_0xa24a('0x1e')];var _0x36075a;if(_0x350867>=_0x4e1477){_0x350867=_0x4e1477;_0x36075a=0xc8;}else{_0x36075a=0xce;}_0x50a54b[_0xa24a('0x1b')](_0x36075a);return _0x50a54b['set']('Content-Range',_0x29709a+'-'+_0x350867+'/'+_0x4e1477)[_0xa24a('0x1d')](_0x2a9080);}return null;};}function patchUpdates(_0x3b5488){return function(_0x4c8bdf){try{jsonpatch[_0xa24a('0x21')](_0x4c8bdf,_0x3b5488,!![]);}catch(_0xd29180){return BPromise[_0xa24a('0x22')](_0xd29180);}return _0x4c8bdf['save']();};}function saveUpdates(_0x1f486b,_0xd613f9){return function(_0x15872e){if(_0x15872e){return _0x15872e[_0xa24a('0x23')](_0x1f486b)[_0xa24a('0x24')](function(_0x56750d){return _0x56750d;});}return null;};}function removeEntity(_0x5b0689,_0x5d0b13){return function(_0x417d49){if(_0x417d49){return _0x417d49['destroy']()[_0xa24a('0x24')](function(){_0x5b0689[_0xa24a('0x1b')](0xcc)[_0xa24a('0x1c')]();});}};}function handleEntityNotFound(_0xb0ab42,_0x3ba282){return function(_0x3197ce){if(!_0x3197ce){_0xb0ab42['sendStatus'](0x194);}return _0x3197ce;};}function handleError(_0x479078,_0x3e4802){_0x3e4802=_0x3e4802||0x1f4;return function(_0x5eab36){logger['error'](_0x5eab36[_0xa24a('0x25')]);if(_0x5eab36[_0xa24a('0x26')]){delete _0x5eab36[_0xa24a('0x26')];}_0x479078[_0xa24a('0x1b')](_0x3e4802)[_0xa24a('0x27')](_0x5eab36);};}exports[_0xa24a('0x28')]=function(_0x52bfac,_0x108c1f){var _0x5ad512={},_0x5a4f54={},_0x1ae59a={'count':0x0,'rows':[]};var _0x284af8=_[_0xa24a('0x29')](db[_0xa24a('0x2a')]['rawAttributes'],function(_0x333393){return{'name':_0x333393[_0xa24a('0x2b')],'type':_0x333393[_0xa24a('0x2c')][_0xa24a('0x2d')]};});_0x5a4f54[_0xa24a('0x2e')]=_['map'](_0x284af8,'name');_0x5a4f54[_0xa24a('0x2f')]=_[_0xa24a('0x30')](_0x52bfac['query']);_0x5a4f54[_0xa24a('0x31')]=_['intersection'](_0x5a4f54[_0xa24a('0x2e')],_0x5a4f54[_0xa24a('0x2f')]);_0x5ad512['attributes']=_['intersection'](_0x5a4f54[_0xa24a('0x2e')],qs['fields'](_0x52bfac[_0xa24a('0x2f')]['fields']));_0x5ad512[_0xa24a('0x32')]=_0x5ad512['attributes']['length']?_0x5ad512[_0xa24a('0x32')]:_0x5a4f54[_0xa24a('0x2e')];if(!_0x52bfac[_0xa24a('0x2f')]['hasOwnProperty'](_0xa24a('0x33'))){_0x5ad512[_0xa24a('0x1e')]=qs[_0xa24a('0x1e')](_0x52bfac[_0xa24a('0x2f')][_0xa24a('0x1e')]);_0x5ad512[_0xa24a('0x1f')]=qs[_0xa24a('0x1f')](_0x52bfac[_0xa24a('0x2f')][_0xa24a('0x1f')]);}_0x5ad512[_0xa24a('0x34')]=qs[_0xa24a('0x35')](_0x52bfac[_0xa24a('0x2f')][_0xa24a('0x35')]);_0x5ad512[_0xa24a('0x36')]=qs[_0xa24a('0x31')](_[_0xa24a('0x37')](_0x52bfac[_0xa24a('0x2f')],_0x5a4f54[_0xa24a('0x31')]),_0x284af8);if(_0x52bfac[_0xa24a('0x2f')][_0xa24a('0x38')]){_0x5ad512[_0xa24a('0x36')]=_[_0xa24a('0x39')](_0x5ad512[_0xa24a('0x36')],{'$or':_['map'](_0x284af8,function(_0x20549c){if(_0x20549c[_0xa24a('0x2c')]!==_0xa24a('0x3a')){var _0x54c25d={};_0x54c25d[_0x20549c[_0xa24a('0x26')]]={'$like':'%'+_0x52bfac[_0xa24a('0x2f')]['filter']+'%'};return _0x54c25d;}})});}_0x5ad512=_[_0xa24a('0x39')]({},_0x5ad512,_0x52bfac[_0xa24a('0x3b')]);var _0x53fe51={'where':_0x5ad512['where']};return db[_0xa24a('0x2a')][_0xa24a('0x20')](_0x53fe51)['then'](function(_0x51f3fd){_0x1ae59a[_0xa24a('0x20')]=_0x51f3fd;if(_0x52bfac[_0xa24a('0x2f')]['includeAll']){_0x5ad512[_0xa24a('0x3c')]=[{'all':!![]}];}return db[_0xa24a('0x2a')][_0xa24a('0x3d')](_0x5ad512);})[_0xa24a('0x24')](function(_0x31dcb4){_0x1ae59a[_0xa24a('0x3e')]=_0x31dcb4;return _0x1ae59a;})[_0xa24a('0x24')](respondWithFilteredResult(_0x108c1f,_0x5ad512))[_0xa24a('0x3f')](handleError(_0x108c1f,null));};exports[_0xa24a('0x40')]=function(_0x436f7a,_0x2a0a2b){var _0x30be4a={'raw':![],'where':{'id':_0x436f7a[_0xa24a('0x41')]['id']}},_0x4f5e38={};_0x4f5e38[_0xa24a('0x2e')]=_[_0xa24a('0x30')](db[_0xa24a('0x2a')][_0xa24a('0x42')]);_0x4f5e38[_0xa24a('0x2f')]=_[_0xa24a('0x30')](_0x436f7a[_0xa24a('0x2f')]);_0x4f5e38[_0xa24a('0x31')]=_[_0xa24a('0x43')](_0x4f5e38[_0xa24a('0x2e')],_0x4f5e38[_0xa24a('0x2f')]);_0x30be4a['attributes']=_[_0xa24a('0x43')](_0x4f5e38[_0xa24a('0x2e')],qs[_0xa24a('0x44')](_0x436f7a[_0xa24a('0x2f')][_0xa24a('0x44')]));_0x30be4a[_0xa24a('0x32')]=_0x30be4a[_0xa24a('0x32')][_0xa24a('0x45')]?_0x30be4a[_0xa24a('0x32')]:_0x4f5e38[_0xa24a('0x2e')];if(_0x436f7a[_0xa24a('0x2f')][_0xa24a('0x46')]){_0x30be4a[_0xa24a('0x3c')]=[{'all':!![]}];}_0x30be4a=_['merge']({},_0x30be4a,_0x436f7a[_0xa24a('0x3b')]);return db[_0xa24a('0x2a')][_0xa24a('0x47')](_0x30be4a)[_0xa24a('0x24')](handleEntityNotFound(_0x2a0a2b,null))[_0xa24a('0x24')](respondWithResult(_0x2a0a2b,null))[_0xa24a('0x3f')](handleError(_0x2a0a2b,null));};exports['create']=function(_0x2612b5,_0x112a4d){return db[_0xa24a('0x2a')][_0xa24a('0x48')](_0x2612b5[_0xa24a('0x49')],{})[_0xa24a('0x24')](respondWithResult(_0x112a4d,0xc9))[_0xa24a('0x3f')](handleError(_0x112a4d,null));};exports[_0xa24a('0x23')]=function(_0x127ae5,_0x42c6d6){if(_0x127ae5[_0xa24a('0x49')]['id']){delete _0x127ae5[_0xa24a('0x49')]['id'];}return db[_0xa24a('0x2a')][_0xa24a('0x47')]({'where':{'id':_0x127ae5[_0xa24a('0x41')]['id']}})[_0xa24a('0x24')](handleEntityNotFound(_0x42c6d6,null))[_0xa24a('0x24')](saveUpdates(_0x127ae5[_0xa24a('0x49')],null))[_0xa24a('0x24')](respondWithResult(_0x42c6d6,null))[_0xa24a('0x3f')](handleError(_0x42c6d6,null));};exports[_0xa24a('0x4a')]=function(_0x1d0eb5,_0x3fecf5){return db[_0xa24a('0x2a')][_0xa24a('0x47')]({'where':{'id':_0x1d0eb5[_0xa24a('0x41')]['id']}})[_0xa24a('0x24')](handleEntityNotFound(_0x3fecf5,null))['then'](removeEntity(_0x3fecf5,null))['catch'](handleError(_0x3fecf5,null));};exports[_0xa24a('0x4b')]=function(_0x21d9b9,_0x1cf837,_0x29b8cd){var _0xa2e212={};var _0x31dcdb={};var _0x3d9720;var _0x5d7277;return db['ServicenowConfiguration'][_0xa24a('0x4c')]({'where':{'id':_0x21d9b9[_0xa24a('0x41')]['id']}})['then'](handleEntityNotFound(_0x1cf837,null))[_0xa24a('0x24')](function(_0x3f6c1e){if(_0x3f6c1e){_0x3d9720=_0x3f6c1e;_0x31dcdb[_0xa24a('0x2e')]=_[_0xa24a('0x30')](db[_0xa24a('0x4d')][_0xa24a('0x42')]);_0x31dcdb['query']=_[_0xa24a('0x30')](_0x21d9b9[_0xa24a('0x2f')]);_0x31dcdb['filters']=_[_0xa24a('0x43')](_0x31dcdb[_0xa24a('0x2e')],_0x31dcdb['query']);_0xa2e212['attributes']=_[_0xa24a('0x43')](_0x31dcdb[_0xa24a('0x2e')],qs[_0xa24a('0x44')](_0x21d9b9[_0xa24a('0x2f')][_0xa24a('0x44')]));_0xa2e212[_0xa24a('0x32')]=_0xa2e212[_0xa24a('0x32')]['length']?_0xa2e212[_0xa24a('0x32')]:_0x31dcdb[_0xa24a('0x2e')];_0xa2e212[_0xa24a('0x34')]=qs[_0xa24a('0x35')](_0x21d9b9['query'][_0xa24a('0x35')]);_0xa2e212[_0xa24a('0x36')]=qs[_0xa24a('0x31')](_['pick'](_0x21d9b9[_0xa24a('0x2f')],_0x31dcdb[_0xa24a('0x31')]));if(_0x21d9b9[_0xa24a('0x2f')]['filter']){_0xa2e212[_0xa24a('0x36')]=_[_0xa24a('0x39')](_0xa2e212[_0xa24a('0x36')],{'$or':_[_0xa24a('0x29')](_0xa2e212[_0xa24a('0x32')],function(_0x4cf6c1){var _0x4d1143={};_0x4d1143[_0x4cf6c1]={'$like':'%'+_0x21d9b9[_0xa24a('0x2f')][_0xa24a('0x38')]+'%'};return _0x4d1143;})});}_0xa2e212=_[_0xa24a('0x39')]({},_0xa2e212,_0x21d9b9['options']);return _0x3d9720[_0xa24a('0x4b')](_0xa2e212);}})['then'](function(_0x345b3a){if(_0x345b3a){_0x5d7277=_0x345b3a[_0xa24a('0x45')];if(!_0x21d9b9[_0xa24a('0x2f')][_0xa24a('0x4e')](_0xa24a('0x33'))){_0xa2e212['limit']=qs[_0xa24a('0x1e')](_0x21d9b9[_0xa24a('0x2f')][_0xa24a('0x1e')]);_0xa2e212[_0xa24a('0x1f')]=qs[_0xa24a('0x1f')](_0x21d9b9[_0xa24a('0x2f')][_0xa24a('0x1f')]);}return _0x3d9720[_0xa24a('0x4b')](_0xa2e212);}})[_0xa24a('0x24')](function(_0x2de02f){if(_0x2de02f){return _0x2de02f?{'count':_0x5d7277,'rows':_0x2de02f}:null;}})[_0xa24a('0x24')](respondWithResult(_0x1cf837,null))[_0xa24a('0x3f')](handleError(_0x1cf837,null));};exports[_0xa24a('0x4f')]=function(_0x2d70cf,_0x4c624d,_0x11e53c){var _0x5452a5={};var _0x16f820={};var _0x34a5e1;var _0x7bff5c;return db[_0xa24a('0x2a')][_0xa24a('0x4c')]({'where':{'id':_0x2d70cf[_0xa24a('0x41')]['id']}})[_0xa24a('0x24')](handleEntityNotFound(_0x4c624d,null))[_0xa24a('0x24')](function(_0x547eaf){if(_0x547eaf){_0x34a5e1=_0x547eaf;_0x16f820[_0xa24a('0x2e')]=_['keys'](db[_0xa24a('0x4d')]['rawAttributes']);_0x16f820[_0xa24a('0x2f')]=_[_0xa24a('0x30')](_0x2d70cf[_0xa24a('0x2f')]);_0x16f820[_0xa24a('0x31')]=_[_0xa24a('0x43')](_0x16f820[_0xa24a('0x2e')],_0x16f820[_0xa24a('0x2f')]);_0x5452a5[_0xa24a('0x32')]=_[_0xa24a('0x43')](_0x16f820['model'],qs[_0xa24a('0x44')](_0x2d70cf[_0xa24a('0x2f')][_0xa24a('0x44')]));_0x5452a5[_0xa24a('0x32')]=_0x5452a5[_0xa24a('0x32')]['length']?_0x5452a5[_0xa24a('0x32')]:_0x16f820['model'];_0x5452a5['order']=qs[_0xa24a('0x35')](_0x2d70cf[_0xa24a('0x2f')][_0xa24a('0x35')]);_0x5452a5['where']=qs[_0xa24a('0x31')](_[_0xa24a('0x37')](_0x2d70cf[_0xa24a('0x2f')],_0x16f820[_0xa24a('0x31')]));if(_0x2d70cf['query'][_0xa24a('0x38')]){_0x5452a5['where']=_['merge'](_0x5452a5[_0xa24a('0x36')],{'$or':_['map'](_0x5452a5[_0xa24a('0x32')],function(_0x524a8e){var _0x1fae95={};_0x1fae95[_0x524a8e]={'$like':'%'+_0x2d70cf[_0xa24a('0x2f')][_0xa24a('0x38')]+'%'};return _0x1fae95;})});}_0x5452a5=_[_0xa24a('0x39')]({},_0x5452a5,_0x2d70cf[_0xa24a('0x3b')]);return _0x34a5e1[_0xa24a('0x4f')](_0x5452a5);}})[_0xa24a('0x24')](function(_0x378b37){if(_0x378b37){_0x7bff5c=_0x378b37[_0xa24a('0x45')];if(!_0x2d70cf[_0xa24a('0x2f')][_0xa24a('0x4e')]('nolimit')){_0x5452a5['limit']=qs[_0xa24a('0x1e')](_0x2d70cf[_0xa24a('0x2f')][_0xa24a('0x1e')]);_0x5452a5[_0xa24a('0x1f')]=qs[_0xa24a('0x1f')](_0x2d70cf[_0xa24a('0x2f')][_0xa24a('0x1f')]);}return _0x34a5e1['getSubjects'](_0x5452a5);}})['then'](function(_0xba3197){if(_0xba3197){return _0xba3197?{'count':_0x7bff5c,'rows':_0xba3197}:null;}})[_0xa24a('0x24')](respondWithResult(_0x4c624d,null))[_0xa24a('0x3f')](handleError(_0x4c624d,null));};exports[_0xa24a('0x50')]=function(_0x30b6a7,_0x18faff,_0x3e9f56){var _0x33614d={};var _0x5baeae={};var _0x34e05e;var _0x362359;return db[_0xa24a('0x2a')][_0xa24a('0x4c')]({'where':{'id':_0x30b6a7[_0xa24a('0x41')]['id']}})[_0xa24a('0x24')](handleEntityNotFound(_0x18faff,null))[_0xa24a('0x24')](function(_0x27772a){if(_0x27772a){_0x34e05e=_0x27772a;_0x5baeae[_0xa24a('0x2e')]=_[_0xa24a('0x30')](db[_0xa24a('0x4d')][_0xa24a('0x42')]);_0x5baeae[_0xa24a('0x2f')]=_[_0xa24a('0x30')](_0x30b6a7[_0xa24a('0x2f')]);_0x5baeae[_0xa24a('0x31')]=_[_0xa24a('0x43')](_0x5baeae[_0xa24a('0x2e')],_0x5baeae[_0xa24a('0x2f')]);_0x33614d['attributes']=_[_0xa24a('0x43')](_0x5baeae['model'],qs[_0xa24a('0x44')](_0x30b6a7[_0xa24a('0x2f')][_0xa24a('0x44')]));_0x33614d[_0xa24a('0x32')]=_0x33614d['attributes'][_0xa24a('0x45')]?_0x33614d['attributes']:_0x5baeae['model'];_0x33614d[_0xa24a('0x34')]=qs[_0xa24a('0x35')](_0x30b6a7[_0xa24a('0x2f')][_0xa24a('0x35')]);_0x33614d[_0xa24a('0x36')]=qs['filters'](_['pick'](_0x30b6a7[_0xa24a('0x2f')],_0x5baeae['filters']));if(_0x30b6a7[_0xa24a('0x2f')]['filter']){_0x33614d[_0xa24a('0x36')]=_[_0xa24a('0x39')](_0x33614d[_0xa24a('0x36')],{'$or':_[_0xa24a('0x29')](_0x33614d[_0xa24a('0x32')],function(_0x52808a){var _0x5372cb={};_0x5372cb[_0x52808a]={'$like':'%'+_0x30b6a7[_0xa24a('0x2f')]['filter']+'%'};return _0x5372cb;})});}_0x33614d=_[_0xa24a('0x39')]({},_0x33614d,_0x30b6a7[_0xa24a('0x3b')]);return _0x34e05e[_0xa24a('0x50')](_0x33614d);}})[_0xa24a('0x24')](function(_0x43af47){if(_0x43af47){_0x362359=_0x43af47['length'];if(!_0x30b6a7[_0xa24a('0x2f')][_0xa24a('0x4e')]('nolimit')){_0x33614d[_0xa24a('0x1e')]=qs[_0xa24a('0x1e')](_0x30b6a7['query'][_0xa24a('0x1e')]);_0x33614d[_0xa24a('0x1f')]=qs[_0xa24a('0x1f')](_0x30b6a7[_0xa24a('0x2f')][_0xa24a('0x1f')]);}return _0x34e05e[_0xa24a('0x50')](_0x33614d);}})['then'](function(_0x3334b5){if(_0x3334b5){return _0x3334b5?{'count':_0x362359,'rows':_0x3334b5}:null;}})[_0xa24a('0x24')](respondWithResult(_0x18faff,null))[_0xa24a('0x3f')](handleError(_0x18faff,null));};