275ec69df46c8ef44dd22f2b43c18a8f526e814b
[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 _0x8ad1=['type','query','keys','filters','model','attributes','fields','length','nolimit','order','sort','pick','where','merge','filter','options','includeAll','include','findAll','catch','params','intersection','find','create','body','update','getFields','findOne','getSubjects','hasOwnProperty','getDescriptions','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','then','destroy','stack','name','send','index','map','ServicenowConfiguration','rawAttributes'];(function(_0x12d217,_0x5f4790){var _0x1b4ac9=function(_0x251175){while(--_0x251175){_0x12d217['push'](_0x12d217['shift']());}};_0x1b4ac9(++_0x5f4790);}(_0x8ad1,0xbb));var _0x18ad=function(_0x4b5f0f,_0x3f6c32){_0x4b5f0f=_0x4b5f0f-0x0;var _0x2e3350=_0x8ad1[_0x4b5f0f];return _0x2e3350;};'use strict';var emlformat=require(_0x18ad('0x0'));var rimraf=require(_0x18ad('0x1'));var zipdir=require(_0x18ad('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x18ad('0x3'));var moment=require(_0x18ad('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x18ad('0x5'));var util=require(_0x18ad('0x6'));var path=require(_0x18ad('0x7'));var sox=require(_0x18ad('0x8'));var csv=require(_0x18ad('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x18ad('0xa'));var _=require(_0x18ad('0xb'));var squel=require(_0x18ad('0xc'));var crypto=require(_0x18ad('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x18ad('0xe'));var toCsv=require(_0x18ad('0x9'));var querystring=require(_0x18ad('0xf'));var Papa=require(_0x18ad('0x10'));var Redis=require(_0x18ad('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x18ad('0x12'));var as=require(_0x18ad('0x13'));var hardwareService=require(_0x18ad('0x14'));var logger=require(_0x18ad('0x15'))(_0x18ad('0x16'));var utils=require(_0x18ad('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x18ad('0x18'))['db'];function respondWithStatusCode(_0x4d6c07,_0x5e7afd){_0x5e7afd=_0x5e7afd||0xcc;return function(_0x53b6d0){if(_0x53b6d0){return _0x4d6c07[_0x18ad('0x19')](_0x5e7afd);}return _0x4d6c07[_0x18ad('0x1a')](_0x5e7afd)[_0x18ad('0x1b')]();};}function respondWithResult(_0x4fc6a7,_0x10901d){_0x10901d=_0x10901d||0xc8;return function(_0x32fd99){if(_0x32fd99){return _0x4fc6a7[_0x18ad('0x1a')](_0x10901d)[_0x18ad('0x1c')](_0x32fd99);}};}function respondWithFilteredResult(_0x54d353,_0x43c903){return function(_0x18ca50){if(_0x18ca50){var _0x44ac56=typeof _0x43c903[_0x18ad('0x1d')]==='undefined'&&typeof _0x43c903['limit']===_0x18ad('0x1e');var _0x1d5596=_0x18ca50['count'];var _0x562ea8=_0x44ac56?0x0:_0x43c903[_0x18ad('0x1d')];var _0x4d5ee7=_0x44ac56?_0x18ca50[_0x18ad('0x1f')]:_0x43c903[_0x18ad('0x1d')]+_0x43c903[_0x18ad('0x20')];var _0x2446cc;if(_0x4d5ee7>=_0x1d5596){_0x4d5ee7=_0x1d5596;_0x2446cc=0xc8;}else{_0x2446cc=0xce;}_0x54d353[_0x18ad('0x1a')](_0x2446cc);return _0x54d353[_0x18ad('0x21')](_0x18ad('0x22'),_0x562ea8+'-'+_0x4d5ee7+'/'+_0x1d5596)[_0x18ad('0x1c')](_0x18ca50);}return null;};}function patchUpdates(_0x208a26){return function(_0xb97fdb){try{jsonpatch[_0x18ad('0x23')](_0xb97fdb,_0x208a26,!![]);}catch(_0xd8558d){return BPromise[_0x18ad('0x24')](_0xd8558d);}return _0xb97fdb[_0x18ad('0x25')]();};}function saveUpdates(_0x114aae,_0x3e7905){return function(_0x2dd0f6){if(_0x2dd0f6){return _0x2dd0f6['update'](_0x114aae)[_0x18ad('0x26')](function(_0x530c8d){return _0x530c8d;});}return null;};}function removeEntity(_0xb0f91a,_0x54f83c){return function(_0x28a45c){if(_0x28a45c){return _0x28a45c[_0x18ad('0x27')]()[_0x18ad('0x26')](function(){_0xb0f91a[_0x18ad('0x1a')](0xcc)[_0x18ad('0x1b')]();});}};}function handleEntityNotFound(_0x3281d7,_0x15570a){return function(_0x146919){if(!_0x146919){_0x3281d7[_0x18ad('0x19')](0x194);}return _0x146919;};}function handleError(_0x3e876e,_0x10a2cf){_0x10a2cf=_0x10a2cf||0x1f4;return function(_0x1703ed){logger['error'](_0x1703ed[_0x18ad('0x28')]);if(_0x1703ed[_0x18ad('0x29')]){delete _0x1703ed['name'];}_0x3e876e[_0x18ad('0x1a')](_0x10a2cf)[_0x18ad('0x2a')](_0x1703ed);};}exports[_0x18ad('0x2b')]=function(_0x5ab8d4,_0x5d84d6){var _0x3c1052={},_0x5e8b9b={},_0x44109f={'count':0x0,'rows':[]};var _0x3440eb=_[_0x18ad('0x2c')](db[_0x18ad('0x2d')][_0x18ad('0x2e')],function(_0x49f297){return{'name':_0x49f297['fieldName'],'type':_0x49f297[_0x18ad('0x2f')]['key']};});_0x5e8b9b['model']=_[_0x18ad('0x2c')](_0x3440eb,_0x18ad('0x29'));_0x5e8b9b[_0x18ad('0x30')]=_[_0x18ad('0x31')](_0x5ab8d4['query']);_0x5e8b9b[_0x18ad('0x32')]=_['intersection'](_0x5e8b9b[_0x18ad('0x33')],_0x5e8b9b[_0x18ad('0x30')]);_0x3c1052[_0x18ad('0x34')]=_['intersection'](_0x5e8b9b['model'],qs[_0x18ad('0x35')](_0x5ab8d4['query'][_0x18ad('0x35')]));_0x3c1052['attributes']=_0x3c1052['attributes'][_0x18ad('0x36')]?_0x3c1052[_0x18ad('0x34')]:_0x5e8b9b[_0x18ad('0x33')];if(!_0x5ab8d4[_0x18ad('0x30')]['hasOwnProperty'](_0x18ad('0x37'))){_0x3c1052[_0x18ad('0x20')]=qs[_0x18ad('0x20')](_0x5ab8d4['query'][_0x18ad('0x20')]);_0x3c1052[_0x18ad('0x1d')]=qs['offset'](_0x5ab8d4[_0x18ad('0x30')][_0x18ad('0x1d')]);}_0x3c1052[_0x18ad('0x38')]=qs[_0x18ad('0x39')](_0x5ab8d4['query'][_0x18ad('0x39')]);_0x3c1052['where']=qs['filters'](_[_0x18ad('0x3a')](_0x5ab8d4[_0x18ad('0x30')],_0x5e8b9b['filters']),_0x3440eb);if(_0x5ab8d4[_0x18ad('0x30')]['filter']){_0x3c1052[_0x18ad('0x3b')]=_[_0x18ad('0x3c')](_0x3c1052[_0x18ad('0x3b')],{'$or':_[_0x18ad('0x2c')](_0x3440eb,function(_0xd5a301){if(_0xd5a301['type']!=='VIRTUAL'){var _0x18b686={};_0x18b686[_0xd5a301[_0x18ad('0x29')]]={'$like':'%'+_0x5ab8d4['query'][_0x18ad('0x3d')]+'%'};return _0x18b686;}})});}_0x3c1052=_[_0x18ad('0x3c')]({},_0x3c1052,_0x5ab8d4[_0x18ad('0x3e')]);var _0x49f959={'where':_0x3c1052[_0x18ad('0x3b')]};return db[_0x18ad('0x2d')][_0x18ad('0x1f')](_0x49f959)[_0x18ad('0x26')](function(_0x542673){_0x44109f[_0x18ad('0x1f')]=_0x542673;if(_0x5ab8d4[_0x18ad('0x30')][_0x18ad('0x3f')]){_0x3c1052[_0x18ad('0x40')]=[{'all':!![]}];}return db[_0x18ad('0x2d')][_0x18ad('0x41')](_0x3c1052);})[_0x18ad('0x26')](function(_0x45c14e){_0x44109f['rows']=_0x45c14e;return _0x44109f;})['then'](respondWithFilteredResult(_0x5d84d6,_0x3c1052))[_0x18ad('0x42')](handleError(_0x5d84d6,null));};exports['show']=function(_0x49cf7e,_0x3285e4){var _0x32e930={'raw':![],'where':{'id':_0x49cf7e[_0x18ad('0x43')]['id']}},_0x8068ec={};_0x8068ec['model']=_[_0x18ad('0x31')](db[_0x18ad('0x2d')][_0x18ad('0x2e')]);_0x8068ec[_0x18ad('0x30')]=_[_0x18ad('0x31')](_0x49cf7e[_0x18ad('0x30')]);_0x8068ec['filters']=_['intersection'](_0x8068ec[_0x18ad('0x33')],_0x8068ec[_0x18ad('0x30')]);_0x32e930['attributes']=_[_0x18ad('0x44')](_0x8068ec[_0x18ad('0x33')],qs['fields'](_0x49cf7e[_0x18ad('0x30')]['fields']));_0x32e930[_0x18ad('0x34')]=_0x32e930[_0x18ad('0x34')][_0x18ad('0x36')]?_0x32e930[_0x18ad('0x34')]:_0x8068ec[_0x18ad('0x33')];if(_0x49cf7e[_0x18ad('0x30')][_0x18ad('0x3f')]){_0x32e930[_0x18ad('0x40')]=[{'all':!![]}];}_0x32e930=_[_0x18ad('0x3c')]({},_0x32e930,_0x49cf7e[_0x18ad('0x3e')]);return db[_0x18ad('0x2d')][_0x18ad('0x45')](_0x32e930)[_0x18ad('0x26')](handleEntityNotFound(_0x3285e4,null))['then'](respondWithResult(_0x3285e4,null))[_0x18ad('0x42')](handleError(_0x3285e4,null));};exports[_0x18ad('0x46')]=function(_0x5c825a,_0x3274a5){return db['ServicenowConfiguration'][_0x18ad('0x46')](_0x5c825a[_0x18ad('0x47')],{})['then'](respondWithResult(_0x3274a5,0xc9))[_0x18ad('0x42')](handleError(_0x3274a5,null));};exports[_0x18ad('0x48')]=function(_0x3137be,_0x5013e6){if(_0x3137be[_0x18ad('0x47')]['id']){delete _0x3137be[_0x18ad('0x47')]['id'];}return db[_0x18ad('0x2d')][_0x18ad('0x45')]({'where':{'id':_0x3137be[_0x18ad('0x43')]['id']}})[_0x18ad('0x26')](handleEntityNotFound(_0x5013e6,null))['then'](saveUpdates(_0x3137be[_0x18ad('0x47')],null))[_0x18ad('0x26')](respondWithResult(_0x5013e6,null))[_0x18ad('0x42')](handleError(_0x5013e6,null));};exports[_0x18ad('0x27')]=function(_0x23c1e5,_0x11716a){return db['ServicenowConfiguration'][_0x18ad('0x45')]({'where':{'id':_0x23c1e5[_0x18ad('0x43')]['id']}})[_0x18ad('0x26')](handleEntityNotFound(_0x11716a,null))[_0x18ad('0x26')](removeEntity(_0x11716a,null))[_0x18ad('0x42')](handleError(_0x11716a,null));};exports[_0x18ad('0x49')]=function(_0x377f3b,_0x5a4a02,_0x51e101){var _0x226380={};var _0x457bde={};var _0x333cff;var _0x44c827;return db[_0x18ad('0x2d')][_0x18ad('0x4a')]({'where':{'id':_0x377f3b[_0x18ad('0x43')]['id']}})['then'](handleEntityNotFound(_0x5a4a02,null))['then'](function(_0x5afe64){if(_0x5afe64){_0x333cff=_0x5afe64;_0x457bde[_0x18ad('0x33')]=_[_0x18ad('0x31')](db['ServicenowField']['rawAttributes']);_0x457bde[_0x18ad('0x30')]=_[_0x18ad('0x31')](_0x377f3b[_0x18ad('0x30')]);_0x457bde[_0x18ad('0x32')]=_[_0x18ad('0x44')](_0x457bde[_0x18ad('0x33')],_0x457bde[_0x18ad('0x30')]);_0x226380['attributes']=_[_0x18ad('0x44')](_0x457bde[_0x18ad('0x33')],qs[_0x18ad('0x35')](_0x377f3b[_0x18ad('0x30')][_0x18ad('0x35')]));_0x226380[_0x18ad('0x34')]=_0x226380['attributes'][_0x18ad('0x36')]?_0x226380['attributes']:_0x457bde[_0x18ad('0x33')];_0x226380['order']=qs[_0x18ad('0x39')](_0x377f3b[_0x18ad('0x30')][_0x18ad('0x39')]);_0x226380['where']=qs[_0x18ad('0x32')](_[_0x18ad('0x3a')](_0x377f3b[_0x18ad('0x30')],_0x457bde[_0x18ad('0x32')]));if(_0x377f3b['query'][_0x18ad('0x3d')]){_0x226380[_0x18ad('0x3b')]=_[_0x18ad('0x3c')](_0x226380[_0x18ad('0x3b')],{'$or':_['map'](_0x226380[_0x18ad('0x34')],function(_0x2792b2){var _0x3d776f={};_0x3d776f[_0x2792b2]={'$like':'%'+_0x377f3b['query'][_0x18ad('0x3d')]+'%'};return _0x3d776f;})});}_0x226380=_[_0x18ad('0x3c')]({},_0x226380,_0x377f3b['options']);return _0x333cff[_0x18ad('0x49')](_0x226380);}})[_0x18ad('0x26')](function(_0x4255db){if(_0x4255db){_0x44c827=_0x4255db[_0x18ad('0x36')];if(!_0x377f3b[_0x18ad('0x30')]['hasOwnProperty']('nolimit')){_0x226380['limit']=qs[_0x18ad('0x20')](_0x377f3b[_0x18ad('0x30')][_0x18ad('0x20')]);_0x226380[_0x18ad('0x1d')]=qs['offset'](_0x377f3b[_0x18ad('0x30')]['offset']);}return _0x333cff[_0x18ad('0x49')](_0x226380);}})[_0x18ad('0x26')](function(_0x1d3701){if(_0x1d3701){return _0x1d3701?{'count':_0x44c827,'rows':_0x1d3701}:null;}})[_0x18ad('0x26')](respondWithResult(_0x5a4a02,null))[_0x18ad('0x42')](handleError(_0x5a4a02,null));};exports[_0x18ad('0x4b')]=function(_0x416b6d,_0x21cbd2,_0x26fdb6){var _0x3939dc={};var _0x58737e={};var _0x2e8d18;var _0x681953;return db[_0x18ad('0x2d')][_0x18ad('0x4a')]({'where':{'id':_0x416b6d[_0x18ad('0x43')]['id']}})[_0x18ad('0x26')](handleEntityNotFound(_0x21cbd2,null))[_0x18ad('0x26')](function(_0x2c72f1){if(_0x2c72f1){_0x2e8d18=_0x2c72f1;_0x58737e[_0x18ad('0x33')]=_[_0x18ad('0x31')](db['ServicenowField'][_0x18ad('0x2e')]);_0x58737e['query']=_['keys'](_0x416b6d[_0x18ad('0x30')]);_0x58737e[_0x18ad('0x32')]=_[_0x18ad('0x44')](_0x58737e[_0x18ad('0x33')],_0x58737e[_0x18ad('0x30')]);_0x3939dc[_0x18ad('0x34')]=_['intersection'](_0x58737e[_0x18ad('0x33')],qs[_0x18ad('0x35')](_0x416b6d[_0x18ad('0x30')][_0x18ad('0x35')]));_0x3939dc[_0x18ad('0x34')]=_0x3939dc[_0x18ad('0x34')]['length']?_0x3939dc['attributes']:_0x58737e[_0x18ad('0x33')];_0x3939dc[_0x18ad('0x38')]=qs[_0x18ad('0x39')](_0x416b6d[_0x18ad('0x30')][_0x18ad('0x39')]);_0x3939dc[_0x18ad('0x3b')]=qs[_0x18ad('0x32')](_['pick'](_0x416b6d[_0x18ad('0x30')],_0x58737e[_0x18ad('0x32')]));if(_0x416b6d[_0x18ad('0x30')][_0x18ad('0x3d')]){_0x3939dc[_0x18ad('0x3b')]=_[_0x18ad('0x3c')](_0x3939dc[_0x18ad('0x3b')],{'$or':_[_0x18ad('0x2c')](_0x3939dc[_0x18ad('0x34')],function(_0x1c5277){var _0x1a1bb0={};_0x1a1bb0[_0x1c5277]={'$like':'%'+_0x416b6d[_0x18ad('0x30')][_0x18ad('0x3d')]+'%'};return _0x1a1bb0;})});}_0x3939dc=_[_0x18ad('0x3c')]({},_0x3939dc,_0x416b6d[_0x18ad('0x3e')]);return _0x2e8d18[_0x18ad('0x4b')](_0x3939dc);}})[_0x18ad('0x26')](function(_0xe7a27c){if(_0xe7a27c){_0x681953=_0xe7a27c[_0x18ad('0x36')];if(!_0x416b6d['query'][_0x18ad('0x4c')](_0x18ad('0x37'))){_0x3939dc['limit']=qs['limit'](_0x416b6d[_0x18ad('0x30')][_0x18ad('0x20')]);_0x3939dc[_0x18ad('0x1d')]=qs['offset'](_0x416b6d[_0x18ad('0x30')][_0x18ad('0x1d')]);}return _0x2e8d18[_0x18ad('0x4b')](_0x3939dc);}})[_0x18ad('0x26')](function(_0x2bb3d1){if(_0x2bb3d1){return _0x2bb3d1?{'count':_0x681953,'rows':_0x2bb3d1}:null;}})[_0x18ad('0x26')](respondWithResult(_0x21cbd2,null))[_0x18ad('0x42')](handleError(_0x21cbd2,null));};exports[_0x18ad('0x4d')]=function(_0x4d2d95,_0x5a53c0,_0x5ad4dc){var _0x21ed10={};var _0x282511={};var _0x275565;var _0x179fe5;return db[_0x18ad('0x2d')][_0x18ad('0x4a')]({'where':{'id':_0x4d2d95[_0x18ad('0x43')]['id']}})[_0x18ad('0x26')](handleEntityNotFound(_0x5a53c0,null))[_0x18ad('0x26')](function(_0x3385ed){if(_0x3385ed){_0x275565=_0x3385ed;_0x282511[_0x18ad('0x33')]=_['keys'](db['ServicenowField'][_0x18ad('0x2e')]);_0x282511['query']=_[_0x18ad('0x31')](_0x4d2d95[_0x18ad('0x30')]);_0x282511['filters']=_[_0x18ad('0x44')](_0x282511['model'],_0x282511[_0x18ad('0x30')]);_0x21ed10['attributes']=_[_0x18ad('0x44')](_0x282511[_0x18ad('0x33')],qs[_0x18ad('0x35')](_0x4d2d95[_0x18ad('0x30')]['fields']));_0x21ed10['attributes']=_0x21ed10[_0x18ad('0x34')][_0x18ad('0x36')]?_0x21ed10[_0x18ad('0x34')]:_0x282511[_0x18ad('0x33')];_0x21ed10[_0x18ad('0x38')]=qs[_0x18ad('0x39')](_0x4d2d95[_0x18ad('0x30')][_0x18ad('0x39')]);_0x21ed10['where']=qs[_0x18ad('0x32')](_[_0x18ad('0x3a')](_0x4d2d95[_0x18ad('0x30')],_0x282511[_0x18ad('0x32')]));if(_0x4d2d95[_0x18ad('0x30')][_0x18ad('0x3d')]){_0x21ed10[_0x18ad('0x3b')]=_[_0x18ad('0x3c')](_0x21ed10[_0x18ad('0x3b')],{'$or':_[_0x18ad('0x2c')](_0x21ed10[_0x18ad('0x34')],function(_0x35a21f){var _0x1e2848={};_0x1e2848[_0x35a21f]={'$like':'%'+_0x4d2d95[_0x18ad('0x30')]['filter']+'%'};return _0x1e2848;})});}_0x21ed10=_['merge']({},_0x21ed10,_0x4d2d95[_0x18ad('0x3e')]);return _0x275565[_0x18ad('0x4d')](_0x21ed10);}})[_0x18ad('0x26')](function(_0x4dbeed){if(_0x4dbeed){_0x179fe5=_0x4dbeed['length'];if(!_0x4d2d95[_0x18ad('0x30')][_0x18ad('0x4c')](_0x18ad('0x37'))){_0x21ed10[_0x18ad('0x20')]=qs[_0x18ad('0x20')](_0x4d2d95['query'][_0x18ad('0x20')]);_0x21ed10[_0x18ad('0x1d')]=qs['offset'](_0x4d2d95[_0x18ad('0x30')][_0x18ad('0x1d')]);}return _0x275565[_0x18ad('0x4d')](_0x21ed10);}})[_0x18ad('0x26')](function(_0x2be76b){if(_0x2be76b){return _0x2be76b?{'count':_0x179fe5,'rows':_0x2be76b}:null;}})[_0x18ad('0x26')](respondWithResult(_0x5a53c0,null))[_0x18ad('0x42')](handleError(_0x5a53c0,null));};