Built motion from commit 863c3375.|2.6.28
[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 _0x5ead=['status','end','json','undefined','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','ServicenowConfiguration','includeAll','include','findAll','rows','catch','show','params','keys','options','find','create','body','getFields','filter','findOne','ServicenowField','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x206c6d,_0x45624d){var _0x429e29=function(_0x41a5c1){while(--_0x41a5c1){_0x206c6d['push'](_0x206c6d['shift']());}};_0x429e29(++_0x45624d);}(_0x5ead,0xda));var _0xd5ea=function(_0x1facfa,_0x1acf7d){_0x1facfa=_0x1facfa-0x0;var _0x9ec701=_0x5ead[_0x1facfa];return _0x9ec701;};'use strict';var emlformat=require(_0xd5ea('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd5ea('0x1'));var jsonpatch=require(_0xd5ea('0x2'));var rp=require(_0xd5ea('0x3'));var moment=require(_0xd5ea('0x4'));var BPromise=require(_0xd5ea('0x5'));var Mustache=require(_0xd5ea('0x6'));var util=require('util');var path=require(_0xd5ea('0x7'));var sox=require(_0xd5ea('0x8'));var csv=require(_0xd5ea('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd5ea('0xa'));var _=require(_0xd5ea('0xb'));var squel=require(_0xd5ea('0xc'));var crypto=require(_0xd5ea('0xd'));var jsforce=require(_0xd5ea('0xe'));var deskjs=require(_0xd5ea('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xd5ea('0x10'));var Redis=require(_0xd5ea('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xd5ea('0x12'));var hardwareService=require(_0xd5ea('0x13'));var logger=require(_0xd5ea('0x14'))('api');var utils=require(_0xd5ea('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xd5ea('0x16'));var db=require(_0xd5ea('0x17'))['db'];function respondWithStatusCode(_0x1d38df,_0xffd75){_0xffd75=_0xffd75||0xcc;return function(_0x852856){if(_0x852856){return _0x1d38df[_0xd5ea('0x18')](_0xffd75);}return _0x1d38df[_0xd5ea('0x19')](_0xffd75)[_0xd5ea('0x1a')]();};}function respondWithResult(_0x535dbe,_0x50c2e6){_0x50c2e6=_0x50c2e6||0xc8;return function(_0x126d68){if(_0x126d68){return _0x535dbe[_0xd5ea('0x19')](_0x50c2e6)[_0xd5ea('0x1b')](_0x126d68);}};}function respondWithFilteredResult(_0x1f2c13,_0x336bad){return function(_0x28321b){if(_0x28321b){var _0x4c8c71=typeof _0x336bad['offset']===_0xd5ea('0x1c')&&typeof _0x336bad['limit']==='undefined';var _0x3f6233=_0x28321b[_0xd5ea('0x1d')];var _0x29a6a6=_0x4c8c71?0x0:_0x336bad[_0xd5ea('0x1e')];var _0x1775a8=_0x4c8c71?_0x28321b[_0xd5ea('0x1d')]:_0x336bad['offset']+_0x336bad[_0xd5ea('0x1f')];var _0x5daa5d;if(_0x1775a8>=_0x3f6233){_0x1775a8=_0x3f6233;_0x5daa5d=0xc8;}else{_0x5daa5d=0xce;}_0x1f2c13[_0xd5ea('0x19')](_0x5daa5d);return _0x1f2c13['set'](_0xd5ea('0x20'),_0x29a6a6+'-'+_0x1775a8+'/'+_0x3f6233)[_0xd5ea('0x1b')](_0x28321b);}return null;};}function patchUpdates(_0xa57b97){return function(_0x1858d0){try{jsonpatch[_0xd5ea('0x21')](_0x1858d0,_0xa57b97,!![]);}catch(_0x4fd45b){return BPromise[_0xd5ea('0x22')](_0x4fd45b);}return _0x1858d0[_0xd5ea('0x23')]();};}function saveUpdates(_0x1d3d95,_0x47dac9){return function(_0x21a1b7){if(_0x21a1b7){return _0x21a1b7[_0xd5ea('0x24')](_0x1d3d95)[_0xd5ea('0x25')](function(_0x122586){return _0x122586;});}return null;};}function removeEntity(_0x2c8bee,_0x3d3ea0){return function(_0x4fb5a0){if(_0x4fb5a0){return _0x4fb5a0[_0xd5ea('0x26')]()['then'](function(){_0x2c8bee['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x35d440,_0x4495cf){return function(_0x490004){if(!_0x490004){_0x35d440[_0xd5ea('0x18')](0x194);}return _0x490004;};}function handleError(_0x3f3988,_0x145329){_0x145329=_0x145329||0x1f4;return function(_0x4444d4){logger[_0xd5ea('0x27')](_0x4444d4[_0xd5ea('0x28')]);if(_0x4444d4[_0xd5ea('0x29')]){delete _0x4444d4[_0xd5ea('0x29')];}_0x3f3988['status'](_0x145329)[_0xd5ea('0x2a')](_0x4444d4);};}exports[_0xd5ea('0x2b')]=function(_0x34bfad,_0x21d161){var _0x1cfece={},_0x5d4a3a={},_0x32b859={'count':0x0,'rows':[]};var _0x488887=_[_0xd5ea('0x2c')](db['ServicenowConfiguration'][_0xd5ea('0x2d')],function(_0x137f1b){return{'name':_0x137f1b[_0xd5ea('0x2e')],'type':_0x137f1b[_0xd5ea('0x2f')]['key']};});_0x5d4a3a[_0xd5ea('0x30')]=_[_0xd5ea('0x2c')](_0x488887,'name');_0x5d4a3a[_0xd5ea('0x31')]=_['keys'](_0x34bfad[_0xd5ea('0x31')]);_0x5d4a3a[_0xd5ea('0x32')]=_[_0xd5ea('0x33')](_0x5d4a3a['model'],_0x5d4a3a[_0xd5ea('0x31')]);_0x1cfece[_0xd5ea('0x34')]=_[_0xd5ea('0x33')](_0x5d4a3a[_0xd5ea('0x30')],qs[_0xd5ea('0x35')](_0x34bfad['query'][_0xd5ea('0x35')]));_0x1cfece[_0xd5ea('0x34')]=_0x1cfece[_0xd5ea('0x34')][_0xd5ea('0x36')]?_0x1cfece[_0xd5ea('0x34')]:_0x5d4a3a[_0xd5ea('0x30')];if(!_0x34bfad[_0xd5ea('0x31')][_0xd5ea('0x37')](_0xd5ea('0x38'))){_0x1cfece[_0xd5ea('0x1f')]=qs[_0xd5ea('0x1f')](_0x34bfad[_0xd5ea('0x31')][_0xd5ea('0x1f')]);_0x1cfece[_0xd5ea('0x1e')]=qs[_0xd5ea('0x1e')](_0x34bfad[_0xd5ea('0x31')][_0xd5ea('0x1e')]);}_0x1cfece[_0xd5ea('0x39')]=qs[_0xd5ea('0x3a')](_0x34bfad[_0xd5ea('0x31')][_0xd5ea('0x3a')]);_0x1cfece['where']=qs['filters'](_[_0xd5ea('0x3b')](_0x34bfad[_0xd5ea('0x31')],_0x5d4a3a[_0xd5ea('0x32')]),_0x488887);if(_0x34bfad[_0xd5ea('0x31')]['filter']){_0x1cfece[_0xd5ea('0x3c')]=_[_0xd5ea('0x3d')](_0x1cfece[_0xd5ea('0x3c')],{'$or':_[_0xd5ea('0x2c')](_0x488887,function(_0x365625){if(_0x365625['type']!=='VIRTUAL'){var _0x5bce09={};_0x5bce09[_0x365625[_0xd5ea('0x29')]]={'$like':'%'+_0x34bfad[_0xd5ea('0x31')]['filter']+'%'};return _0x5bce09;}})});}_0x1cfece=_[_0xd5ea('0x3d')]({},_0x1cfece,_0x34bfad['options']);var _0x5879cc={'where':_0x1cfece[_0xd5ea('0x3c')]};return db[_0xd5ea('0x3e')]['count'](_0x5879cc)[_0xd5ea('0x25')](function(_0x2c8a93){_0x32b859['count']=_0x2c8a93;if(_0x34bfad[_0xd5ea('0x31')][_0xd5ea('0x3f')]){_0x1cfece[_0xd5ea('0x40')]=[{'all':!![]}];}return db[_0xd5ea('0x3e')][_0xd5ea('0x41')](_0x1cfece);})[_0xd5ea('0x25')](function(_0x120e3e){_0x32b859[_0xd5ea('0x42')]=_0x120e3e;return _0x32b859;})[_0xd5ea('0x25')](respondWithFilteredResult(_0x21d161,_0x1cfece))[_0xd5ea('0x43')](handleError(_0x21d161,null));};exports[_0xd5ea('0x44')]=function(_0xf1256,_0x49cc24){var _0x86c539={'raw':![],'where':{'id':_0xf1256[_0xd5ea('0x45')]['id']}},_0x3e3535={};_0x3e3535[_0xd5ea('0x30')]=_[_0xd5ea('0x46')](db[_0xd5ea('0x3e')][_0xd5ea('0x2d')]);_0x3e3535[_0xd5ea('0x31')]=_[_0xd5ea('0x46')](_0xf1256[_0xd5ea('0x31')]);_0x3e3535[_0xd5ea('0x32')]=_[_0xd5ea('0x33')](_0x3e3535[_0xd5ea('0x30')],_0x3e3535[_0xd5ea('0x31')]);_0x86c539['attributes']=_[_0xd5ea('0x33')](_0x3e3535[_0xd5ea('0x30')],qs['fields'](_0xf1256['query'][_0xd5ea('0x35')]));_0x86c539[_0xd5ea('0x34')]=_0x86c539['attributes']['length']?_0x86c539[_0xd5ea('0x34')]:_0x3e3535[_0xd5ea('0x30')];if(_0xf1256['query'][_0xd5ea('0x3f')]){_0x86c539['include']=[{'all':!![]}];}_0x86c539=_[_0xd5ea('0x3d')]({},_0x86c539,_0xf1256[_0xd5ea('0x47')]);return db['ServicenowConfiguration'][_0xd5ea('0x48')](_0x86c539)[_0xd5ea('0x25')](handleEntityNotFound(_0x49cc24,null))[_0xd5ea('0x25')](respondWithResult(_0x49cc24,null))[_0xd5ea('0x43')](handleError(_0x49cc24,null));};exports[_0xd5ea('0x49')]=function(_0x3b3775,_0x78501c){return db[_0xd5ea('0x3e')][_0xd5ea('0x49')](_0x3b3775[_0xd5ea('0x4a')],{})[_0xd5ea('0x25')](respondWithResult(_0x78501c,0xc9))[_0xd5ea('0x43')](handleError(_0x78501c,null));};exports[_0xd5ea('0x24')]=function(_0x2383f5,_0x52e18a){if(_0x2383f5[_0xd5ea('0x4a')]['id']){delete _0x2383f5[_0xd5ea('0x4a')]['id'];}return db[_0xd5ea('0x3e')][_0xd5ea('0x48')]({'where':{'id':_0x2383f5[_0xd5ea('0x45')]['id']}})[_0xd5ea('0x25')](handleEntityNotFound(_0x52e18a,null))[_0xd5ea('0x25')](saveUpdates(_0x2383f5[_0xd5ea('0x4a')],null))[_0xd5ea('0x25')](respondWithResult(_0x52e18a,null))[_0xd5ea('0x43')](handleError(_0x52e18a,null));};exports[_0xd5ea('0x26')]=function(_0x24ed38,_0x2700d5){return db[_0xd5ea('0x3e')][_0xd5ea('0x48')]({'where':{'id':_0x24ed38[_0xd5ea('0x45')]['id']}})['then'](handleEntityNotFound(_0x2700d5,null))[_0xd5ea('0x25')](removeEntity(_0x2700d5,null))[_0xd5ea('0x43')](handleError(_0x2700d5,null));};exports[_0xd5ea('0x4b')]=function(_0x24a0ac,_0x59a50d,_0x2e2869){var _0x2691ab={};var _0xeff6ff={};var _0x189d8e;var _0x39580f;return db[_0xd5ea('0x3e')]['findOne']({'where':{'id':_0x24a0ac[_0xd5ea('0x45')]['id']}})[_0xd5ea('0x25')](handleEntityNotFound(_0x59a50d,null))[_0xd5ea('0x25')](function(_0x193601){if(_0x193601){_0x189d8e=_0x193601;_0xeff6ff[_0xd5ea('0x30')]=_[_0xd5ea('0x46')](db['ServicenowField'][_0xd5ea('0x2d')]);_0xeff6ff[_0xd5ea('0x31')]=_[_0xd5ea('0x46')](_0x24a0ac[_0xd5ea('0x31')]);_0xeff6ff[_0xd5ea('0x32')]=_[_0xd5ea('0x33')](_0xeff6ff[_0xd5ea('0x30')],_0xeff6ff[_0xd5ea('0x31')]);_0x2691ab[_0xd5ea('0x34')]=_[_0xd5ea('0x33')](_0xeff6ff[_0xd5ea('0x30')],qs['fields'](_0x24a0ac[_0xd5ea('0x31')][_0xd5ea('0x35')]));_0x2691ab['attributes']=_0x2691ab['attributes'][_0xd5ea('0x36')]?_0x2691ab[_0xd5ea('0x34')]:_0xeff6ff['model'];_0x2691ab[_0xd5ea('0x39')]=qs['sort'](_0x24a0ac['query'][_0xd5ea('0x3a')]);_0x2691ab[_0xd5ea('0x3c')]=qs[_0xd5ea('0x32')](_[_0xd5ea('0x3b')](_0x24a0ac[_0xd5ea('0x31')],_0xeff6ff['filters']));if(_0x24a0ac['query'][_0xd5ea('0x4c')]){_0x2691ab[_0xd5ea('0x3c')]=_[_0xd5ea('0x3d')](_0x2691ab['where'],{'$or':_[_0xd5ea('0x2c')](_0x2691ab[_0xd5ea('0x34')],function(_0x3096e3){var _0xb8aeb6={};_0xb8aeb6[_0x3096e3]={'$like':'%'+_0x24a0ac[_0xd5ea('0x31')][_0xd5ea('0x4c')]+'%'};return _0xb8aeb6;})});}_0x2691ab=_[_0xd5ea('0x3d')]({},_0x2691ab,_0x24a0ac[_0xd5ea('0x47')]);return _0x189d8e[_0xd5ea('0x4b')](_0x2691ab);}})[_0xd5ea('0x25')](function(_0x539ac0){if(_0x539ac0){_0x39580f=_0x539ac0['length'];if(!_0x24a0ac[_0xd5ea('0x31')][_0xd5ea('0x37')]('nolimit')){_0x2691ab[_0xd5ea('0x1f')]=qs[_0xd5ea('0x1f')](_0x24a0ac['query'][_0xd5ea('0x1f')]);_0x2691ab[_0xd5ea('0x1e')]=qs[_0xd5ea('0x1e')](_0x24a0ac['query'][_0xd5ea('0x1e')]);}return _0x189d8e['getFields'](_0x2691ab);}})[_0xd5ea('0x25')](function(_0x4c2af4){if(_0x4c2af4){return _0x4c2af4?{'count':_0x39580f,'rows':_0x4c2af4}:null;}})['then'](respondWithResult(_0x59a50d,null))[_0xd5ea('0x43')](handleError(_0x59a50d,null));};exports['getSubjects']=function(_0x40c744,_0x396870,_0x4b2a8e){var _0xafe4b0={};var _0xf7e9eb={};var _0x23b51f;var _0x35e9a3;return db['ServicenowConfiguration'][_0xd5ea('0x4d')]({'where':{'id':_0x40c744[_0xd5ea('0x45')]['id']}})[_0xd5ea('0x25')](handleEntityNotFound(_0x396870,null))[_0xd5ea('0x25')](function(_0x5e5178){if(_0x5e5178){_0x23b51f=_0x5e5178;_0xf7e9eb[_0xd5ea('0x30')]=_['keys'](db[_0xd5ea('0x4e')][_0xd5ea('0x2d')]);_0xf7e9eb[_0xd5ea('0x31')]=_['keys'](_0x40c744['query']);_0xf7e9eb[_0xd5ea('0x32')]=_[_0xd5ea('0x33')](_0xf7e9eb['model'],_0xf7e9eb[_0xd5ea('0x31')]);_0xafe4b0['attributes']=_[_0xd5ea('0x33')](_0xf7e9eb['model'],qs[_0xd5ea('0x35')](_0x40c744['query'][_0xd5ea('0x35')]));_0xafe4b0[_0xd5ea('0x34')]=_0xafe4b0[_0xd5ea('0x34')][_0xd5ea('0x36')]?_0xafe4b0['attributes']:_0xf7e9eb['model'];_0xafe4b0[_0xd5ea('0x39')]=qs['sort'](_0x40c744[_0xd5ea('0x31')][_0xd5ea('0x3a')]);_0xafe4b0['where']=qs['filters'](_[_0xd5ea('0x3b')](_0x40c744[_0xd5ea('0x31')],_0xf7e9eb['filters']));if(_0x40c744[_0xd5ea('0x31')]['filter']){_0xafe4b0[_0xd5ea('0x3c')]=_[_0xd5ea('0x3d')](_0xafe4b0[_0xd5ea('0x3c')],{'$or':_[_0xd5ea('0x2c')](_0xafe4b0[_0xd5ea('0x34')],function(_0xc301c0){var _0xb428af={};_0xb428af[_0xc301c0]={'$like':'%'+_0x40c744['query'][_0xd5ea('0x4c')]+'%'};return _0xb428af;})});}_0xafe4b0=_['merge']({},_0xafe4b0,_0x40c744[_0xd5ea('0x47')]);return _0x23b51f[_0xd5ea('0x4f')](_0xafe4b0);}})[_0xd5ea('0x25')](function(_0x2e9efa){if(_0x2e9efa){_0x35e9a3=_0x2e9efa[_0xd5ea('0x36')];if(!_0x40c744[_0xd5ea('0x31')][_0xd5ea('0x37')](_0xd5ea('0x38'))){_0xafe4b0[_0xd5ea('0x1f')]=qs[_0xd5ea('0x1f')](_0x40c744[_0xd5ea('0x31')][_0xd5ea('0x1f')]);_0xafe4b0['offset']=qs[_0xd5ea('0x1e')](_0x40c744[_0xd5ea('0x31')][_0xd5ea('0x1e')]);}return _0x23b51f[_0xd5ea('0x4f')](_0xafe4b0);}})[_0xd5ea('0x25')](function(_0x26ecdf){if(_0x26ecdf){return _0x26ecdf?{'count':_0x35e9a3,'rows':_0x26ecdf}:null;}})[_0xd5ea('0x25')](respondWithResult(_0x396870,null))[_0xd5ea('0x43')](handleError(_0x396870,null));};exports[_0xd5ea('0x50')]=function(_0x481621,_0x4b35f1,_0x4be143){var _0xb7532b={};var _0x4b0c59={};var _0x478eb8;var _0x435a40;return db[_0xd5ea('0x3e')][_0xd5ea('0x4d')]({'where':{'id':_0x481621[_0xd5ea('0x45')]['id']}})[_0xd5ea('0x25')](handleEntityNotFound(_0x4b35f1,null))[_0xd5ea('0x25')](function(_0x17fc70){if(_0x17fc70){_0x478eb8=_0x17fc70;_0x4b0c59[_0xd5ea('0x30')]=_['keys'](db['ServicenowField'][_0xd5ea('0x2d')]);_0x4b0c59[_0xd5ea('0x31')]=_[_0xd5ea('0x46')](_0x481621[_0xd5ea('0x31')]);_0x4b0c59[_0xd5ea('0x32')]=_['intersection'](_0x4b0c59[_0xd5ea('0x30')],_0x4b0c59['query']);_0xb7532b[_0xd5ea('0x34')]=_[_0xd5ea('0x33')](_0x4b0c59[_0xd5ea('0x30')],qs[_0xd5ea('0x35')](_0x481621['query'][_0xd5ea('0x35')]));_0xb7532b['attributes']=_0xb7532b[_0xd5ea('0x34')][_0xd5ea('0x36')]?_0xb7532b[_0xd5ea('0x34')]:_0x4b0c59[_0xd5ea('0x30')];_0xb7532b[_0xd5ea('0x39')]=qs[_0xd5ea('0x3a')](_0x481621[_0xd5ea('0x31')]['sort']);_0xb7532b[_0xd5ea('0x3c')]=qs[_0xd5ea('0x32')](_['pick'](_0x481621[_0xd5ea('0x31')],_0x4b0c59[_0xd5ea('0x32')]));if(_0x481621[_0xd5ea('0x31')][_0xd5ea('0x4c')]){_0xb7532b[_0xd5ea('0x3c')]=_[_0xd5ea('0x3d')](_0xb7532b[_0xd5ea('0x3c')],{'$or':_[_0xd5ea('0x2c')](_0xb7532b[_0xd5ea('0x34')],function(_0x136c09){var _0x767691={};_0x767691[_0x136c09]={'$like':'%'+_0x481621[_0xd5ea('0x31')][_0xd5ea('0x4c')]+'%'};return _0x767691;})});}_0xb7532b=_[_0xd5ea('0x3d')]({},_0xb7532b,_0x481621[_0xd5ea('0x47')]);return _0x478eb8[_0xd5ea('0x50')](_0xb7532b);}})['then'](function(_0x284984){if(_0x284984){_0x435a40=_0x284984['length'];if(!_0x481621['query'][_0xd5ea('0x37')](_0xd5ea('0x38'))){_0xb7532b[_0xd5ea('0x1f')]=qs[_0xd5ea('0x1f')](_0x481621[_0xd5ea('0x31')]['limit']);_0xb7532b[_0xd5ea('0x1e')]=qs[_0xd5ea('0x1e')](_0x481621['query']['offset']);}return _0x478eb8[_0xd5ea('0x50')](_0xb7532b);}})['then'](function(_0x5e3df9){if(_0x5e3df9){return _0x5e3df9?{'count':_0x435a40,'rows':_0x5e3df9}:null;}})[_0xd5ea('0x25')](respondWithResult(_0x4b35f1,null))['catch'](handleError(_0x4b35f1,null));};