3a2d3500d8382810bc036649d0b0c4b299fa5304
[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 _0xc130=['name','send','index','type','key','model','map','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','ServicenowConfiguration','includeAll','include','findAll','rows','params','rawAttributes','length','find','catch','create','body','getFields','hasOwnProperty','getSubjects','getDescriptions','findOne','ServicenowField','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy'];(function(_0x28e4d3,_0x53e75c){var _0x135a27=function(_0x4a7d84){while(--_0x4a7d84){_0x28e4d3['push'](_0x28e4d3['shift']());}};_0x135a27(++_0x53e75c);}(_0xc130,0x170));var _0x0c13=function(_0x189c2d,_0x442da0){_0x189c2d=_0x189c2d-0x0;var _0x40c7b8=_0xc130[_0x189c2d];return _0x40c7b8;};'use strict';var emlformat=require(_0x0c13('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0c13('0x1'));var jsonpatch=require(_0x0c13('0x2'));var rp=require('request-promise');var moment=require(_0x0c13('0x3'));var BPromise=require(_0x0c13('0x4'));var Mustache=require(_0x0c13('0x5'));var util=require(_0x0c13('0x6'));var path=require(_0x0c13('0x7'));var sox=require(_0x0c13('0x8'));var csv=require(_0x0c13('0x9'));var ejs=require(_0x0c13('0xa'));var fs=require('fs');var fs_extra=require(_0x0c13('0xb'));var _=require(_0x0c13('0xc'));var squel=require('squel');var crypto=require(_0x0c13('0xd'));var jsforce=require(_0x0c13('0xe'));var deskjs=require(_0x0c13('0xf'));var toCsv=require(_0x0c13('0x9'));var querystring=require(_0x0c13('0x10'));var Papa=require('papaparse');var Redis=require(_0x0c13('0x11'));var authService=require(_0x0c13('0x12'));var qs=require(_0x0c13('0x13'));var as=require(_0x0c13('0x14'));var hardwareService=require(_0x0c13('0x15'));var logger=require(_0x0c13('0x16'))(_0x0c13('0x17'));var utils=require(_0x0c13('0x18'));var config=require(_0x0c13('0x19'));var licenseUtil=require(_0x0c13('0x1a'));var db=require(_0x0c13('0x1b'))['db'];function respondWithStatusCode(_0x6ede08,_0x2bd7a2){_0x2bd7a2=_0x2bd7a2||0xcc;return function(_0x3f298a){if(_0x3f298a){return _0x6ede08['sendStatus'](_0x2bd7a2);}return _0x6ede08[_0x0c13('0x1c')](_0x2bd7a2)[_0x0c13('0x1d')]();};}function respondWithResult(_0x112107,_0x3dbff4){_0x3dbff4=_0x3dbff4||0xc8;return function(_0x1e8bea){if(_0x1e8bea){return _0x112107[_0x0c13('0x1c')](_0x3dbff4)[_0x0c13('0x1e')](_0x1e8bea);}};}function respondWithFilteredResult(_0x4fa851,_0x2a8930){return function(_0x5bc799){if(_0x5bc799){var _0xfb9b01=typeof _0x2a8930[_0x0c13('0x1f')]===_0x0c13('0x20')&&typeof _0x2a8930['limit']===_0x0c13('0x20');var _0x12daec=_0x5bc799[_0x0c13('0x21')];var _0x245384=_0xfb9b01?0x0:_0x2a8930[_0x0c13('0x1f')];var _0x47fb0a=_0xfb9b01?_0x5bc799['count']:_0x2a8930[_0x0c13('0x1f')]+_0x2a8930[_0x0c13('0x22')];var _0x2edd0f;if(_0x47fb0a>=_0x12daec){_0x47fb0a=_0x12daec;_0x2edd0f=0xc8;}else{_0x2edd0f=0xce;}_0x4fa851[_0x0c13('0x1c')](_0x2edd0f);return _0x4fa851[_0x0c13('0x23')](_0x0c13('0x24'),_0x245384+'-'+_0x47fb0a+'/'+_0x12daec)['json'](_0x5bc799);}return null;};}function patchUpdates(_0x407cc0){return function(_0x55467d){try{jsonpatch[_0x0c13('0x25')](_0x55467d,_0x407cc0,!![]);}catch(_0xe1670c){return BPromise['reject'](_0xe1670c);}return _0x55467d[_0x0c13('0x26')]();};}function saveUpdates(_0x2be050,_0x213891){return function(_0x28a786){if(_0x28a786){return _0x28a786[_0x0c13('0x27')](_0x2be050)[_0x0c13('0x28')](function(_0x49078a){return _0x49078a;});}return null;};}function removeEntity(_0x15bc40,_0x56ede5){return function(_0x1c9ee1){if(_0x1c9ee1){return _0x1c9ee1[_0x0c13('0x29')]()[_0x0c13('0x28')](function(){_0x15bc40[_0x0c13('0x1c')](0xcc)[_0x0c13('0x1d')]();});}};}function handleEntityNotFound(_0x426026,_0x936e2d){return function(_0x1b2b4e){if(!_0x1b2b4e){_0x426026['sendStatus'](0x194);}return _0x1b2b4e;};}function handleError(_0x2fc0af,_0x516b57){_0x516b57=_0x516b57||0x1f4;return function(_0x43e169){logger['error'](_0x43e169['stack']);if(_0x43e169['name']){delete _0x43e169[_0x0c13('0x2a')];}_0x2fc0af[_0x0c13('0x1c')](_0x516b57)[_0x0c13('0x2b')](_0x43e169);};}exports[_0x0c13('0x2c')]=function(_0x38a965,_0x58c1a7){var _0x31a4c7={},_0x1476f4={},_0x5dac22={'count':0x0,'rows':[]};var _0x3dedb6=_['map'](db['ServicenowConfiguration']['rawAttributes'],function(_0x2dadd3){return{'name':_0x2dadd3['fieldName'],'type':_0x2dadd3[_0x0c13('0x2d')][_0x0c13('0x2e')]};});_0x1476f4[_0x0c13('0x2f')]=_[_0x0c13('0x30')](_0x3dedb6,_0x0c13('0x2a'));_0x1476f4[_0x0c13('0x31')]=_[_0x0c13('0x32')](_0x38a965['query']);_0x1476f4[_0x0c13('0x33')]=_[_0x0c13('0x34')](_0x1476f4[_0x0c13('0x2f')],_0x1476f4[_0x0c13('0x31')]);_0x31a4c7[_0x0c13('0x35')]=_[_0x0c13('0x34')](_0x1476f4[_0x0c13('0x2f')],qs[_0x0c13('0x36')](_0x38a965['query']['fields']));_0x31a4c7[_0x0c13('0x35')]=_0x31a4c7[_0x0c13('0x35')]['length']?_0x31a4c7[_0x0c13('0x35')]:_0x1476f4['model'];if(!_0x38a965['query']['hasOwnProperty'](_0x0c13('0x37'))){_0x31a4c7[_0x0c13('0x22')]=qs[_0x0c13('0x22')](_0x38a965['query'][_0x0c13('0x22')]);_0x31a4c7[_0x0c13('0x1f')]=qs[_0x0c13('0x1f')](_0x38a965[_0x0c13('0x31')][_0x0c13('0x1f')]);}_0x31a4c7[_0x0c13('0x38')]=qs[_0x0c13('0x39')](_0x38a965[_0x0c13('0x31')]['sort']);_0x31a4c7[_0x0c13('0x3a')]=qs[_0x0c13('0x33')](_[_0x0c13('0x3b')](_0x38a965[_0x0c13('0x31')],_0x1476f4[_0x0c13('0x33')]),_0x3dedb6);if(_0x38a965[_0x0c13('0x31')][_0x0c13('0x3c')]){_0x31a4c7[_0x0c13('0x3a')]=_[_0x0c13('0x3d')](_0x31a4c7[_0x0c13('0x3a')],{'$or':_[_0x0c13('0x30')](_0x3dedb6,function(_0x575b8b){if(_0x575b8b[_0x0c13('0x2d')]!==_0x0c13('0x3e')){var _0x139311={};_0x139311[_0x575b8b[_0x0c13('0x2a')]]={'$like':'%'+_0x38a965[_0x0c13('0x31')][_0x0c13('0x3c')]+'%'};return _0x139311;}})});}_0x31a4c7=_[_0x0c13('0x3d')]({},_0x31a4c7,_0x38a965[_0x0c13('0x3f')]);var _0x37fc98={'where':_0x31a4c7[_0x0c13('0x3a')]};return db[_0x0c13('0x40')][_0x0c13('0x21')](_0x37fc98)[_0x0c13('0x28')](function(_0x4ad7e5){_0x5dac22[_0x0c13('0x21')]=_0x4ad7e5;if(_0x38a965[_0x0c13('0x31')][_0x0c13('0x41')]){_0x31a4c7[_0x0c13('0x42')]=[{'all':!![]}];}return db[_0x0c13('0x40')][_0x0c13('0x43')](_0x31a4c7);})['then'](function(_0x2ab6fd){_0x5dac22[_0x0c13('0x44')]=_0x2ab6fd;return _0x5dac22;})[_0x0c13('0x28')](respondWithFilteredResult(_0x58c1a7,_0x31a4c7))['catch'](handleError(_0x58c1a7,null));};exports['show']=function(_0x425dbb,_0x2e036f){var _0x2999ee={'raw':![],'where':{'id':_0x425dbb[_0x0c13('0x45')]['id']}},_0x2f51f6={};_0x2f51f6[_0x0c13('0x2f')]=_[_0x0c13('0x32')](db[_0x0c13('0x40')][_0x0c13('0x46')]);_0x2f51f6[_0x0c13('0x31')]=_[_0x0c13('0x32')](_0x425dbb[_0x0c13('0x31')]);_0x2f51f6[_0x0c13('0x33')]=_[_0x0c13('0x34')](_0x2f51f6[_0x0c13('0x2f')],_0x2f51f6[_0x0c13('0x31')]);_0x2999ee[_0x0c13('0x35')]=_['intersection'](_0x2f51f6[_0x0c13('0x2f')],qs[_0x0c13('0x36')](_0x425dbb['query'][_0x0c13('0x36')]));_0x2999ee['attributes']=_0x2999ee['attributes'][_0x0c13('0x47')]?_0x2999ee[_0x0c13('0x35')]:_0x2f51f6[_0x0c13('0x2f')];if(_0x425dbb[_0x0c13('0x31')]['includeAll']){_0x2999ee[_0x0c13('0x42')]=[{'all':!![]}];}_0x2999ee=_['merge']({},_0x2999ee,_0x425dbb[_0x0c13('0x3f')]);return db['ServicenowConfiguration'][_0x0c13('0x48')](_0x2999ee)[_0x0c13('0x28')](handleEntityNotFound(_0x2e036f,null))[_0x0c13('0x28')](respondWithResult(_0x2e036f,null))[_0x0c13('0x49')](handleError(_0x2e036f,null));};exports[_0x0c13('0x4a')]=function(_0x4aefbd,_0x2a6d89){return db[_0x0c13('0x40')][_0x0c13('0x4a')](_0x4aefbd[_0x0c13('0x4b')],{})[_0x0c13('0x28')](respondWithResult(_0x2a6d89,0xc9))[_0x0c13('0x49')](handleError(_0x2a6d89,null));};exports[_0x0c13('0x27')]=function(_0x24f2fb,_0x118b00){if(_0x24f2fb[_0x0c13('0x4b')]['id']){delete _0x24f2fb[_0x0c13('0x4b')]['id'];}return db[_0x0c13('0x40')][_0x0c13('0x48')]({'where':{'id':_0x24f2fb[_0x0c13('0x45')]['id']}})[_0x0c13('0x28')](handleEntityNotFound(_0x118b00,null))[_0x0c13('0x28')](saveUpdates(_0x24f2fb[_0x0c13('0x4b')],null))[_0x0c13('0x28')](respondWithResult(_0x118b00,null))['catch'](handleError(_0x118b00,null));};exports[_0x0c13('0x29')]=function(_0x687dc8,_0x482c3a){return db[_0x0c13('0x40')][_0x0c13('0x48')]({'where':{'id':_0x687dc8['params']['id']}})[_0x0c13('0x28')](handleEntityNotFound(_0x482c3a,null))[_0x0c13('0x28')](removeEntity(_0x482c3a,null))[_0x0c13('0x49')](handleError(_0x482c3a,null));};exports[_0x0c13('0x4c')]=function(_0x27a28f,_0x53d093,_0x2bf3b7){var _0x758547={};var _0x4fef5a={};var _0x8e52c;var _0x50dd8d;return db[_0x0c13('0x40')]['findOne']({'where':{'id':_0x27a28f[_0x0c13('0x45')]['id']}})[_0x0c13('0x28')](handleEntityNotFound(_0x53d093,null))[_0x0c13('0x28')](function(_0x4a4a69){if(_0x4a4a69){_0x8e52c=_0x4a4a69;_0x4fef5a['model']=_[_0x0c13('0x32')](db['ServicenowField']['rawAttributes']);_0x4fef5a['query']=_[_0x0c13('0x32')](_0x27a28f[_0x0c13('0x31')]);_0x4fef5a[_0x0c13('0x33')]=_[_0x0c13('0x34')](_0x4fef5a['model'],_0x4fef5a[_0x0c13('0x31')]);_0x758547['attributes']=_['intersection'](_0x4fef5a[_0x0c13('0x2f')],qs[_0x0c13('0x36')](_0x27a28f[_0x0c13('0x31')][_0x0c13('0x36')]));_0x758547[_0x0c13('0x35')]=_0x758547['attributes'][_0x0c13('0x47')]?_0x758547[_0x0c13('0x35')]:_0x4fef5a[_0x0c13('0x2f')];_0x758547[_0x0c13('0x38')]=qs['sort'](_0x27a28f[_0x0c13('0x31')][_0x0c13('0x39')]);_0x758547[_0x0c13('0x3a')]=qs[_0x0c13('0x33')](_[_0x0c13('0x3b')](_0x27a28f['query'],_0x4fef5a[_0x0c13('0x33')]));if(_0x27a28f[_0x0c13('0x31')][_0x0c13('0x3c')]){_0x758547[_0x0c13('0x3a')]=_['merge'](_0x758547[_0x0c13('0x3a')],{'$or':_['map'](_0x758547[_0x0c13('0x35')],function(_0x141757){var _0x165d9f={};_0x165d9f[_0x141757]={'$like':'%'+_0x27a28f['query'][_0x0c13('0x3c')]+'%'};return _0x165d9f;})});}_0x758547=_['merge']({},_0x758547,_0x27a28f['options']);return _0x8e52c[_0x0c13('0x4c')](_0x758547);}})['then'](function(_0x3ff5d9){if(_0x3ff5d9){_0x50dd8d=_0x3ff5d9[_0x0c13('0x47')];if(!_0x27a28f[_0x0c13('0x31')][_0x0c13('0x4d')](_0x0c13('0x37'))){_0x758547[_0x0c13('0x22')]=qs[_0x0c13('0x22')](_0x27a28f[_0x0c13('0x31')]['limit']);_0x758547['offset']=qs[_0x0c13('0x1f')](_0x27a28f['query'][_0x0c13('0x1f')]);}return _0x8e52c[_0x0c13('0x4c')](_0x758547);}})['then'](function(_0x3b4510){if(_0x3b4510){return _0x3b4510?{'count':_0x50dd8d,'rows':_0x3b4510}:null;}})[_0x0c13('0x28')](respondWithResult(_0x53d093,null))[_0x0c13('0x49')](handleError(_0x53d093,null));};exports['getSubjects']=function(_0x251985,_0xae5ee,_0x21e62d){var _0xdbacd={};var _0x5e80e4={};var _0x3793b4;var _0x2ca1f8;return db[_0x0c13('0x40')]['findOne']({'where':{'id':_0x251985[_0x0c13('0x45')]['id']}})[_0x0c13('0x28')](handleEntityNotFound(_0xae5ee,null))[_0x0c13('0x28')](function(_0x658911){if(_0x658911){_0x3793b4=_0x658911;_0x5e80e4[_0x0c13('0x2f')]=_[_0x0c13('0x32')](db['ServicenowField'][_0x0c13('0x46')]);_0x5e80e4[_0x0c13('0x31')]=_[_0x0c13('0x32')](_0x251985['query']);_0x5e80e4[_0x0c13('0x33')]=_[_0x0c13('0x34')](_0x5e80e4[_0x0c13('0x2f')],_0x5e80e4[_0x0c13('0x31')]);_0xdbacd['attributes']=_[_0x0c13('0x34')](_0x5e80e4[_0x0c13('0x2f')],qs['fields'](_0x251985[_0x0c13('0x31')]['fields']));_0xdbacd[_0x0c13('0x35')]=_0xdbacd[_0x0c13('0x35')][_0x0c13('0x47')]?_0xdbacd[_0x0c13('0x35')]:_0x5e80e4[_0x0c13('0x2f')];_0xdbacd[_0x0c13('0x38')]=qs[_0x0c13('0x39')](_0x251985[_0x0c13('0x31')][_0x0c13('0x39')]);_0xdbacd[_0x0c13('0x3a')]=qs['filters'](_[_0x0c13('0x3b')](_0x251985[_0x0c13('0x31')],_0x5e80e4[_0x0c13('0x33')]));if(_0x251985[_0x0c13('0x31')][_0x0c13('0x3c')]){_0xdbacd[_0x0c13('0x3a')]=_['merge'](_0xdbacd[_0x0c13('0x3a')],{'$or':_[_0x0c13('0x30')](_0xdbacd[_0x0c13('0x35')],function(_0x47cd08){var _0xb63a30={};_0xb63a30[_0x47cd08]={'$like':'%'+_0x251985['query']['filter']+'%'};return _0xb63a30;})});}_0xdbacd=_[_0x0c13('0x3d')]({},_0xdbacd,_0x251985[_0x0c13('0x3f')]);return _0x3793b4[_0x0c13('0x4e')](_0xdbacd);}})[_0x0c13('0x28')](function(_0x28b88e){if(_0x28b88e){_0x2ca1f8=_0x28b88e[_0x0c13('0x47')];if(!_0x251985[_0x0c13('0x31')][_0x0c13('0x4d')]('nolimit')){_0xdbacd[_0x0c13('0x22')]=qs[_0x0c13('0x22')](_0x251985[_0x0c13('0x31')][_0x0c13('0x22')]);_0xdbacd[_0x0c13('0x1f')]=qs[_0x0c13('0x1f')](_0x251985['query'][_0x0c13('0x1f')]);}return _0x3793b4['getSubjects'](_0xdbacd);}})[_0x0c13('0x28')](function(_0xd4e5b5){if(_0xd4e5b5){return _0xd4e5b5?{'count':_0x2ca1f8,'rows':_0xd4e5b5}:null;}})[_0x0c13('0x28')](respondWithResult(_0xae5ee,null))[_0x0c13('0x49')](handleError(_0xae5ee,null));};exports[_0x0c13('0x4f')]=function(_0x5da08f,_0x313511,_0x53d2d5){var _0x5896ab={};var _0x1a012d={};var _0x36aa0e;var _0x39be52;return db['ServicenowConfiguration'][_0x0c13('0x50')]({'where':{'id':_0x5da08f[_0x0c13('0x45')]['id']}})[_0x0c13('0x28')](handleEntityNotFound(_0x313511,null))[_0x0c13('0x28')](function(_0x57c252){if(_0x57c252){_0x36aa0e=_0x57c252;_0x1a012d[_0x0c13('0x2f')]=_[_0x0c13('0x32')](db[_0x0c13('0x51')][_0x0c13('0x46')]);_0x1a012d['query']=_[_0x0c13('0x32')](_0x5da08f[_0x0c13('0x31')]);_0x1a012d[_0x0c13('0x33')]=_[_0x0c13('0x34')](_0x1a012d[_0x0c13('0x2f')],_0x1a012d['query']);_0x5896ab[_0x0c13('0x35')]=_[_0x0c13('0x34')](_0x1a012d['model'],qs[_0x0c13('0x36')](_0x5da08f['query'][_0x0c13('0x36')]));_0x5896ab[_0x0c13('0x35')]=_0x5896ab[_0x0c13('0x35')][_0x0c13('0x47')]?_0x5896ab[_0x0c13('0x35')]:_0x1a012d[_0x0c13('0x2f')];_0x5896ab[_0x0c13('0x38')]=qs[_0x0c13('0x39')](_0x5da08f[_0x0c13('0x31')]['sort']);_0x5896ab[_0x0c13('0x3a')]=qs[_0x0c13('0x33')](_[_0x0c13('0x3b')](_0x5da08f[_0x0c13('0x31')],_0x1a012d[_0x0c13('0x33')]));if(_0x5da08f[_0x0c13('0x31')][_0x0c13('0x3c')]){_0x5896ab[_0x0c13('0x3a')]=_[_0x0c13('0x3d')](_0x5896ab[_0x0c13('0x3a')],{'$or':_[_0x0c13('0x30')](_0x5896ab[_0x0c13('0x35')],function(_0x1c9862){var _0x1ac615={};_0x1ac615[_0x1c9862]={'$like':'%'+_0x5da08f[_0x0c13('0x31')][_0x0c13('0x3c')]+'%'};return _0x1ac615;})});}_0x5896ab=_[_0x0c13('0x3d')]({},_0x5896ab,_0x5da08f[_0x0c13('0x3f')]);return _0x36aa0e[_0x0c13('0x4f')](_0x5896ab);}})[_0x0c13('0x28')](function(_0x4e2f74){if(_0x4e2f74){_0x39be52=_0x4e2f74['length'];if(!_0x5da08f[_0x0c13('0x31')]['hasOwnProperty'](_0x0c13('0x37'))){_0x5896ab[_0x0c13('0x22')]=qs[_0x0c13('0x22')](_0x5da08f[_0x0c13('0x31')]['limit']);_0x5896ab[_0x0c13('0x1f')]=qs[_0x0c13('0x1f')](_0x5da08f[_0x0c13('0x31')][_0x0c13('0x1f')]);}return _0x36aa0e[_0x0c13('0x4f')](_0x5896ab);}})[_0x0c13('0x28')](function(_0x249785){if(_0x249785){return _0x249785?{'count':_0x39be52,'rows':_0x249785}:null;}})[_0x0c13('0x28')](respondWithResult(_0x313511,null))['catch'](handleError(_0x313511,null));};