Built motion from commit da617fac.|2.6.6
[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 _0xe09f=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','error','stack','name','send','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','sort','where','pick','VIRTUAL','merge','options','include','findAll','rows','catch','params','ServicenowConfiguration','includeAll','find','create','body','getFields','ServicenowField','filter','hasOwnProperty','findOne','order','getSubjects','getDescriptions','eml-format','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse'];(function(_0xbedbaa,_0x39d1e5){var _0x3eb1a2=function(_0xe3e1fb){while(--_0xe3e1fb){_0xbedbaa['push'](_0xbedbaa['shift']());}};_0x3eb1a2(++_0x39d1e5);}(_0xe09f,0x129));var _0xfe09=function(_0x501510,_0x61caa9){_0x501510=_0x501510-0x0;var _0x1e6ee5=_0xe09f[_0x501510];return _0x1e6ee5;};'use strict';var emlformat=require(_0xfe09('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xfe09('0x1'));var rp=require(_0xfe09('0x2'));var moment=require(_0xfe09('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xfe09('0x4'));var util=require('util');var path=require(_0xfe09('0x5'));var sox=require(_0xfe09('0x6'));var csv=require(_0xfe09('0x7'));var ejs=require(_0xfe09('0x8'));var fs=require('fs');var fs_extra=require(_0xfe09('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xfe09('0xa'));var jsforce=require(_0xfe09('0xb'));var deskjs=require(_0xfe09('0xc'));var toCsv=require('to-csv');var querystring=require(_0xfe09('0xd'));var Papa=require(_0xfe09('0xe'));var Redis=require('ioredis');var authService=require(_0xfe09('0xf'));var qs=require(_0xfe09('0x10'));var as=require(_0xfe09('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfe09('0x12'))(_0xfe09('0x13'));var utils=require('../../config/utils');var config=require(_0xfe09('0x14'));var licenseUtil=require(_0xfe09('0x15'));var db=require(_0xfe09('0x16'))['db'];function respondWithStatusCode(_0x586d7a,_0x319598){_0x319598=_0x319598||0xcc;return function(_0x36df30){if(_0x36df30){return _0x586d7a[_0xfe09('0x17')](_0x319598);}return _0x586d7a[_0xfe09('0x18')](_0x319598)['end']();};}function respondWithResult(_0x3c4b1b,_0x187a03){_0x187a03=_0x187a03||0xc8;return function(_0x5e1792){if(_0x5e1792){return _0x3c4b1b[_0xfe09('0x18')](_0x187a03)[_0xfe09('0x19')](_0x5e1792);}};}function respondWithFilteredResult(_0x483769,_0x469f4f){return function(_0x1c9dc2){if(_0x1c9dc2){var _0x9e3f62=typeof _0x469f4f[_0xfe09('0x1a')]===_0xfe09('0x1b')&&typeof _0x469f4f['limit']===_0xfe09('0x1b');var _0x94ee65=_0x1c9dc2['count'];var _0x443a79=_0x9e3f62?0x0:_0x469f4f[_0xfe09('0x1a')];var _0x2c8047=_0x9e3f62?_0x1c9dc2[_0xfe09('0x1c')]:_0x469f4f[_0xfe09('0x1a')]+_0x469f4f[_0xfe09('0x1d')];var _0x562676;if(_0x2c8047>=_0x94ee65){_0x2c8047=_0x94ee65;_0x562676=0xc8;}else{_0x562676=0xce;}_0x483769[_0xfe09('0x18')](_0x562676);return _0x483769[_0xfe09('0x1e')](_0xfe09('0x1f'),_0x443a79+'-'+_0x2c8047+'/'+_0x94ee65)[_0xfe09('0x19')](_0x1c9dc2);}return null;};}function patchUpdates(_0x289599){return function(_0x1c1746){try{jsonpatch[_0xfe09('0x20')](_0x1c1746,_0x289599,!![]);}catch(_0x3ef1c4){return BPromise['reject'](_0x3ef1c4);}return _0x1c1746[_0xfe09('0x21')]();};}function saveUpdates(_0x3bc115,_0x1246f7){return function(_0x783331){if(_0x783331){return _0x783331[_0xfe09('0x22')](_0x3bc115)[_0xfe09('0x23')](function(_0x516c27){return _0x516c27;});}return null;};}function removeEntity(_0x29d684,_0x2cd205){return function(_0x2de70c){if(_0x2de70c){return _0x2de70c['destroy']()['then'](function(){_0x29d684[_0xfe09('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3b14b8,_0x123ecb){return function(_0x175071){if(!_0x175071){_0x3b14b8[_0xfe09('0x17')](0x194);}return _0x175071;};}function handleError(_0x7157e,_0x5e04dd){_0x5e04dd=_0x5e04dd||0x1f4;return function(_0x296056){logger[_0xfe09('0x24')](_0x296056[_0xfe09('0x25')]);if(_0x296056['name']){delete _0x296056[_0xfe09('0x26')];}_0x7157e[_0xfe09('0x18')](_0x5e04dd)[_0xfe09('0x27')](_0x296056);};}exports['index']=function(_0x39dcc3,_0xa46a0e){var _0x669fd={},_0x2f9278={},_0x4528a8={'count':0x0,'rows':[]};var _0x31d86e=_[_0xfe09('0x28')](db['ServicenowConfiguration'][_0xfe09('0x29')],function(_0x4d54fe){return{'name':_0x4d54fe[_0xfe09('0x2a')],'type':_0x4d54fe[_0xfe09('0x2b')][_0xfe09('0x2c')]};});_0x2f9278[_0xfe09('0x2d')]=_['map'](_0x31d86e,'name');_0x2f9278[_0xfe09('0x2e')]=_[_0xfe09('0x2f')](_0x39dcc3[_0xfe09('0x2e')]);_0x2f9278[_0xfe09('0x30')]=_[_0xfe09('0x31')](_0x2f9278[_0xfe09('0x2d')],_0x2f9278[_0xfe09('0x2e')]);_0x669fd['attributes']=_['intersection'](_0x2f9278[_0xfe09('0x2d')],qs['fields'](_0x39dcc3[_0xfe09('0x2e')][_0xfe09('0x32')]));_0x669fd[_0xfe09('0x33')]=_0x669fd[_0xfe09('0x33')][_0xfe09('0x34')]?_0x669fd[_0xfe09('0x33')]:_0x2f9278[_0xfe09('0x2d')];if(!_0x39dcc3[_0xfe09('0x2e')]['hasOwnProperty'](_0xfe09('0x35'))){_0x669fd[_0xfe09('0x1d')]=qs['limit'](_0x39dcc3['query']['limit']);_0x669fd[_0xfe09('0x1a')]=qs['offset'](_0x39dcc3[_0xfe09('0x2e')][_0xfe09('0x1a')]);}_0x669fd['order']=qs['sort'](_0x39dcc3['query'][_0xfe09('0x36')]);_0x669fd[_0xfe09('0x37')]=qs['filters'](_[_0xfe09('0x38')](_0x39dcc3['query'],_0x2f9278['filters']),_0x31d86e);if(_0x39dcc3['query']['filter']){_0x669fd['where']=_['merge'](_0x669fd['where'],{'$or':_[_0xfe09('0x28')](_0x31d86e,function(_0x453ed5){if(_0x453ed5[_0xfe09('0x2b')]!==_0xfe09('0x39')){var _0x51cf65={};_0x51cf65[_0x453ed5[_0xfe09('0x26')]]={'$like':'%'+_0x39dcc3[_0xfe09('0x2e')]['filter']+'%'};return _0x51cf65;}})});}_0x669fd=_[_0xfe09('0x3a')]({},_0x669fd,_0x39dcc3[_0xfe09('0x3b')]);var _0x3501a1={'where':_0x669fd[_0xfe09('0x37')]};return db['ServicenowConfiguration'][_0xfe09('0x1c')](_0x3501a1)[_0xfe09('0x23')](function(_0x2ab79e){_0x4528a8[_0xfe09('0x1c')]=_0x2ab79e;if(_0x39dcc3[_0xfe09('0x2e')]['includeAll']){_0x669fd[_0xfe09('0x3c')]=[{'all':!![]}];}return db['ServicenowConfiguration'][_0xfe09('0x3d')](_0x669fd);})['then'](function(_0x4d4ff3){_0x4528a8[_0xfe09('0x3e')]=_0x4d4ff3;return _0x4528a8;})[_0xfe09('0x23')](respondWithFilteredResult(_0xa46a0e,_0x669fd))[_0xfe09('0x3f')](handleError(_0xa46a0e,null));};exports['show']=function(_0x1fca86,_0x20bbaa){var _0x5f5bea={'raw':![],'where':{'id':_0x1fca86[_0xfe09('0x40')]['id']}},_0x565b7d={};_0x565b7d['model']=_[_0xfe09('0x2f')](db[_0xfe09('0x41')]['rawAttributes']);_0x565b7d[_0xfe09('0x2e')]=_['keys'](_0x1fca86[_0xfe09('0x2e')]);_0x565b7d[_0xfe09('0x30')]=_[_0xfe09('0x31')](_0x565b7d['model'],_0x565b7d[_0xfe09('0x2e')]);_0x5f5bea[_0xfe09('0x33')]=_[_0xfe09('0x31')](_0x565b7d['model'],qs[_0xfe09('0x32')](_0x1fca86[_0xfe09('0x2e')][_0xfe09('0x32')]));_0x5f5bea[_0xfe09('0x33')]=_0x5f5bea['attributes']['length']?_0x5f5bea[_0xfe09('0x33')]:_0x565b7d[_0xfe09('0x2d')];if(_0x1fca86[_0xfe09('0x2e')][_0xfe09('0x42')]){_0x5f5bea[_0xfe09('0x3c')]=[{'all':!![]}];}_0x5f5bea=_[_0xfe09('0x3a')]({},_0x5f5bea,_0x1fca86[_0xfe09('0x3b')]);return db['ServicenowConfiguration'][_0xfe09('0x43')](_0x5f5bea)['then'](handleEntityNotFound(_0x20bbaa,null))[_0xfe09('0x23')](respondWithResult(_0x20bbaa,null))[_0xfe09('0x3f')](handleError(_0x20bbaa,null));};exports[_0xfe09('0x44')]=function(_0x48eed0,_0x46ca76){return db['ServicenowConfiguration'][_0xfe09('0x44')](_0x48eed0[_0xfe09('0x45')],{})[_0xfe09('0x23')](respondWithResult(_0x46ca76,0xc9))['catch'](handleError(_0x46ca76,null));};exports[_0xfe09('0x22')]=function(_0x31e390,_0x5099e5){if(_0x31e390[_0xfe09('0x45')]['id']){delete _0x31e390[_0xfe09('0x45')]['id'];}return db[_0xfe09('0x41')][_0xfe09('0x43')]({'where':{'id':_0x31e390[_0xfe09('0x40')]['id']}})[_0xfe09('0x23')](handleEntityNotFound(_0x5099e5,null))['then'](saveUpdates(_0x31e390[_0xfe09('0x45')],null))[_0xfe09('0x23')](respondWithResult(_0x5099e5,null))[_0xfe09('0x3f')](handleError(_0x5099e5,null));};exports['destroy']=function(_0x3f296a,_0x1c8633){return db[_0xfe09('0x41')][_0xfe09('0x43')]({'where':{'id':_0x3f296a['params']['id']}})['then'](handleEntityNotFound(_0x1c8633,null))['then'](removeEntity(_0x1c8633,null))[_0xfe09('0x3f')](handleError(_0x1c8633,null));};exports[_0xfe09('0x46')]=function(_0x1e769d,_0x45ce40,_0x3119b5){var _0x3c9a2f={};var _0x1423ec={};var _0x321b91;var _0x416ab1;return db['ServicenowConfiguration']['findOne']({'where':{'id':_0x1e769d['params']['id']}})['then'](handleEntityNotFound(_0x45ce40,null))[_0xfe09('0x23')](function(_0x362f2b){if(_0x362f2b){_0x321b91=_0x362f2b;_0x1423ec[_0xfe09('0x2d')]=_[_0xfe09('0x2f')](db[_0xfe09('0x47')][_0xfe09('0x29')]);_0x1423ec['query']=_['keys'](_0x1e769d[_0xfe09('0x2e')]);_0x1423ec[_0xfe09('0x30')]=_['intersection'](_0x1423ec[_0xfe09('0x2d')],_0x1423ec[_0xfe09('0x2e')]);_0x3c9a2f[_0xfe09('0x33')]=_[_0xfe09('0x31')](_0x1423ec['model'],qs[_0xfe09('0x32')](_0x1e769d[_0xfe09('0x2e')]['fields']));_0x3c9a2f['attributes']=_0x3c9a2f['attributes'][_0xfe09('0x34')]?_0x3c9a2f['attributes']:_0x1423ec[_0xfe09('0x2d')];_0x3c9a2f['order']=qs[_0xfe09('0x36')](_0x1e769d[_0xfe09('0x2e')][_0xfe09('0x36')]);_0x3c9a2f[_0xfe09('0x37')]=qs[_0xfe09('0x30')](_[_0xfe09('0x38')](_0x1e769d[_0xfe09('0x2e')],_0x1423ec[_0xfe09('0x30')]));if(_0x1e769d[_0xfe09('0x2e')][_0xfe09('0x48')]){_0x3c9a2f[_0xfe09('0x37')]=_[_0xfe09('0x3a')](_0x3c9a2f[_0xfe09('0x37')],{'$or':_[_0xfe09('0x28')](_0x3c9a2f[_0xfe09('0x33')],function(_0x3538b5){var _0x5c971b={};_0x5c971b[_0x3538b5]={'$like':'%'+_0x1e769d[_0xfe09('0x2e')][_0xfe09('0x48')]+'%'};return _0x5c971b;})});}_0x3c9a2f=_[_0xfe09('0x3a')]({},_0x3c9a2f,_0x1e769d['options']);return _0x321b91[_0xfe09('0x46')](_0x3c9a2f);}})[_0xfe09('0x23')](function(_0x49850c){if(_0x49850c){_0x416ab1=_0x49850c['length'];if(!_0x1e769d[_0xfe09('0x2e')][_0xfe09('0x49')]('nolimit')){_0x3c9a2f[_0xfe09('0x1d')]=qs[_0xfe09('0x1d')](_0x1e769d[_0xfe09('0x2e')][_0xfe09('0x1d')]);_0x3c9a2f[_0xfe09('0x1a')]=qs[_0xfe09('0x1a')](_0x1e769d[_0xfe09('0x2e')][_0xfe09('0x1a')]);}return _0x321b91[_0xfe09('0x46')](_0x3c9a2f);}})[_0xfe09('0x23')](function(_0x275b87){if(_0x275b87){return _0x275b87?{'count':_0x416ab1,'rows':_0x275b87}:null;}})[_0xfe09('0x23')](respondWithResult(_0x45ce40,null))[_0xfe09('0x3f')](handleError(_0x45ce40,null));};exports['getSubjects']=function(_0x58eeca,_0xabbc41,_0x558962){var _0x2e1a6e={};var _0x14e54c={};var _0x227a1f;var _0x5c1b85;return db[_0xfe09('0x41')][_0xfe09('0x4a')]({'where':{'id':_0x58eeca[_0xfe09('0x40')]['id']}})[_0xfe09('0x23')](handleEntityNotFound(_0xabbc41,null))[_0xfe09('0x23')](function(_0x59677d){if(_0x59677d){_0x227a1f=_0x59677d;_0x14e54c[_0xfe09('0x2d')]=_[_0xfe09('0x2f')](db[_0xfe09('0x47')][_0xfe09('0x29')]);_0x14e54c['query']=_[_0xfe09('0x2f')](_0x58eeca[_0xfe09('0x2e')]);_0x14e54c[_0xfe09('0x30')]=_[_0xfe09('0x31')](_0x14e54c[_0xfe09('0x2d')],_0x14e54c[_0xfe09('0x2e')]);_0x2e1a6e[_0xfe09('0x33')]=_[_0xfe09('0x31')](_0x14e54c[_0xfe09('0x2d')],qs['fields'](_0x58eeca[_0xfe09('0x2e')][_0xfe09('0x32')]));_0x2e1a6e[_0xfe09('0x33')]=_0x2e1a6e[_0xfe09('0x33')][_0xfe09('0x34')]?_0x2e1a6e['attributes']:_0x14e54c[_0xfe09('0x2d')];_0x2e1a6e[_0xfe09('0x4b')]=qs['sort'](_0x58eeca[_0xfe09('0x2e')][_0xfe09('0x36')]);_0x2e1a6e['where']=qs['filters'](_['pick'](_0x58eeca[_0xfe09('0x2e')],_0x14e54c[_0xfe09('0x30')]));if(_0x58eeca[_0xfe09('0x2e')][_0xfe09('0x48')]){_0x2e1a6e[_0xfe09('0x37')]=_[_0xfe09('0x3a')](_0x2e1a6e['where'],{'$or':_[_0xfe09('0x28')](_0x2e1a6e['attributes'],function(_0x1ce156){var _0x28969b={};_0x28969b[_0x1ce156]={'$like':'%'+_0x58eeca['query']['filter']+'%'};return _0x28969b;})});}_0x2e1a6e=_[_0xfe09('0x3a')]({},_0x2e1a6e,_0x58eeca[_0xfe09('0x3b')]);return _0x227a1f[_0xfe09('0x4c')](_0x2e1a6e);}})[_0xfe09('0x23')](function(_0x175cc0){if(_0x175cc0){_0x5c1b85=_0x175cc0[_0xfe09('0x34')];if(!_0x58eeca[_0xfe09('0x2e')]['hasOwnProperty'](_0xfe09('0x35'))){_0x2e1a6e[_0xfe09('0x1d')]=qs[_0xfe09('0x1d')](_0x58eeca[_0xfe09('0x2e')]['limit']);_0x2e1a6e[_0xfe09('0x1a')]=qs[_0xfe09('0x1a')](_0x58eeca[_0xfe09('0x2e')][_0xfe09('0x1a')]);}return _0x227a1f[_0xfe09('0x4c')](_0x2e1a6e);}})[_0xfe09('0x23')](function(_0x7d4bef){if(_0x7d4bef){return _0x7d4bef?{'count':_0x5c1b85,'rows':_0x7d4bef}:null;}})[_0xfe09('0x23')](respondWithResult(_0xabbc41,null))['catch'](handleError(_0xabbc41,null));};exports[_0xfe09('0x4d')]=function(_0xb631dc,_0x527023,_0xed67f2){var _0x13d53e={};var _0x102dc3={};var _0x1917a5;var _0x3b4256;return db[_0xfe09('0x41')][_0xfe09('0x4a')]({'where':{'id':_0xb631dc['params']['id']}})['then'](handleEntityNotFound(_0x527023,null))[_0xfe09('0x23')](function(_0x1b09a2){if(_0x1b09a2){_0x1917a5=_0x1b09a2;_0x102dc3['model']=_[_0xfe09('0x2f')](db[_0xfe09('0x47')]['rawAttributes']);_0x102dc3[_0xfe09('0x2e')]=_[_0xfe09('0x2f')](_0xb631dc[_0xfe09('0x2e')]);_0x102dc3[_0xfe09('0x30')]=_[_0xfe09('0x31')](_0x102dc3[_0xfe09('0x2d')],_0x102dc3['query']);_0x13d53e[_0xfe09('0x33')]=_[_0xfe09('0x31')](_0x102dc3[_0xfe09('0x2d')],qs[_0xfe09('0x32')](_0xb631dc[_0xfe09('0x2e')][_0xfe09('0x32')]));_0x13d53e[_0xfe09('0x33')]=_0x13d53e['attributes'][_0xfe09('0x34')]?_0x13d53e[_0xfe09('0x33')]:_0x102dc3['model'];_0x13d53e[_0xfe09('0x4b')]=qs[_0xfe09('0x36')](_0xb631dc[_0xfe09('0x2e')][_0xfe09('0x36')]);_0x13d53e[_0xfe09('0x37')]=qs[_0xfe09('0x30')](_[_0xfe09('0x38')](_0xb631dc[_0xfe09('0x2e')],_0x102dc3[_0xfe09('0x30')]));if(_0xb631dc['query'][_0xfe09('0x48')]){_0x13d53e[_0xfe09('0x37')]=_[_0xfe09('0x3a')](_0x13d53e['where'],{'$or':_[_0xfe09('0x28')](_0x13d53e[_0xfe09('0x33')],function(_0x436dab){var _0x1c7db4={};_0x1c7db4[_0x436dab]={'$like':'%'+_0xb631dc['query'][_0xfe09('0x48')]+'%'};return _0x1c7db4;})});}_0x13d53e=_['merge']({},_0x13d53e,_0xb631dc[_0xfe09('0x3b')]);return _0x1917a5[_0xfe09('0x4d')](_0x13d53e);}})[_0xfe09('0x23')](function(_0xa0943c){if(_0xa0943c){_0x3b4256=_0xa0943c[_0xfe09('0x34')];if(!_0xb631dc[_0xfe09('0x2e')][_0xfe09('0x49')](_0xfe09('0x35'))){_0x13d53e[_0xfe09('0x1d')]=qs[_0xfe09('0x1d')](_0xb631dc[_0xfe09('0x2e')][_0xfe09('0x1d')]);_0x13d53e[_0xfe09('0x1a')]=qs[_0xfe09('0x1a')](_0xb631dc['query'][_0xfe09('0x1a')]);}return _0x1917a5[_0xfe09('0x4d')](_0x13d53e);}})[_0xfe09('0x23')](function(_0x3d5c3e){if(_0x3d5c3e){return _0x3d5c3e?{'count':_0x3b4256,'rows':_0x3d5c3e}:null;}})['then'](respondWithResult(_0x527023,null))['catch'](handleError(_0x527023,null));};