Built motion from commit c738b9ac.|2.6.25
[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 _0x334c=['VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','keys','merge','create','body','find','getFields','ServicenowField','nolimit','getSubjects','findOne','getDescriptions','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','fs-extra','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','Content-Range','reject','save','update','then','destroy','error','stack','name','send','index','map','ServicenowConfiguration','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick'];(function(_0x1c546c,_0x5c57cb){var _0x2cc384=function(_0x4dee11){while(--_0x4dee11){_0x1c546c['push'](_0x1c546c['shift']());}};_0x2cc384(++_0x5c57cb);}(_0x334c,0x1ef));var _0xc334=function(_0x36436d,_0x20292c){_0x36436d=_0x36436d-0x0;var _0x34615d=_0x334c[_0x36436d];return _0x34615d;};'use strict';var emlformat=require(_0xc334('0x0'));var rimraf=require(_0xc334('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc334('0x2'));var rp=require(_0xc334('0x3'));var moment=require(_0xc334('0x4'));var BPromise=require(_0xc334('0x5'));var Mustache=require(_0xc334('0x6'));var util=require(_0xc334('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xc334('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc334('0x9'));var _=require('lodash');var squel=require(_0xc334('0xa'));var crypto=require(_0xc334('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xc334('0xc'));var toCsv=require(_0xc334('0x8'));var querystring=require('querystring');var Papa=require(_0xc334('0xd'));var Redis=require(_0xc334('0xe'));var authService=require(_0xc334('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc334('0x10'));var logger=require(_0xc334('0x11'))(_0xc334('0x12'));var utils=require(_0xc334('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xc334('0x14'));var db=require(_0xc334('0x15'))['db'];function respondWithStatusCode(_0x349ced,_0x5d6402){_0x5d6402=_0x5d6402||0xcc;return function(_0x347e76){if(_0x347e76){return _0x349ced[_0xc334('0x16')](_0x5d6402);}return _0x349ced['status'](_0x5d6402)['end']();};}function respondWithResult(_0x1f2788,_0x2963dd){_0x2963dd=_0x2963dd||0xc8;return function(_0x3c66c2){if(_0x3c66c2){return _0x1f2788[_0xc334('0x17')](_0x2963dd)[_0xc334('0x18')](_0x3c66c2);}};}function respondWithFilteredResult(_0x1d7289,_0x1fb3fe){return function(_0x1074fa){if(_0x1074fa){var _0x1252eb=typeof _0x1fb3fe[_0xc334('0x19')]===_0xc334('0x1a')&&typeof _0x1fb3fe[_0xc334('0x1b')]==='undefined';var _0x732549=_0x1074fa[_0xc334('0x1c')];var _0x529055=_0x1252eb?0x0:_0x1fb3fe['offset'];var _0x587309=_0x1252eb?_0x1074fa[_0xc334('0x1c')]:_0x1fb3fe['offset']+_0x1fb3fe[_0xc334('0x1b')];var _0xbb7daf;if(_0x587309>=_0x732549){_0x587309=_0x732549;_0xbb7daf=0xc8;}else{_0xbb7daf=0xce;}_0x1d7289[_0xc334('0x17')](_0xbb7daf);return _0x1d7289['set'](_0xc334('0x1d'),_0x529055+'-'+_0x587309+'/'+_0x732549)['json'](_0x1074fa);}return null;};}function patchUpdates(_0x1df821){return function(_0x341957){try{jsonpatch['apply'](_0x341957,_0x1df821,!![]);}catch(_0x30c5b5){return BPromise[_0xc334('0x1e')](_0x30c5b5);}return _0x341957[_0xc334('0x1f')]();};}function saveUpdates(_0x543dbe,_0x25ce31){return function(_0x49b0e4){if(_0x49b0e4){return _0x49b0e4[_0xc334('0x20')](_0x543dbe)[_0xc334('0x21')](function(_0x208d3d){return _0x208d3d;});}return null;};}function removeEntity(_0x51a353,_0x38a8f){return function(_0x19b0d3){if(_0x19b0d3){return _0x19b0d3[_0xc334('0x22')]()[_0xc334('0x21')](function(){_0x51a353[_0xc334('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x14a609,_0x4cc5de){return function(_0x78f430){if(!_0x78f430){_0x14a609[_0xc334('0x16')](0x194);}return _0x78f430;};}function handleError(_0x114936,_0x1bc484){_0x1bc484=_0x1bc484||0x1f4;return function(_0x111256){logger[_0xc334('0x23')](_0x111256[_0xc334('0x24')]);if(_0x111256[_0xc334('0x25')]){delete _0x111256[_0xc334('0x25')];}_0x114936['status'](_0x1bc484)[_0xc334('0x26')](_0x111256);};}exports[_0xc334('0x27')]=function(_0x2eeb1e,_0x958796){var _0x51abd8={},_0x3b9188={},_0x40d534={'count':0x0,'rows':[]};var _0x571e20=_[_0xc334('0x28')](db[_0xc334('0x29')][_0xc334('0x2a')],function(_0x4a7396){return{'name':_0x4a7396[_0xc334('0x2b')],'type':_0x4a7396[_0xc334('0x2c')][_0xc334('0x2d')]};});_0x3b9188[_0xc334('0x2e')]=_[_0xc334('0x28')](_0x571e20,_0xc334('0x25'));_0x3b9188[_0xc334('0x2f')]=_['keys'](_0x2eeb1e[_0xc334('0x2f')]);_0x3b9188[_0xc334('0x30')]=_[_0xc334('0x31')](_0x3b9188[_0xc334('0x2e')],_0x3b9188['query']);_0x51abd8[_0xc334('0x32')]=_[_0xc334('0x31')](_0x3b9188[_0xc334('0x2e')],qs[_0xc334('0x33')](_0x2eeb1e[_0xc334('0x2f')][_0xc334('0x33')]));_0x51abd8['attributes']=_0x51abd8[_0xc334('0x32')][_0xc334('0x34')]?_0x51abd8[_0xc334('0x32')]:_0x3b9188[_0xc334('0x2e')];if(!_0x2eeb1e['query'][_0xc334('0x35')]('nolimit')){_0x51abd8[_0xc334('0x1b')]=qs[_0xc334('0x1b')](_0x2eeb1e[_0xc334('0x2f')][_0xc334('0x1b')]);_0x51abd8[_0xc334('0x19')]=qs['offset'](_0x2eeb1e[_0xc334('0x2f')][_0xc334('0x19')]);}_0x51abd8[_0xc334('0x36')]=qs[_0xc334('0x37')](_0x2eeb1e[_0xc334('0x2f')][_0xc334('0x37')]);_0x51abd8[_0xc334('0x38')]=qs[_0xc334('0x30')](_[_0xc334('0x39')](_0x2eeb1e['query'],_0x3b9188[_0xc334('0x30')]),_0x571e20);if(_0x2eeb1e[_0xc334('0x2f')]['filter']){_0x51abd8[_0xc334('0x38')]=_['merge'](_0x51abd8[_0xc334('0x38')],{'$or':_[_0xc334('0x28')](_0x571e20,function(_0x338f42){if(_0x338f42['type']!==_0xc334('0x3a')){var _0x273634={};_0x273634[_0x338f42[_0xc334('0x25')]]={'$like':'%'+_0x2eeb1e[_0xc334('0x2f')][_0xc334('0x3b')]+'%'};return _0x273634;}})});}_0x51abd8=_['merge']({},_0x51abd8,_0x2eeb1e[_0xc334('0x3c')]);var _0x21ae09={'where':_0x51abd8['where']};return db[_0xc334('0x29')]['count'](_0x21ae09)[_0xc334('0x21')](function(_0x237c8e){_0x40d534[_0xc334('0x1c')]=_0x237c8e;if(_0x2eeb1e[_0xc334('0x2f')][_0xc334('0x3d')]){_0x51abd8[_0xc334('0x3e')]=[{'all':!![]}];}return db[_0xc334('0x29')][_0xc334('0x3f')](_0x51abd8);})['then'](function(_0x182585){_0x40d534[_0xc334('0x40')]=_0x182585;return _0x40d534;})[_0xc334('0x21')](respondWithFilteredResult(_0x958796,_0x51abd8))[_0xc334('0x41')](handleError(_0x958796,null));};exports[_0xc334('0x42')]=function(_0x49132a,_0x6b1582){var _0x3d4039={'raw':![],'where':{'id':_0x49132a[_0xc334('0x43')]['id']}},_0x529586={};_0x529586[_0xc334('0x2e')]=_[_0xc334('0x44')](db[_0xc334('0x29')][_0xc334('0x2a')]);_0x529586[_0xc334('0x2f')]=_[_0xc334('0x44')](_0x49132a[_0xc334('0x2f')]);_0x529586[_0xc334('0x30')]=_[_0xc334('0x31')](_0x529586[_0xc334('0x2e')],_0x529586[_0xc334('0x2f')]);_0x3d4039['attributes']=_['intersection'](_0x529586['model'],qs['fields'](_0x49132a[_0xc334('0x2f')][_0xc334('0x33')]));_0x3d4039[_0xc334('0x32')]=_0x3d4039['attributes'][_0xc334('0x34')]?_0x3d4039[_0xc334('0x32')]:_0x529586[_0xc334('0x2e')];if(_0x49132a[_0xc334('0x2f')][_0xc334('0x3d')]){_0x3d4039['include']=[{'all':!![]}];}_0x3d4039=_[_0xc334('0x45')]({},_0x3d4039,_0x49132a['options']);return db[_0xc334('0x29')]['find'](_0x3d4039)['then'](handleEntityNotFound(_0x6b1582,null))[_0xc334('0x21')](respondWithResult(_0x6b1582,null))[_0xc334('0x41')](handleError(_0x6b1582,null));};exports['create']=function(_0x5938e2,_0x5dfa5e){return db['ServicenowConfiguration'][_0xc334('0x46')](_0x5938e2[_0xc334('0x47')],{})['then'](respondWithResult(_0x5dfa5e,0xc9))[_0xc334('0x41')](handleError(_0x5dfa5e,null));};exports[_0xc334('0x20')]=function(_0x4ed1c4,_0x9821b6){if(_0x4ed1c4[_0xc334('0x47')]['id']){delete _0x4ed1c4[_0xc334('0x47')]['id'];}return db['ServicenowConfiguration'][_0xc334('0x48')]({'where':{'id':_0x4ed1c4['params']['id']}})['then'](handleEntityNotFound(_0x9821b6,null))[_0xc334('0x21')](saveUpdates(_0x4ed1c4[_0xc334('0x47')],null))['then'](respondWithResult(_0x9821b6,null))[_0xc334('0x41')](handleError(_0x9821b6,null));};exports[_0xc334('0x22')]=function(_0x157bc8,_0x4a7594){return db[_0xc334('0x29')]['find']({'where':{'id':_0x157bc8[_0xc334('0x43')]['id']}})[_0xc334('0x21')](handleEntityNotFound(_0x4a7594,null))['then'](removeEntity(_0x4a7594,null))[_0xc334('0x41')](handleError(_0x4a7594,null));};exports[_0xc334('0x49')]=function(_0x29378e,_0xe8ee9d,_0x4e79ea){var _0x8df04e={};var _0x313daa={};var _0x4299cd;var _0x286dbe;return db[_0xc334('0x29')]['findOne']({'where':{'id':_0x29378e['params']['id']}})['then'](handleEntityNotFound(_0xe8ee9d,null))['then'](function(_0xfde194){if(_0xfde194){_0x4299cd=_0xfde194;_0x313daa[_0xc334('0x2e')]=_['keys'](db[_0xc334('0x4a')]['rawAttributes']);_0x313daa['query']=_[_0xc334('0x44')](_0x29378e['query']);_0x313daa[_0xc334('0x30')]=_['intersection'](_0x313daa[_0xc334('0x2e')],_0x313daa[_0xc334('0x2f')]);_0x8df04e[_0xc334('0x32')]=_[_0xc334('0x31')](_0x313daa[_0xc334('0x2e')],qs[_0xc334('0x33')](_0x29378e[_0xc334('0x2f')][_0xc334('0x33')]));_0x8df04e[_0xc334('0x32')]=_0x8df04e[_0xc334('0x32')]['length']?_0x8df04e[_0xc334('0x32')]:_0x313daa[_0xc334('0x2e')];_0x8df04e['order']=qs[_0xc334('0x37')](_0x29378e[_0xc334('0x2f')]['sort']);_0x8df04e[_0xc334('0x38')]=qs[_0xc334('0x30')](_[_0xc334('0x39')](_0x29378e[_0xc334('0x2f')],_0x313daa[_0xc334('0x30')]));if(_0x29378e['query'][_0xc334('0x3b')]){_0x8df04e[_0xc334('0x38')]=_['merge'](_0x8df04e['where'],{'$or':_[_0xc334('0x28')](_0x8df04e[_0xc334('0x32')],function(_0x27e1e8){var _0x7158a8={};_0x7158a8[_0x27e1e8]={'$like':'%'+_0x29378e[_0xc334('0x2f')][_0xc334('0x3b')]+'%'};return _0x7158a8;})});}_0x8df04e=_['merge']({},_0x8df04e,_0x29378e[_0xc334('0x3c')]);return _0x4299cd['getFields'](_0x8df04e);}})[_0xc334('0x21')](function(_0x5c1e25){if(_0x5c1e25){_0x286dbe=_0x5c1e25[_0xc334('0x34')];if(!_0x29378e[_0xc334('0x2f')][_0xc334('0x35')](_0xc334('0x4b'))){_0x8df04e[_0xc334('0x1b')]=qs['limit'](_0x29378e[_0xc334('0x2f')][_0xc334('0x1b')]);_0x8df04e[_0xc334('0x19')]=qs['offset'](_0x29378e['query'][_0xc334('0x19')]);}return _0x4299cd[_0xc334('0x49')](_0x8df04e);}})[_0xc334('0x21')](function(_0x31a0a8){if(_0x31a0a8){return _0x31a0a8?{'count':_0x286dbe,'rows':_0x31a0a8}:null;}})[_0xc334('0x21')](respondWithResult(_0xe8ee9d,null))[_0xc334('0x41')](handleError(_0xe8ee9d,null));};exports[_0xc334('0x4c')]=function(_0x596976,_0x8e54d1,_0x40c887){var _0x269fef={};var _0x1feb5e={};var _0x3d1906;var _0xec877a;return db[_0xc334('0x29')][_0xc334('0x4d')]({'where':{'id':_0x596976['params']['id']}})[_0xc334('0x21')](handleEntityNotFound(_0x8e54d1,null))[_0xc334('0x21')](function(_0x254f2a){if(_0x254f2a){_0x3d1906=_0x254f2a;_0x1feb5e[_0xc334('0x2e')]=_[_0xc334('0x44')](db[_0xc334('0x4a')]['rawAttributes']);_0x1feb5e[_0xc334('0x2f')]=_[_0xc334('0x44')](_0x596976[_0xc334('0x2f')]);_0x1feb5e[_0xc334('0x30')]=_[_0xc334('0x31')](_0x1feb5e[_0xc334('0x2e')],_0x1feb5e[_0xc334('0x2f')]);_0x269fef[_0xc334('0x32')]=_[_0xc334('0x31')](_0x1feb5e['model'],qs[_0xc334('0x33')](_0x596976[_0xc334('0x2f')][_0xc334('0x33')]));_0x269fef[_0xc334('0x32')]=_0x269fef[_0xc334('0x32')][_0xc334('0x34')]?_0x269fef[_0xc334('0x32')]:_0x1feb5e['model'];_0x269fef[_0xc334('0x36')]=qs['sort'](_0x596976[_0xc334('0x2f')][_0xc334('0x37')]);_0x269fef[_0xc334('0x38')]=qs[_0xc334('0x30')](_[_0xc334('0x39')](_0x596976['query'],_0x1feb5e[_0xc334('0x30')]));if(_0x596976[_0xc334('0x2f')][_0xc334('0x3b')]){_0x269fef[_0xc334('0x38')]=_['merge'](_0x269fef[_0xc334('0x38')],{'$or':_[_0xc334('0x28')](_0x269fef[_0xc334('0x32')],function(_0x17bbd4){var _0x5cc04d={};_0x5cc04d[_0x17bbd4]={'$like':'%'+_0x596976[_0xc334('0x2f')][_0xc334('0x3b')]+'%'};return _0x5cc04d;})});}_0x269fef=_[_0xc334('0x45')]({},_0x269fef,_0x596976[_0xc334('0x3c')]);return _0x3d1906['getSubjects'](_0x269fef);}})[_0xc334('0x21')](function(_0x4cec28){if(_0x4cec28){_0xec877a=_0x4cec28[_0xc334('0x34')];if(!_0x596976[_0xc334('0x2f')][_0xc334('0x35')]('nolimit')){_0x269fef['limit']=qs['limit'](_0x596976[_0xc334('0x2f')][_0xc334('0x1b')]);_0x269fef[_0xc334('0x19')]=qs[_0xc334('0x19')](_0x596976[_0xc334('0x2f')]['offset']);}return _0x3d1906[_0xc334('0x4c')](_0x269fef);}})['then'](function(_0x5ca2e9){if(_0x5ca2e9){return _0x5ca2e9?{'count':_0xec877a,'rows':_0x5ca2e9}:null;}})[_0xc334('0x21')](respondWithResult(_0x8e54d1,null))[_0xc334('0x41')](handleError(_0x8e54d1,null));};exports[_0xc334('0x4e')]=function(_0x401ee4,_0x543127,_0x2e3da4){var _0x42ae16={};var _0x4aaf2f={};var _0x39dfe6;var _0x5a0ae9;return db[_0xc334('0x29')][_0xc334('0x4d')]({'where':{'id':_0x401ee4['params']['id']}})[_0xc334('0x21')](handleEntityNotFound(_0x543127,null))[_0xc334('0x21')](function(_0x1c5461){if(_0x1c5461){_0x39dfe6=_0x1c5461;_0x4aaf2f[_0xc334('0x2e')]=_[_0xc334('0x44')](db[_0xc334('0x4a')][_0xc334('0x2a')]);_0x4aaf2f[_0xc334('0x2f')]=_['keys'](_0x401ee4[_0xc334('0x2f')]);_0x4aaf2f['filters']=_['intersection'](_0x4aaf2f[_0xc334('0x2e')],_0x4aaf2f[_0xc334('0x2f')]);_0x42ae16[_0xc334('0x32')]=_[_0xc334('0x31')](_0x4aaf2f[_0xc334('0x2e')],qs[_0xc334('0x33')](_0x401ee4[_0xc334('0x2f')][_0xc334('0x33')]));_0x42ae16[_0xc334('0x32')]=_0x42ae16[_0xc334('0x32')][_0xc334('0x34')]?_0x42ae16[_0xc334('0x32')]:_0x4aaf2f[_0xc334('0x2e')];_0x42ae16[_0xc334('0x36')]=qs[_0xc334('0x37')](_0x401ee4['query'][_0xc334('0x37')]);_0x42ae16['where']=qs[_0xc334('0x30')](_[_0xc334('0x39')](_0x401ee4[_0xc334('0x2f')],_0x4aaf2f[_0xc334('0x30')]));if(_0x401ee4[_0xc334('0x2f')][_0xc334('0x3b')]){_0x42ae16[_0xc334('0x38')]=_['merge'](_0x42ae16[_0xc334('0x38')],{'$or':_[_0xc334('0x28')](_0x42ae16[_0xc334('0x32')],function(_0x3dd877){var _0x41eddd={};_0x41eddd[_0x3dd877]={'$like':'%'+_0x401ee4[_0xc334('0x2f')][_0xc334('0x3b')]+'%'};return _0x41eddd;})});}_0x42ae16=_[_0xc334('0x45')]({},_0x42ae16,_0x401ee4[_0xc334('0x3c')]);return _0x39dfe6['getDescriptions'](_0x42ae16);}})[_0xc334('0x21')](function(_0x496133){if(_0x496133){_0x5a0ae9=_0x496133['length'];if(!_0x401ee4['query'][_0xc334('0x35')]('nolimit')){_0x42ae16[_0xc334('0x1b')]=qs[_0xc334('0x1b')](_0x401ee4[_0xc334('0x2f')][_0xc334('0x1b')]);_0x42ae16[_0xc334('0x19')]=qs[_0xc334('0x19')](_0x401ee4['query'][_0xc334('0x19')]);}return _0x39dfe6[_0xc334('0x4e')](_0x42ae16);}})['then'](function(_0x286e6c){if(_0x286e6c){return _0x286e6c?{'count':_0x5a0ae9,'rows':_0x286e6c}:null;}})[_0xc334('0x21')](respondWithResult(_0x543127,null))[_0xc334('0x41')](handleError(_0x543127,null));};