Built motion from commit 896e83a8.|2.6.30
[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 _0xb979=['includeAll','find','create','body','update','getFields','findOne','ServicenowField','sort','nolimit','getSubjects','hasOwnProperty','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','undefined','limit','count','offset','set','Content-Range','json','apply','reject','save','then','destroy','error','stack','name','send','index','ServicenowConfiguration','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','order','where','pick','merge','VIRTUAL','filter','options','include','findAll','catch','show','params'];(function(_0x47cc5b,_0x568584){var _0x2efe35=function(_0x454831){while(--_0x454831){_0x47cc5b['push'](_0x47cc5b['shift']());}};_0x2efe35(++_0x568584);}(_0xb979,0x19d));var _0x9b97=function(_0x453f0b,_0x347eba){_0x453f0b=_0x453f0b-0x0;var _0xacc07f=_0xb979[_0x453f0b];return _0xacc07f;};'use strict';var emlformat=require(_0x9b97('0x0'));var rimraf=require(_0x9b97('0x1'));var zipdir=require(_0x9b97('0x2'));var jsonpatch=require(_0x9b97('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x9b97('0x4'));var Mustache=require(_0x9b97('0x5'));var util=require(_0x9b97('0x6'));var path=require('path');var sox=require(_0x9b97('0x7'));var csv=require(_0x9b97('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9b97('0x9'));var _=require('lodash');var squel=require(_0x9b97('0xa'));var crypto=require(_0x9b97('0xb'));var jsforce=require(_0x9b97('0xc'));var deskjs=require(_0x9b97('0xd'));var toCsv=require(_0x9b97('0x8'));var querystring=require('querystring');var Papa=require(_0x9b97('0xe'));var Redis=require(_0x9b97('0xf'));var authService=require(_0x9b97('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x9b97('0x11'))(_0x9b97('0x12'));var utils=require(_0x9b97('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9b97('0x14'))['db'];function respondWithStatusCode(_0x4c064b,_0x201f69){_0x201f69=_0x201f69||0xcc;return function(_0x20271d){if(_0x20271d){return _0x4c064b[_0x9b97('0x15')](_0x201f69);}return _0x4c064b[_0x9b97('0x16')](_0x201f69)[_0x9b97('0x17')]();};}function respondWithResult(_0x582a4c,_0x5c88ac){_0x5c88ac=_0x5c88ac||0xc8;return function(_0x591a49){if(_0x591a49){return _0x582a4c['status'](_0x5c88ac)['json'](_0x591a49);}};}function respondWithFilteredResult(_0x1a5541,_0x273789){return function(_0x6681f){if(_0x6681f){var _0x16ea71=typeof _0x273789['offset']===_0x9b97('0x18')&&typeof _0x273789[_0x9b97('0x19')]===_0x9b97('0x18');var _0x4188ad=_0x6681f[_0x9b97('0x1a')];var _0x240b5c=_0x16ea71?0x0:_0x273789[_0x9b97('0x1b')];var _0x1b84a4=_0x16ea71?_0x6681f[_0x9b97('0x1a')]:_0x273789[_0x9b97('0x1b')]+_0x273789[_0x9b97('0x19')];var _0x33994b;if(_0x1b84a4>=_0x4188ad){_0x1b84a4=_0x4188ad;_0x33994b=0xc8;}else{_0x33994b=0xce;}_0x1a5541[_0x9b97('0x16')](_0x33994b);return _0x1a5541[_0x9b97('0x1c')](_0x9b97('0x1d'),_0x240b5c+'-'+_0x1b84a4+'/'+_0x4188ad)[_0x9b97('0x1e')](_0x6681f);}return null;};}function patchUpdates(_0xeddea8){return function(_0x4fe289){try{jsonpatch[_0x9b97('0x1f')](_0x4fe289,_0xeddea8,!![]);}catch(_0x4a2a3c){return BPromise[_0x9b97('0x20')](_0x4a2a3c);}return _0x4fe289[_0x9b97('0x21')]();};}function saveUpdates(_0x225c50,_0x2c5d05){return function(_0xe201d9){if(_0xe201d9){return _0xe201d9['update'](_0x225c50)[_0x9b97('0x22')](function(_0x551b6a){return _0x551b6a;});}return null;};}function removeEntity(_0x11a35f,_0x545f55){return function(_0x47a8e7){if(_0x47a8e7){return _0x47a8e7[_0x9b97('0x23')]()[_0x9b97('0x22')](function(){_0x11a35f[_0x9b97('0x16')](0xcc)[_0x9b97('0x17')]();});}};}function handleEntityNotFound(_0x4aca0d,_0x6d115f){return function(_0x1e59ac){if(!_0x1e59ac){_0x4aca0d['sendStatus'](0x194);}return _0x1e59ac;};}function handleError(_0x123991,_0x4f46e8){_0x4f46e8=_0x4f46e8||0x1f4;return function(_0x44aa2a){logger[_0x9b97('0x24')](_0x44aa2a[_0x9b97('0x25')]);if(_0x44aa2a[_0x9b97('0x26')]){delete _0x44aa2a['name'];}_0x123991['status'](_0x4f46e8)[_0x9b97('0x27')](_0x44aa2a);};}exports[_0x9b97('0x28')]=function(_0x49b61b,_0x3964e7){var _0x54af91={},_0x196a0c={},_0xeccb01={'count':0x0,'rows':[]};var _0x5a34fd=_['map'](db[_0x9b97('0x29')][_0x9b97('0x2a')],function(_0x17f457){return{'name':_0x17f457[_0x9b97('0x2b')],'type':_0x17f457[_0x9b97('0x2c')][_0x9b97('0x2d')]};});_0x196a0c[_0x9b97('0x2e')]=_[_0x9b97('0x2f')](_0x5a34fd,_0x9b97('0x26'));_0x196a0c[_0x9b97('0x30')]=_[_0x9b97('0x31')](_0x49b61b[_0x9b97('0x30')]);_0x196a0c[_0x9b97('0x32')]=_[_0x9b97('0x33')](_0x196a0c['model'],_0x196a0c['query']);_0x54af91[_0x9b97('0x34')]=_[_0x9b97('0x33')](_0x196a0c['model'],qs[_0x9b97('0x35')](_0x49b61b['query'][_0x9b97('0x35')]));_0x54af91[_0x9b97('0x34')]=_0x54af91[_0x9b97('0x34')][_0x9b97('0x36')]?_0x54af91[_0x9b97('0x34')]:_0x196a0c[_0x9b97('0x2e')];if(!_0x49b61b[_0x9b97('0x30')]['hasOwnProperty']('nolimit')){_0x54af91['limit']=qs[_0x9b97('0x19')](_0x49b61b[_0x9b97('0x30')][_0x9b97('0x19')]);_0x54af91[_0x9b97('0x1b')]=qs[_0x9b97('0x1b')](_0x49b61b[_0x9b97('0x30')][_0x9b97('0x1b')]);}_0x54af91[_0x9b97('0x37')]=qs['sort'](_0x49b61b['query']['sort']);_0x54af91[_0x9b97('0x38')]=qs['filters'](_[_0x9b97('0x39')](_0x49b61b[_0x9b97('0x30')],_0x196a0c[_0x9b97('0x32')]),_0x5a34fd);if(_0x49b61b['query']['filter']){_0x54af91['where']=_[_0x9b97('0x3a')](_0x54af91[_0x9b97('0x38')],{'$or':_[_0x9b97('0x2f')](_0x5a34fd,function(_0x4b1bf1){if(_0x4b1bf1[_0x9b97('0x2c')]!==_0x9b97('0x3b')){var _0x492f32={};_0x492f32[_0x4b1bf1['name']]={'$like':'%'+_0x49b61b[_0x9b97('0x30')][_0x9b97('0x3c')]+'%'};return _0x492f32;}})});}_0x54af91=_[_0x9b97('0x3a')]({},_0x54af91,_0x49b61b[_0x9b97('0x3d')]);var _0x2a6f83={'where':_0x54af91['where']};return db[_0x9b97('0x29')][_0x9b97('0x1a')](_0x2a6f83)[_0x9b97('0x22')](function(_0x3aea6b){_0xeccb01[_0x9b97('0x1a')]=_0x3aea6b;if(_0x49b61b[_0x9b97('0x30')]['includeAll']){_0x54af91[_0x9b97('0x3e')]=[{'all':!![]}];}return db[_0x9b97('0x29')][_0x9b97('0x3f')](_0x54af91);})[_0x9b97('0x22')](function(_0x554c64){_0xeccb01['rows']=_0x554c64;return _0xeccb01;})[_0x9b97('0x22')](respondWithFilteredResult(_0x3964e7,_0x54af91))[_0x9b97('0x40')](handleError(_0x3964e7,null));};exports[_0x9b97('0x41')]=function(_0x925d12,_0x157c61){var _0xd0ab1f={'raw':![],'where':{'id':_0x925d12[_0x9b97('0x42')]['id']}},_0x9dc1c6={};_0x9dc1c6[_0x9b97('0x2e')]=_[_0x9b97('0x31')](db[_0x9b97('0x29')]['rawAttributes']);_0x9dc1c6[_0x9b97('0x30')]=_[_0x9b97('0x31')](_0x925d12[_0x9b97('0x30')]);_0x9dc1c6[_0x9b97('0x32')]=_['intersection'](_0x9dc1c6[_0x9b97('0x2e')],_0x9dc1c6[_0x9b97('0x30')]);_0xd0ab1f[_0x9b97('0x34')]=_[_0x9b97('0x33')](_0x9dc1c6['model'],qs[_0x9b97('0x35')](_0x925d12['query'][_0x9b97('0x35')]));_0xd0ab1f[_0x9b97('0x34')]=_0xd0ab1f['attributes'][_0x9b97('0x36')]?_0xd0ab1f[_0x9b97('0x34')]:_0x9dc1c6[_0x9b97('0x2e')];if(_0x925d12[_0x9b97('0x30')][_0x9b97('0x43')]){_0xd0ab1f[_0x9b97('0x3e')]=[{'all':!![]}];}_0xd0ab1f=_[_0x9b97('0x3a')]({},_0xd0ab1f,_0x925d12['options']);return db[_0x9b97('0x29')][_0x9b97('0x44')](_0xd0ab1f)[_0x9b97('0x22')](handleEntityNotFound(_0x157c61,null))['then'](respondWithResult(_0x157c61,null))[_0x9b97('0x40')](handleError(_0x157c61,null));};exports[_0x9b97('0x45')]=function(_0x499f08,_0x5bc4bc){return db[_0x9b97('0x29')]['create'](_0x499f08[_0x9b97('0x46')],{})['then'](respondWithResult(_0x5bc4bc,0xc9))[_0x9b97('0x40')](handleError(_0x5bc4bc,null));};exports[_0x9b97('0x47')]=function(_0x4ff0f7,_0x4cf365){if(_0x4ff0f7['body']['id']){delete _0x4ff0f7['body']['id'];}return db[_0x9b97('0x29')][_0x9b97('0x44')]({'where':{'id':_0x4ff0f7['params']['id']}})['then'](handleEntityNotFound(_0x4cf365,null))[_0x9b97('0x22')](saveUpdates(_0x4ff0f7[_0x9b97('0x46')],null))[_0x9b97('0x22')](respondWithResult(_0x4cf365,null))[_0x9b97('0x40')](handleError(_0x4cf365,null));};exports['destroy']=function(_0x26e517,_0x40fdc7){return db[_0x9b97('0x29')][_0x9b97('0x44')]({'where':{'id':_0x26e517[_0x9b97('0x42')]['id']}})[_0x9b97('0x22')](handleEntityNotFound(_0x40fdc7,null))[_0x9b97('0x22')](removeEntity(_0x40fdc7,null))['catch'](handleError(_0x40fdc7,null));};exports[_0x9b97('0x48')]=function(_0x87c380,_0x28feec,_0x5a1721){var _0x318a39={};var _0x48620b={};var _0x412473;var _0x4c95dd;return db[_0x9b97('0x29')][_0x9b97('0x49')]({'where':{'id':_0x87c380[_0x9b97('0x42')]['id']}})[_0x9b97('0x22')](handleEntityNotFound(_0x28feec,null))['then'](function(_0x10e8a9){if(_0x10e8a9){_0x412473=_0x10e8a9;_0x48620b[_0x9b97('0x2e')]=_['keys'](db[_0x9b97('0x4a')][_0x9b97('0x2a')]);_0x48620b[_0x9b97('0x30')]=_['keys'](_0x87c380[_0x9b97('0x30')]);_0x48620b['filters']=_[_0x9b97('0x33')](_0x48620b[_0x9b97('0x2e')],_0x48620b[_0x9b97('0x30')]);_0x318a39[_0x9b97('0x34')]=_[_0x9b97('0x33')](_0x48620b[_0x9b97('0x2e')],qs[_0x9b97('0x35')](_0x87c380[_0x9b97('0x30')][_0x9b97('0x35')]));_0x318a39['attributes']=_0x318a39['attributes']['length']?_0x318a39[_0x9b97('0x34')]:_0x48620b[_0x9b97('0x2e')];_0x318a39['order']=qs[_0x9b97('0x4b')](_0x87c380[_0x9b97('0x30')][_0x9b97('0x4b')]);_0x318a39[_0x9b97('0x38')]=qs[_0x9b97('0x32')](_['pick'](_0x87c380[_0x9b97('0x30')],_0x48620b[_0x9b97('0x32')]));if(_0x87c380[_0x9b97('0x30')][_0x9b97('0x3c')]){_0x318a39['where']=_[_0x9b97('0x3a')](_0x318a39[_0x9b97('0x38')],{'$or':_[_0x9b97('0x2f')](_0x318a39[_0x9b97('0x34')],function(_0x4c407a){var _0x1c64bd={};_0x1c64bd[_0x4c407a]={'$like':'%'+_0x87c380[_0x9b97('0x30')]['filter']+'%'};return _0x1c64bd;})});}_0x318a39=_[_0x9b97('0x3a')]({},_0x318a39,_0x87c380[_0x9b97('0x3d')]);return _0x412473[_0x9b97('0x48')](_0x318a39);}})[_0x9b97('0x22')](function(_0x47cca1){if(_0x47cca1){_0x4c95dd=_0x47cca1[_0x9b97('0x36')];if(!_0x87c380['query']['hasOwnProperty'](_0x9b97('0x4c'))){_0x318a39[_0x9b97('0x19')]=qs[_0x9b97('0x19')](_0x87c380[_0x9b97('0x30')][_0x9b97('0x19')]);_0x318a39[_0x9b97('0x1b')]=qs[_0x9b97('0x1b')](_0x87c380[_0x9b97('0x30')][_0x9b97('0x1b')]);}return _0x412473[_0x9b97('0x48')](_0x318a39);}})[_0x9b97('0x22')](function(_0x59f8b7){if(_0x59f8b7){return _0x59f8b7?{'count':_0x4c95dd,'rows':_0x59f8b7}:null;}})['then'](respondWithResult(_0x28feec,null))[_0x9b97('0x40')](handleError(_0x28feec,null));};exports[_0x9b97('0x4d')]=function(_0x31be87,_0x558622,_0xe7bda6){var _0x4d5ee4={};var _0x4e0394={};var _0x1ec985;var _0x3caae7;return db['ServicenowConfiguration'][_0x9b97('0x49')]({'where':{'id':_0x31be87[_0x9b97('0x42')]['id']}})[_0x9b97('0x22')](handleEntityNotFound(_0x558622,null))[_0x9b97('0x22')](function(_0x2cc641){if(_0x2cc641){_0x1ec985=_0x2cc641;_0x4e0394[_0x9b97('0x2e')]=_[_0x9b97('0x31')](db['ServicenowField'][_0x9b97('0x2a')]);_0x4e0394[_0x9b97('0x30')]=_[_0x9b97('0x31')](_0x31be87['query']);_0x4e0394['filters']=_[_0x9b97('0x33')](_0x4e0394[_0x9b97('0x2e')],_0x4e0394[_0x9b97('0x30')]);_0x4d5ee4[_0x9b97('0x34')]=_['intersection'](_0x4e0394[_0x9b97('0x2e')],qs['fields'](_0x31be87[_0x9b97('0x30')][_0x9b97('0x35')]));_0x4d5ee4[_0x9b97('0x34')]=_0x4d5ee4[_0x9b97('0x34')][_0x9b97('0x36')]?_0x4d5ee4['attributes']:_0x4e0394[_0x9b97('0x2e')];_0x4d5ee4[_0x9b97('0x37')]=qs[_0x9b97('0x4b')](_0x31be87[_0x9b97('0x30')][_0x9b97('0x4b')]);_0x4d5ee4[_0x9b97('0x38')]=qs[_0x9b97('0x32')](_[_0x9b97('0x39')](_0x31be87[_0x9b97('0x30')],_0x4e0394[_0x9b97('0x32')]));if(_0x31be87[_0x9b97('0x30')][_0x9b97('0x3c')]){_0x4d5ee4['where']=_['merge'](_0x4d5ee4[_0x9b97('0x38')],{'$or':_[_0x9b97('0x2f')](_0x4d5ee4['attributes'],function(_0x47ce98){var _0x1b9aac={};_0x1b9aac[_0x47ce98]={'$like':'%'+_0x31be87['query'][_0x9b97('0x3c')]+'%'};return _0x1b9aac;})});}_0x4d5ee4=_[_0x9b97('0x3a')]({},_0x4d5ee4,_0x31be87[_0x9b97('0x3d')]);return _0x1ec985[_0x9b97('0x4d')](_0x4d5ee4);}})[_0x9b97('0x22')](function(_0xfc36bd){if(_0xfc36bd){_0x3caae7=_0xfc36bd['length'];if(!_0x31be87['query'][_0x9b97('0x4e')](_0x9b97('0x4c'))){_0x4d5ee4[_0x9b97('0x19')]=qs[_0x9b97('0x19')](_0x31be87[_0x9b97('0x30')][_0x9b97('0x19')]);_0x4d5ee4[_0x9b97('0x1b')]=qs[_0x9b97('0x1b')](_0x31be87[_0x9b97('0x30')][_0x9b97('0x1b')]);}return _0x1ec985['getSubjects'](_0x4d5ee4);}})[_0x9b97('0x22')](function(_0x5d217c){if(_0x5d217c){return _0x5d217c?{'count':_0x3caae7,'rows':_0x5d217c}:null;}})[_0x9b97('0x22')](respondWithResult(_0x558622,null))['catch'](handleError(_0x558622,null));};exports[_0x9b97('0x4f')]=function(_0x1305c2,_0x242083,_0x3b6e85){var _0x2799d1={};var _0x5a643={};var _0x16b0c1;var _0x329ab6;return db['ServicenowConfiguration'][_0x9b97('0x49')]({'where':{'id':_0x1305c2[_0x9b97('0x42')]['id']}})['then'](handleEntityNotFound(_0x242083,null))['then'](function(_0x50fd03){if(_0x50fd03){_0x16b0c1=_0x50fd03;_0x5a643[_0x9b97('0x2e')]=_[_0x9b97('0x31')](db[_0x9b97('0x4a')][_0x9b97('0x2a')]);_0x5a643[_0x9b97('0x30')]=_['keys'](_0x1305c2[_0x9b97('0x30')]);_0x5a643[_0x9b97('0x32')]=_[_0x9b97('0x33')](_0x5a643[_0x9b97('0x2e')],_0x5a643[_0x9b97('0x30')]);_0x2799d1[_0x9b97('0x34')]=_[_0x9b97('0x33')](_0x5a643[_0x9b97('0x2e')],qs['fields'](_0x1305c2[_0x9b97('0x30')][_0x9b97('0x35')]));_0x2799d1[_0x9b97('0x34')]=_0x2799d1[_0x9b97('0x34')]['length']?_0x2799d1[_0x9b97('0x34')]:_0x5a643[_0x9b97('0x2e')];_0x2799d1['order']=qs[_0x9b97('0x4b')](_0x1305c2['query'][_0x9b97('0x4b')]);_0x2799d1[_0x9b97('0x38')]=qs[_0x9b97('0x32')](_[_0x9b97('0x39')](_0x1305c2[_0x9b97('0x30')],_0x5a643[_0x9b97('0x32')]));if(_0x1305c2[_0x9b97('0x30')][_0x9b97('0x3c')]){_0x2799d1['where']=_[_0x9b97('0x3a')](_0x2799d1[_0x9b97('0x38')],{'$or':_['map'](_0x2799d1[_0x9b97('0x34')],function(_0x1790b2){var _0x348696={};_0x348696[_0x1790b2]={'$like':'%'+_0x1305c2[_0x9b97('0x30')][_0x9b97('0x3c')]+'%'};return _0x348696;})});}_0x2799d1=_[_0x9b97('0x3a')]({},_0x2799d1,_0x1305c2[_0x9b97('0x3d')]);return _0x16b0c1['getDescriptions'](_0x2799d1);}})['then'](function(_0x5e0d04){if(_0x5e0d04){_0x329ab6=_0x5e0d04[_0x9b97('0x36')];if(!_0x1305c2[_0x9b97('0x30')][_0x9b97('0x4e')](_0x9b97('0x4c'))){_0x2799d1[_0x9b97('0x19')]=qs[_0x9b97('0x19')](_0x1305c2[_0x9b97('0x30')][_0x9b97('0x19')]);_0x2799d1['offset']=qs[_0x9b97('0x1b')](_0x1305c2[_0x9b97('0x30')][_0x9b97('0x1b')]);}return _0x16b0c1[_0x9b97('0x4f')](_0x2799d1);}})[_0x9b97('0x22')](function(_0x23dff2){if(_0x23dff2){return _0x23dff2?{'count':_0x329ab6,'rows':_0x23dff2}:null;}})[_0x9b97('0x22')](respondWithResult(_0x242083,null))['catch'](handleError(_0x242083,null));};