Built motion from commit e6806ed6.|2.6.0
[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 _0x45ca=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy','error','name','send','index','map','ServicenowConfiguration','rawAttributes','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','type','VIRTUAL','merge','options','includeAll','include','rows','catch','show','params','keys','find','create','body','getFields','pick','getSubjects','getDescriptions','ServicenowField','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv'];(function(_0x35e7f5,_0x505458){var _0x21327e=function(_0x24ee98){while(--_0x24ee98){_0x35e7f5['push'](_0x35e7f5['shift']());}};_0x21327e(++_0x505458);}(_0x45ca,0x93));var _0xa45c=function(_0xf71120,_0x25b7f9){_0xf71120=_0xf71120-0x0;var _0xbe2fd3=_0x45ca[_0xf71120];return _0xbe2fd3;};'use strict';var emlformat=require(_0xa45c('0x0'));var rimraf=require(_0xa45c('0x1'));var zipdir=require(_0xa45c('0x2'));var jsonpatch=require(_0xa45c('0x3'));var rp=require(_0xa45c('0x4'));var moment=require(_0xa45c('0x5'));var BPromise=require(_0xa45c('0x6'));var Mustache=require(_0xa45c('0x7'));var util=require('util');var path=require(_0xa45c('0x8'));var sox=require(_0xa45c('0x9'));var csv=require('to-csv');var ejs=require(_0xa45c('0xa'));var fs=require('fs');var fs_extra=require(_0xa45c('0xb'));var _=require('lodash');var squel=require(_0xa45c('0xc'));var crypto=require(_0xa45c('0xd'));var jsforce=require(_0xa45c('0xe'));var deskjs=require(_0xa45c('0xf'));var toCsv=require(_0xa45c('0x10'));var querystring=require(_0xa45c('0x11'));var Papa=require(_0xa45c('0x12'));var Redis=require(_0xa45c('0x13'));var authService=require(_0xa45c('0x14'));var qs=require(_0xa45c('0x15'));var as=require(_0xa45c('0x16'));var hardwareService=require(_0xa45c('0x17'));var logger=require(_0xa45c('0x18'))('api');var utils=require('../../config/utils');var config=require(_0xa45c('0x19'));var licenseUtil=require(_0xa45c('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2cf34a,_0x52821c){_0x52821c=_0x52821c||0xcc;return function(_0xfde6a0){if(_0xfde6a0){return _0x2cf34a[_0xa45c('0x1b')](_0x52821c);}return _0x2cf34a[_0xa45c('0x1c')](_0x52821c)[_0xa45c('0x1d')]();};}function respondWithResult(_0x43b8ac,_0x147e50){_0x147e50=_0x147e50||0xc8;return function(_0x21e12c){if(_0x21e12c){return _0x43b8ac[_0xa45c('0x1c')](_0x147e50)[_0xa45c('0x1e')](_0x21e12c);}};}function respondWithFilteredResult(_0x5e365c,_0x139647){return function(_0x324f23){if(_0x324f23){var _0x34b88c=typeof _0x139647[_0xa45c('0x1f')]===_0xa45c('0x20')&&typeof _0x139647['limit']===_0xa45c('0x20');var _0x26c7c1=_0x324f23[_0xa45c('0x21')];var _0x1950f4=_0x34b88c?0x0:_0x139647[_0xa45c('0x1f')];var _0xe8a91e=_0x34b88c?_0x324f23[_0xa45c('0x21')]:_0x139647[_0xa45c('0x1f')]+_0x139647[_0xa45c('0x22')];var _0x3b308e;if(_0xe8a91e>=_0x26c7c1){_0xe8a91e=_0x26c7c1;_0x3b308e=0xc8;}else{_0x3b308e=0xce;}_0x5e365c[_0xa45c('0x1c')](_0x3b308e);return _0x5e365c[_0xa45c('0x23')](_0xa45c('0x24'),_0x1950f4+'-'+_0xe8a91e+'/'+_0x26c7c1)[_0xa45c('0x1e')](_0x324f23);}return null;};}function patchUpdates(_0x54e4d2){return function(_0x2101ed){try{jsonpatch[_0xa45c('0x25')](_0x2101ed,_0x54e4d2,!![]);}catch(_0xe66bab){return BPromise['reject'](_0xe66bab);}return _0x2101ed[_0xa45c('0x26')]();};}function saveUpdates(_0xcc3d66,_0x55253e){return function(_0x532261){if(_0x532261){return _0x532261[_0xa45c('0x27')](_0xcc3d66)[_0xa45c('0x28')](function(_0x36908a){return _0x36908a;});}return null;};}function removeEntity(_0x10a2ad,_0x40a82a){return function(_0x533f23){if(_0x533f23){return _0x533f23[_0xa45c('0x29')]()[_0xa45c('0x28')](function(){_0x10a2ad[_0xa45c('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x403905,_0x5b5db1){return function(_0x43ef35){if(!_0x43ef35){_0x403905[_0xa45c('0x1b')](0x194);}return _0x43ef35;};}function handleError(_0x190cb8,_0x21cc0b){_0x21cc0b=_0x21cc0b||0x1f4;return function(_0x42d634){logger[_0xa45c('0x2a')](_0x42d634['stack']);if(_0x42d634['name']){delete _0x42d634[_0xa45c('0x2b')];}_0x190cb8[_0xa45c('0x1c')](_0x21cc0b)[_0xa45c('0x2c')](_0x42d634);};}exports[_0xa45c('0x2d')]=function(_0xf6095,_0xf68391){var _0x5ab480={},_0x57079c={},_0x34bcf6={'count':0x0,'rows':[]};var _0x4ab819=_[_0xa45c('0x2e')](db[_0xa45c('0x2f')][_0xa45c('0x30')],function(_0xcee992){return{'name':_0xcee992['fieldName'],'type':_0xcee992['type'][_0xa45c('0x31')]};});_0x57079c[_0xa45c('0x32')]=_[_0xa45c('0x2e')](_0x4ab819,'name');_0x57079c[_0xa45c('0x33')]=_['keys'](_0xf6095[_0xa45c('0x33')]);_0x57079c[_0xa45c('0x34')]=_['intersection'](_0x57079c[_0xa45c('0x32')],_0x57079c[_0xa45c('0x33')]);_0x5ab480[_0xa45c('0x35')]=_[_0xa45c('0x36')](_0x57079c[_0xa45c('0x32')],qs['fields'](_0xf6095[_0xa45c('0x33')][_0xa45c('0x37')]));_0x5ab480[_0xa45c('0x35')]=_0x5ab480[_0xa45c('0x35')][_0xa45c('0x38')]?_0x5ab480['attributes']:_0x57079c['model'];if(!_0xf6095[_0xa45c('0x33')][_0xa45c('0x39')](_0xa45c('0x3a'))){_0x5ab480[_0xa45c('0x22')]=qs[_0xa45c('0x22')](_0xf6095[_0xa45c('0x33')][_0xa45c('0x22')]);_0x5ab480[_0xa45c('0x1f')]=qs[_0xa45c('0x1f')](_0xf6095[_0xa45c('0x33')]['offset']);}_0x5ab480[_0xa45c('0x3b')]=qs['sort'](_0xf6095[_0xa45c('0x33')][_0xa45c('0x3c')]);_0x5ab480['where']=qs[_0xa45c('0x34')](_['pick'](_0xf6095[_0xa45c('0x33')],_0x57079c['filters']),_0x4ab819);if(_0xf6095['query'][_0xa45c('0x3d')]){_0x5ab480[_0xa45c('0x3e')]=_['merge'](_0x5ab480['where'],{'$or':_['map'](_0x4ab819,function(_0xf968da){if(_0xf968da[_0xa45c('0x3f')]!==_0xa45c('0x40')){var _0xa6b5b9={};_0xa6b5b9[_0xf968da[_0xa45c('0x2b')]]={'$like':'%'+_0xf6095['query'][_0xa45c('0x3d')]+'%'};return _0xa6b5b9;}})});}_0x5ab480=_[_0xa45c('0x41')]({},_0x5ab480,_0xf6095[_0xa45c('0x42')]);var _0x59b9ad={'where':_0x5ab480[_0xa45c('0x3e')]};return db['ServicenowConfiguration']['count'](_0x59b9ad)[_0xa45c('0x28')](function(_0x19bc3d){_0x34bcf6[_0xa45c('0x21')]=_0x19bc3d;if(_0xf6095['query'][_0xa45c('0x43')]){_0x5ab480[_0xa45c('0x44')]=[{'all':!![]}];}return db[_0xa45c('0x2f')]['findAll'](_0x5ab480);})[_0xa45c('0x28')](function(_0x32a755){_0x34bcf6[_0xa45c('0x45')]=_0x32a755;return _0x34bcf6;})[_0xa45c('0x28')](respondWithFilteredResult(_0xf68391,_0x5ab480))[_0xa45c('0x46')](handleError(_0xf68391,null));};exports[_0xa45c('0x47')]=function(_0x5f024d,_0x31dbce){var _0x56cb62={'raw':![],'where':{'id':_0x5f024d[_0xa45c('0x48')]['id']}},_0x3f141e={};_0x3f141e[_0xa45c('0x32')]=_[_0xa45c('0x49')](db['ServicenowConfiguration'][_0xa45c('0x30')]);_0x3f141e[_0xa45c('0x33')]=_['keys'](_0x5f024d[_0xa45c('0x33')]);_0x3f141e['filters']=_[_0xa45c('0x36')](_0x3f141e[_0xa45c('0x32')],_0x3f141e['query']);_0x56cb62[_0xa45c('0x35')]=_[_0xa45c('0x36')](_0x3f141e[_0xa45c('0x32')],qs['fields'](_0x5f024d['query'][_0xa45c('0x37')]));_0x56cb62[_0xa45c('0x35')]=_0x56cb62[_0xa45c('0x35')][_0xa45c('0x38')]?_0x56cb62['attributes']:_0x3f141e[_0xa45c('0x32')];if(_0x5f024d[_0xa45c('0x33')][_0xa45c('0x43')]){_0x56cb62[_0xa45c('0x44')]=[{'all':!![]}];}_0x56cb62=_[_0xa45c('0x41')]({},_0x56cb62,_0x5f024d[_0xa45c('0x42')]);return db['ServicenowConfiguration'][_0xa45c('0x4a')](_0x56cb62)[_0xa45c('0x28')](handleEntityNotFound(_0x31dbce,null))[_0xa45c('0x28')](respondWithResult(_0x31dbce,null))['catch'](handleError(_0x31dbce,null));};exports[_0xa45c('0x4b')]=function(_0x278717,_0x4695c6){return db[_0xa45c('0x2f')][_0xa45c('0x4b')](_0x278717[_0xa45c('0x4c')],{})[_0xa45c('0x28')](respondWithResult(_0x4695c6,0xc9))['catch'](handleError(_0x4695c6,null));};exports[_0xa45c('0x27')]=function(_0x2f663d,_0xb314bd){if(_0x2f663d[_0xa45c('0x4c')]['id']){delete _0x2f663d[_0xa45c('0x4c')]['id'];}return db[_0xa45c('0x2f')][_0xa45c('0x4a')]({'where':{'id':_0x2f663d[_0xa45c('0x48')]['id']}})['then'](handleEntityNotFound(_0xb314bd,null))[_0xa45c('0x28')](saveUpdates(_0x2f663d[_0xa45c('0x4c')],null))[_0xa45c('0x28')](respondWithResult(_0xb314bd,null))[_0xa45c('0x46')](handleError(_0xb314bd,null));};exports[_0xa45c('0x29')]=function(_0x4257d8,_0x184b08){return db[_0xa45c('0x2f')][_0xa45c('0x4a')]({'where':{'id':_0x4257d8['params']['id']}})[_0xa45c('0x28')](handleEntityNotFound(_0x184b08,null))[_0xa45c('0x28')](removeEntity(_0x184b08,null))[_0xa45c('0x46')](handleError(_0x184b08,null));};exports[_0xa45c('0x4d')]=function(_0x3b0792,_0x251866,_0x3c7be6){var _0x3689f4={};var _0xc7fada={};var _0x139025;var _0x19285e;return db[_0xa45c('0x2f')]['findOne']({'where':{'id':_0x3b0792['params']['id']}})[_0xa45c('0x28')](handleEntityNotFound(_0x251866,null))[_0xa45c('0x28')](function(_0x249641){if(_0x249641){_0x139025=_0x249641;_0xc7fada[_0xa45c('0x32')]=_[_0xa45c('0x49')](db['ServicenowField'][_0xa45c('0x30')]);_0xc7fada['query']=_['keys'](_0x3b0792['query']);_0xc7fada[_0xa45c('0x34')]=_[_0xa45c('0x36')](_0xc7fada[_0xa45c('0x32')],_0xc7fada['query']);_0x3689f4[_0xa45c('0x35')]=_[_0xa45c('0x36')](_0xc7fada[_0xa45c('0x32')],qs['fields'](_0x3b0792[_0xa45c('0x33')][_0xa45c('0x37')]));_0x3689f4[_0xa45c('0x35')]=_0x3689f4[_0xa45c('0x35')][_0xa45c('0x38')]?_0x3689f4[_0xa45c('0x35')]:_0xc7fada[_0xa45c('0x32')];_0x3689f4[_0xa45c('0x3b')]=qs[_0xa45c('0x3c')](_0x3b0792[_0xa45c('0x33')][_0xa45c('0x3c')]);_0x3689f4[_0xa45c('0x3e')]=qs[_0xa45c('0x34')](_[_0xa45c('0x4e')](_0x3b0792['query'],_0xc7fada['filters']));if(_0x3b0792[_0xa45c('0x33')][_0xa45c('0x3d')]){_0x3689f4['where']=_[_0xa45c('0x41')](_0x3689f4[_0xa45c('0x3e')],{'$or':_[_0xa45c('0x2e')](_0x3689f4['attributes'],function(_0x2e438a){var _0x1abbcf={};_0x1abbcf[_0x2e438a]={'$like':'%'+_0x3b0792['query'][_0xa45c('0x3d')]+'%'};return _0x1abbcf;})});}_0x3689f4=_[_0xa45c('0x41')]({},_0x3689f4,_0x3b0792[_0xa45c('0x42')]);return _0x139025[_0xa45c('0x4d')](_0x3689f4);}})[_0xa45c('0x28')](function(_0x44b03e){if(_0x44b03e){_0x19285e=_0x44b03e['length'];if(!_0x3b0792[_0xa45c('0x33')][_0xa45c('0x39')](_0xa45c('0x3a'))){_0x3689f4[_0xa45c('0x22')]=qs[_0xa45c('0x22')](_0x3b0792[_0xa45c('0x33')][_0xa45c('0x22')]);_0x3689f4[_0xa45c('0x1f')]=qs['offset'](_0x3b0792[_0xa45c('0x33')][_0xa45c('0x1f')]);}return _0x139025['getFields'](_0x3689f4);}})[_0xa45c('0x28')](function(_0x588bcb){if(_0x588bcb){return _0x588bcb?{'count':_0x19285e,'rows':_0x588bcb}:null;}})['then'](respondWithResult(_0x251866,null))[_0xa45c('0x46')](handleError(_0x251866,null));};exports['getSubjects']=function(_0x3b100e,_0x22cef0,_0x33a842){var _0x1bb372={};var _0x23cb00={};var _0xeb0c8;var _0x3e10f6;return db[_0xa45c('0x2f')]['findOne']({'where':{'id':_0x3b100e[_0xa45c('0x48')]['id']}})[_0xa45c('0x28')](handleEntityNotFound(_0x22cef0,null))[_0xa45c('0x28')](function(_0x2b79b5){if(_0x2b79b5){_0xeb0c8=_0x2b79b5;_0x23cb00['model']=_['keys'](db['ServicenowField'][_0xa45c('0x30')]);_0x23cb00['query']=_[_0xa45c('0x49')](_0x3b100e[_0xa45c('0x33')]);_0x23cb00['filters']=_[_0xa45c('0x36')](_0x23cb00[_0xa45c('0x32')],_0x23cb00[_0xa45c('0x33')]);_0x1bb372[_0xa45c('0x35')]=_[_0xa45c('0x36')](_0x23cb00[_0xa45c('0x32')],qs[_0xa45c('0x37')](_0x3b100e[_0xa45c('0x33')][_0xa45c('0x37')]));_0x1bb372['attributes']=_0x1bb372[_0xa45c('0x35')][_0xa45c('0x38')]?_0x1bb372[_0xa45c('0x35')]:_0x23cb00[_0xa45c('0x32')];_0x1bb372['order']=qs[_0xa45c('0x3c')](_0x3b100e[_0xa45c('0x33')][_0xa45c('0x3c')]);_0x1bb372['where']=qs[_0xa45c('0x34')](_[_0xa45c('0x4e')](_0x3b100e[_0xa45c('0x33')],_0x23cb00[_0xa45c('0x34')]));if(_0x3b100e['query'][_0xa45c('0x3d')]){_0x1bb372[_0xa45c('0x3e')]=_[_0xa45c('0x41')](_0x1bb372[_0xa45c('0x3e')],{'$or':_[_0xa45c('0x2e')](_0x1bb372[_0xa45c('0x35')],function(_0x10810d){var _0x165eaa={};_0x165eaa[_0x10810d]={'$like':'%'+_0x3b100e['query'][_0xa45c('0x3d')]+'%'};return _0x165eaa;})});}_0x1bb372=_[_0xa45c('0x41')]({},_0x1bb372,_0x3b100e[_0xa45c('0x42')]);return _0xeb0c8[_0xa45c('0x4f')](_0x1bb372);}})[_0xa45c('0x28')](function(_0x50b87c){if(_0x50b87c){_0x3e10f6=_0x50b87c[_0xa45c('0x38')];if(!_0x3b100e[_0xa45c('0x33')][_0xa45c('0x39')]('nolimit')){_0x1bb372[_0xa45c('0x22')]=qs['limit'](_0x3b100e[_0xa45c('0x33')][_0xa45c('0x22')]);_0x1bb372[_0xa45c('0x1f')]=qs[_0xa45c('0x1f')](_0x3b100e['query'][_0xa45c('0x1f')]);}return _0xeb0c8[_0xa45c('0x4f')](_0x1bb372);}})['then'](function(_0x48d4a6){if(_0x48d4a6){return _0x48d4a6?{'count':_0x3e10f6,'rows':_0x48d4a6}:null;}})[_0xa45c('0x28')](respondWithResult(_0x22cef0,null))[_0xa45c('0x46')](handleError(_0x22cef0,null));};exports[_0xa45c('0x50')]=function(_0xc98eb0,_0x15f703,_0x4b5de6){var _0x3b9863={};var _0x19bd02={};var _0xd43d19;var _0x230e16;return db['ServicenowConfiguration']['findOne']({'where':{'id':_0xc98eb0[_0xa45c('0x48')]['id']}})[_0xa45c('0x28')](handleEntityNotFound(_0x15f703,null))[_0xa45c('0x28')](function(_0x485e15){if(_0x485e15){_0xd43d19=_0x485e15;_0x19bd02[_0xa45c('0x32')]=_[_0xa45c('0x49')](db[_0xa45c('0x51')][_0xa45c('0x30')]);_0x19bd02[_0xa45c('0x33')]=_['keys'](_0xc98eb0['query']);_0x19bd02[_0xa45c('0x34')]=_[_0xa45c('0x36')](_0x19bd02[_0xa45c('0x32')],_0x19bd02[_0xa45c('0x33')]);_0x3b9863[_0xa45c('0x35')]=_[_0xa45c('0x36')](_0x19bd02['model'],qs[_0xa45c('0x37')](_0xc98eb0[_0xa45c('0x33')][_0xa45c('0x37')]));_0x3b9863[_0xa45c('0x35')]=_0x3b9863['attributes'][_0xa45c('0x38')]?_0x3b9863[_0xa45c('0x35')]:_0x19bd02['model'];_0x3b9863[_0xa45c('0x3b')]=qs[_0xa45c('0x3c')](_0xc98eb0['query']['sort']);_0x3b9863[_0xa45c('0x3e')]=qs[_0xa45c('0x34')](_['pick'](_0xc98eb0[_0xa45c('0x33')],_0x19bd02['filters']));if(_0xc98eb0['query'][_0xa45c('0x3d')]){_0x3b9863[_0xa45c('0x3e')]=_[_0xa45c('0x41')](_0x3b9863[_0xa45c('0x3e')],{'$or':_[_0xa45c('0x2e')](_0x3b9863['attributes'],function(_0x27ec01){var _0x2cbbe4={};_0x2cbbe4[_0x27ec01]={'$like':'%'+_0xc98eb0[_0xa45c('0x33')]['filter']+'%'};return _0x2cbbe4;})});}_0x3b9863=_['merge']({},_0x3b9863,_0xc98eb0[_0xa45c('0x42')]);return _0xd43d19['getDescriptions'](_0x3b9863);}})[_0xa45c('0x28')](function(_0x299b78){if(_0x299b78){_0x230e16=_0x299b78['length'];if(!_0xc98eb0['query'][_0xa45c('0x39')](_0xa45c('0x3a'))){_0x3b9863['limit']=qs[_0xa45c('0x22')](_0xc98eb0[_0xa45c('0x33')][_0xa45c('0x22')]);_0x3b9863[_0xa45c('0x1f')]=qs[_0xa45c('0x1f')](_0xc98eb0[_0xa45c('0x33')][_0xa45c('0x1f')]);}return _0xd43d19[_0xa45c('0x50')](_0x3b9863);}})['then'](function(_0x3e61b2){if(_0x3e61b2){return _0x3e61b2?{'count':_0x230e16,'rows':_0x3e61b2}:null;}})[_0xa45c('0x28')](respondWithResult(_0x15f703,null))[_0xa45c('0x46')](handleError(_0x15f703,null));};