57a611a7d286a7d52e1e85c2160c687fa94e10fc
[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 _0x08ba=['fields','attributes','length','hasOwnProperty','nolimit','sort','pick','merge','where','VIRTUAL','filter','options','includeAll','include','rows','catch','create','body','find','params','getFields','findOne','ServicenowField','getSubjects','getDescriptions','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','reject','update','then','destroy','error','stack','name','send','index','map','ServicenowConfiguration','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0x08ba,0xb1));var _0xa08b=function(_0x221fbe,_0x16bc47){_0x221fbe=_0x221fbe-0x0;var _0x51c3eb=_0x08ba[_0x221fbe];return _0x51c3eb;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xa08b('0x0'));var rp=require(_0xa08b('0x1'));var moment=require(_0xa08b('0x2'));var BPromise=require(_0xa08b('0x3'));var Mustache=require(_0xa08b('0x4'));var util=require('util');var path=require(_0xa08b('0x5'));var sox=require(_0xa08b('0x6'));var csv=require('to-csv');var ejs=require(_0xa08b('0x7'));var fs=require('fs');var fs_extra=require(_0xa08b('0x8'));var _=require(_0xa08b('0x9'));var squel=require(_0xa08b('0xa'));var crypto=require(_0xa08b('0xb'));var jsforce=require(_0xa08b('0xc'));var deskjs=require(_0xa08b('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xa08b('0xe'));var Redis=require(_0xa08b('0xf'));var authService=require(_0xa08b('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xa08b('0x11'));var hardwareService=require(_0xa08b('0x12'));var logger=require('../../config/logger')(_0xa08b('0x13'));var utils=require('../../config/utils');var config=require(_0xa08b('0x14'));var licenseUtil=require(_0xa08b('0x15'));var db=require(_0xa08b('0x16'))['db'];function respondWithStatusCode(_0x1c7488,_0x56755d){_0x56755d=_0x56755d||0xcc;return function(_0x339ec6){if(_0x339ec6){return _0x1c7488[_0xa08b('0x17')](_0x56755d);}return _0x1c7488[_0xa08b('0x18')](_0x56755d)[_0xa08b('0x19')]();};}function respondWithResult(_0x5c75ee,_0x5040bf){_0x5040bf=_0x5040bf||0xc8;return function(_0x1d1dd7){if(_0x1d1dd7){return _0x5c75ee[_0xa08b('0x18')](_0x5040bf)[_0xa08b('0x1a')](_0x1d1dd7);}};}function respondWithFilteredResult(_0x59948f,_0x15c67f){return function(_0x1fce21){if(_0x1fce21){var _0x2c28d1=typeof _0x15c67f['offset']==='undefined'&&typeof _0x15c67f[_0xa08b('0x1b')]===_0xa08b('0x1c');var _0x53a4ba=_0x1fce21[_0xa08b('0x1d')];var _0x3ac013=_0x2c28d1?0x0:_0x15c67f[_0xa08b('0x1e')];var _0x21819e=_0x2c28d1?_0x1fce21['count']:_0x15c67f[_0xa08b('0x1e')]+_0x15c67f['limit'];var _0xf6996e;if(_0x21819e>=_0x53a4ba){_0x21819e=_0x53a4ba;_0xf6996e=0xc8;}else{_0xf6996e=0xce;}_0x59948f[_0xa08b('0x18')](_0xf6996e);return _0x59948f['set']('Content-Range',_0x3ac013+'-'+_0x21819e+'/'+_0x53a4ba)[_0xa08b('0x1a')](_0x1fce21);}return null;};}function patchUpdates(_0x45823f){return function(_0x55793e){try{jsonpatch['apply'](_0x55793e,_0x45823f,!![]);}catch(_0x58706b){return BPromise[_0xa08b('0x1f')](_0x58706b);}return _0x55793e['save']();};}function saveUpdates(_0x467aba,_0x3915ab){return function(_0x66bf93){if(_0x66bf93){return _0x66bf93[_0xa08b('0x20')](_0x467aba)[_0xa08b('0x21')](function(_0x5d59dc){return _0x5d59dc;});}return null;};}function removeEntity(_0x54235c,_0xd8c8fb){return function(_0x544c9b){if(_0x544c9b){return _0x544c9b[_0xa08b('0x22')]()[_0xa08b('0x21')](function(){_0x54235c['status'](0xcc)[_0xa08b('0x19')]();});}};}function handleEntityNotFound(_0x2d849a,_0x2d5c91){return function(_0x49345a){if(!_0x49345a){_0x2d849a[_0xa08b('0x17')](0x194);}return _0x49345a;};}function handleError(_0x222cf2,_0x6c9a02){_0x6c9a02=_0x6c9a02||0x1f4;return function(_0x4b137a){logger[_0xa08b('0x23')](_0x4b137a[_0xa08b('0x24')]);if(_0x4b137a[_0xa08b('0x25')]){delete _0x4b137a['name'];}_0x222cf2[_0xa08b('0x18')](_0x6c9a02)[_0xa08b('0x26')](_0x4b137a);};}exports[_0xa08b('0x27')]=function(_0x593fde,_0x303395){var _0xc33b79={},_0x2f00f5={},_0x41ada1={'count':0x0,'rows':[]};var _0x4bbfbf=_[_0xa08b('0x28')](db[_0xa08b('0x29')][_0xa08b('0x2a')],function(_0x4631da){return{'name':_0x4631da[_0xa08b('0x2b')],'type':_0x4631da[_0xa08b('0x2c')][_0xa08b('0x2d')]};});_0x2f00f5['model']=_[_0xa08b('0x28')](_0x4bbfbf,_0xa08b('0x25'));_0x2f00f5[_0xa08b('0x2e')]=_[_0xa08b('0x2f')](_0x593fde[_0xa08b('0x2e')]);_0x2f00f5[_0xa08b('0x30')]=_[_0xa08b('0x31')](_0x2f00f5[_0xa08b('0x32')],_0x2f00f5[_0xa08b('0x2e')]);_0xc33b79['attributes']=_[_0xa08b('0x31')](_0x2f00f5[_0xa08b('0x32')],qs[_0xa08b('0x33')](_0x593fde[_0xa08b('0x2e')][_0xa08b('0x33')]));_0xc33b79[_0xa08b('0x34')]=_0xc33b79[_0xa08b('0x34')][_0xa08b('0x35')]?_0xc33b79['attributes']:_0x2f00f5['model'];if(!_0x593fde['query'][_0xa08b('0x36')](_0xa08b('0x37'))){_0xc33b79['limit']=qs[_0xa08b('0x1b')](_0x593fde['query'][_0xa08b('0x1b')]);_0xc33b79[_0xa08b('0x1e')]=qs[_0xa08b('0x1e')](_0x593fde[_0xa08b('0x2e')][_0xa08b('0x1e')]);}_0xc33b79['order']=qs[_0xa08b('0x38')](_0x593fde[_0xa08b('0x2e')][_0xa08b('0x38')]);_0xc33b79['where']=qs[_0xa08b('0x30')](_[_0xa08b('0x39')](_0x593fde['query'],_0x2f00f5[_0xa08b('0x30')]),_0x4bbfbf);if(_0x593fde['query']['filter']){_0xc33b79['where']=_[_0xa08b('0x3a')](_0xc33b79[_0xa08b('0x3b')],{'$or':_[_0xa08b('0x28')](_0x4bbfbf,function(_0x305e57){if(_0x305e57['type']!==_0xa08b('0x3c')){var _0x476366={};_0x476366[_0x305e57[_0xa08b('0x25')]]={'$like':'%'+_0x593fde[_0xa08b('0x2e')][_0xa08b('0x3d')]+'%'};return _0x476366;}})});}_0xc33b79=_[_0xa08b('0x3a')]({},_0xc33b79,_0x593fde[_0xa08b('0x3e')]);var _0x26334f={'where':_0xc33b79[_0xa08b('0x3b')]};return db[_0xa08b('0x29')][_0xa08b('0x1d')](_0x26334f)['then'](function(_0x17d2c8){_0x41ada1['count']=_0x17d2c8;if(_0x593fde[_0xa08b('0x2e')][_0xa08b('0x3f')]){_0xc33b79[_0xa08b('0x40')]=[{'all':!![]}];}return db[_0xa08b('0x29')]['findAll'](_0xc33b79);})['then'](function(_0x47e086){_0x41ada1[_0xa08b('0x41')]=_0x47e086;return _0x41ada1;})['then'](respondWithFilteredResult(_0x303395,_0xc33b79))[_0xa08b('0x42')](handleError(_0x303395,null));};exports['show']=function(_0x266fca,_0x3e5fd2){var _0x51b58a={'raw':![],'where':{'id':_0x266fca['params']['id']}},_0x4b0ca0={};_0x4b0ca0[_0xa08b('0x32')]=_[_0xa08b('0x2f')](db[_0xa08b('0x29')][_0xa08b('0x2a')]);_0x4b0ca0[_0xa08b('0x2e')]=_[_0xa08b('0x2f')](_0x266fca[_0xa08b('0x2e')]);_0x4b0ca0[_0xa08b('0x30')]=_['intersection'](_0x4b0ca0[_0xa08b('0x32')],_0x4b0ca0[_0xa08b('0x2e')]);_0x51b58a[_0xa08b('0x34')]=_[_0xa08b('0x31')](_0x4b0ca0['model'],qs[_0xa08b('0x33')](_0x266fca[_0xa08b('0x2e')][_0xa08b('0x33')]));_0x51b58a['attributes']=_0x51b58a[_0xa08b('0x34')][_0xa08b('0x35')]?_0x51b58a['attributes']:_0x4b0ca0[_0xa08b('0x32')];if(_0x266fca[_0xa08b('0x2e')][_0xa08b('0x3f')]){_0x51b58a[_0xa08b('0x40')]=[{'all':!![]}];}_0x51b58a=_[_0xa08b('0x3a')]({},_0x51b58a,_0x266fca['options']);return db[_0xa08b('0x29')]['find'](_0x51b58a)[_0xa08b('0x21')](handleEntityNotFound(_0x3e5fd2,null))[_0xa08b('0x21')](respondWithResult(_0x3e5fd2,null))[_0xa08b('0x42')](handleError(_0x3e5fd2,null));};exports[_0xa08b('0x43')]=function(_0xa4005a,_0x4adb6d){return db[_0xa08b('0x29')][_0xa08b('0x43')](_0xa4005a[_0xa08b('0x44')],{})[_0xa08b('0x21')](respondWithResult(_0x4adb6d,0xc9))[_0xa08b('0x42')](handleError(_0x4adb6d,null));};exports['update']=function(_0x22a074,_0x442da9){if(_0x22a074['body']['id']){delete _0x22a074[_0xa08b('0x44')]['id'];}return db['ServicenowConfiguration'][_0xa08b('0x45')]({'where':{'id':_0x22a074[_0xa08b('0x46')]['id']}})[_0xa08b('0x21')](handleEntityNotFound(_0x442da9,null))[_0xa08b('0x21')](saveUpdates(_0x22a074[_0xa08b('0x44')],null))[_0xa08b('0x21')](respondWithResult(_0x442da9,null))[_0xa08b('0x42')](handleError(_0x442da9,null));};exports['destroy']=function(_0x4a277e,_0x330fe5){return db[_0xa08b('0x29')][_0xa08b('0x45')]({'where':{'id':_0x4a277e[_0xa08b('0x46')]['id']}})['then'](handleEntityNotFound(_0x330fe5,null))[_0xa08b('0x21')](removeEntity(_0x330fe5,null))[_0xa08b('0x42')](handleError(_0x330fe5,null));};exports[_0xa08b('0x47')]=function(_0x244f46,_0x354fbc,_0xa8a8b4){var _0x3b2790={};var _0x45024c={};var _0x5e15d0;var _0x423367;return db['ServicenowConfiguration'][_0xa08b('0x48')]({'where':{'id':_0x244f46[_0xa08b('0x46')]['id']}})[_0xa08b('0x21')](handleEntityNotFound(_0x354fbc,null))[_0xa08b('0x21')](function(_0x53e107){if(_0x53e107){_0x5e15d0=_0x53e107;_0x45024c[_0xa08b('0x32')]=_[_0xa08b('0x2f')](db[_0xa08b('0x49')][_0xa08b('0x2a')]);_0x45024c[_0xa08b('0x2e')]=_[_0xa08b('0x2f')](_0x244f46[_0xa08b('0x2e')]);_0x45024c['filters']=_[_0xa08b('0x31')](_0x45024c[_0xa08b('0x32')],_0x45024c[_0xa08b('0x2e')]);_0x3b2790[_0xa08b('0x34')]=_[_0xa08b('0x31')](_0x45024c[_0xa08b('0x32')],qs[_0xa08b('0x33')](_0x244f46[_0xa08b('0x2e')]['fields']));_0x3b2790['attributes']=_0x3b2790['attributes']['length']?_0x3b2790[_0xa08b('0x34')]:_0x45024c[_0xa08b('0x32')];_0x3b2790['order']=qs[_0xa08b('0x38')](_0x244f46[_0xa08b('0x2e')][_0xa08b('0x38')]);_0x3b2790[_0xa08b('0x3b')]=qs[_0xa08b('0x30')](_['pick'](_0x244f46['query'],_0x45024c[_0xa08b('0x30')]));if(_0x244f46[_0xa08b('0x2e')][_0xa08b('0x3d')]){_0x3b2790[_0xa08b('0x3b')]=_[_0xa08b('0x3a')](_0x3b2790[_0xa08b('0x3b')],{'$or':_[_0xa08b('0x28')](_0x3b2790[_0xa08b('0x34')],function(_0x5634b2){var _0x3d0f61={};_0x3d0f61[_0x5634b2]={'$like':'%'+_0x244f46[_0xa08b('0x2e')]['filter']+'%'};return _0x3d0f61;})});}_0x3b2790=_[_0xa08b('0x3a')]({},_0x3b2790,_0x244f46[_0xa08b('0x3e')]);return _0x5e15d0[_0xa08b('0x47')](_0x3b2790);}})[_0xa08b('0x21')](function(_0x5eff57){if(_0x5eff57){_0x423367=_0x5eff57[_0xa08b('0x35')];if(!_0x244f46[_0xa08b('0x2e')]['hasOwnProperty'](_0xa08b('0x37'))){_0x3b2790['limit']=qs['limit'](_0x244f46['query'][_0xa08b('0x1b')]);_0x3b2790[_0xa08b('0x1e')]=qs[_0xa08b('0x1e')](_0x244f46[_0xa08b('0x2e')][_0xa08b('0x1e')]);}return _0x5e15d0[_0xa08b('0x47')](_0x3b2790);}})[_0xa08b('0x21')](function(_0x198e8c){if(_0x198e8c){return _0x198e8c?{'count':_0x423367,'rows':_0x198e8c}:null;}})['then'](respondWithResult(_0x354fbc,null))[_0xa08b('0x42')](handleError(_0x354fbc,null));};exports[_0xa08b('0x4a')]=function(_0x208eaa,_0x552cf9,_0x24d737){var _0x3c6930={};var _0x112273={};var _0x259854;var _0x438bf8;return db[_0xa08b('0x29')][_0xa08b('0x48')]({'where':{'id':_0x208eaa[_0xa08b('0x46')]['id']}})[_0xa08b('0x21')](handleEntityNotFound(_0x552cf9,null))[_0xa08b('0x21')](function(_0x46299b){if(_0x46299b){_0x259854=_0x46299b;_0x112273[_0xa08b('0x32')]=_['keys'](db['ServicenowField'][_0xa08b('0x2a')]);_0x112273['query']=_['keys'](_0x208eaa[_0xa08b('0x2e')]);_0x112273['filters']=_['intersection'](_0x112273[_0xa08b('0x32')],_0x112273[_0xa08b('0x2e')]);_0x3c6930[_0xa08b('0x34')]=_[_0xa08b('0x31')](_0x112273[_0xa08b('0x32')],qs['fields'](_0x208eaa['query']['fields']));_0x3c6930[_0xa08b('0x34')]=_0x3c6930[_0xa08b('0x34')][_0xa08b('0x35')]?_0x3c6930['attributes']:_0x112273[_0xa08b('0x32')];_0x3c6930['order']=qs[_0xa08b('0x38')](_0x208eaa['query'][_0xa08b('0x38')]);_0x3c6930[_0xa08b('0x3b')]=qs[_0xa08b('0x30')](_['pick'](_0x208eaa['query'],_0x112273['filters']));if(_0x208eaa['query'][_0xa08b('0x3d')]){_0x3c6930[_0xa08b('0x3b')]=_[_0xa08b('0x3a')](_0x3c6930[_0xa08b('0x3b')],{'$or':_[_0xa08b('0x28')](_0x3c6930[_0xa08b('0x34')],function(_0x2a32d1){var _0x161f3d={};_0x161f3d[_0x2a32d1]={'$like':'%'+_0x208eaa[_0xa08b('0x2e')][_0xa08b('0x3d')]+'%'};return _0x161f3d;})});}_0x3c6930=_[_0xa08b('0x3a')]({},_0x3c6930,_0x208eaa['options']);return _0x259854[_0xa08b('0x4a')](_0x3c6930);}})[_0xa08b('0x21')](function(_0x3abac7){if(_0x3abac7){_0x438bf8=_0x3abac7['length'];if(!_0x208eaa[_0xa08b('0x2e')][_0xa08b('0x36')]('nolimit')){_0x3c6930[_0xa08b('0x1b')]=qs[_0xa08b('0x1b')](_0x208eaa[_0xa08b('0x2e')][_0xa08b('0x1b')]);_0x3c6930[_0xa08b('0x1e')]=qs[_0xa08b('0x1e')](_0x208eaa[_0xa08b('0x2e')]['offset']);}return _0x259854[_0xa08b('0x4a')](_0x3c6930);}})[_0xa08b('0x21')](function(_0x14ff5b){if(_0x14ff5b){return _0x14ff5b?{'count':_0x438bf8,'rows':_0x14ff5b}:null;}})[_0xa08b('0x21')](respondWithResult(_0x552cf9,null))[_0xa08b('0x42')](handleError(_0x552cf9,null));};exports[_0xa08b('0x4b')]=function(_0x2e0c76,_0x46d1ee,_0xc4e51a){var _0x4f2935={};var _0x249e40={};var _0x48cfa4;var _0x37b34d;return db['ServicenowConfiguration'][_0xa08b('0x48')]({'where':{'id':_0x2e0c76[_0xa08b('0x46')]['id']}})['then'](handleEntityNotFound(_0x46d1ee,null))['then'](function(_0x110fcc){if(_0x110fcc){_0x48cfa4=_0x110fcc;_0x249e40['model']=_['keys'](db[_0xa08b('0x49')][_0xa08b('0x2a')]);_0x249e40[_0xa08b('0x2e')]=_[_0xa08b('0x2f')](_0x2e0c76['query']);_0x249e40[_0xa08b('0x30')]=_[_0xa08b('0x31')](_0x249e40[_0xa08b('0x32')],_0x249e40[_0xa08b('0x2e')]);_0x4f2935[_0xa08b('0x34')]=_[_0xa08b('0x31')](_0x249e40[_0xa08b('0x32')],qs[_0xa08b('0x33')](_0x2e0c76[_0xa08b('0x2e')][_0xa08b('0x33')]));_0x4f2935[_0xa08b('0x34')]=_0x4f2935[_0xa08b('0x34')][_0xa08b('0x35')]?_0x4f2935[_0xa08b('0x34')]:_0x249e40['model'];_0x4f2935['order']=qs['sort'](_0x2e0c76['query'][_0xa08b('0x38')]);_0x4f2935[_0xa08b('0x3b')]=qs[_0xa08b('0x30')](_['pick'](_0x2e0c76[_0xa08b('0x2e')],_0x249e40[_0xa08b('0x30')]));if(_0x2e0c76[_0xa08b('0x2e')][_0xa08b('0x3d')]){_0x4f2935[_0xa08b('0x3b')]=_[_0xa08b('0x3a')](_0x4f2935['where'],{'$or':_['map'](_0x4f2935[_0xa08b('0x34')],function(_0x13f550){var _0x4d6eb5={};_0x4d6eb5[_0x13f550]={'$like':'%'+_0x2e0c76[_0xa08b('0x2e')]['filter']+'%'};return _0x4d6eb5;})});}_0x4f2935=_[_0xa08b('0x3a')]({},_0x4f2935,_0x2e0c76[_0xa08b('0x3e')]);return _0x48cfa4['getDescriptions'](_0x4f2935);}})[_0xa08b('0x21')](function(_0x37693b){if(_0x37693b){_0x37b34d=_0x37693b['length'];if(!_0x2e0c76[_0xa08b('0x2e')][_0xa08b('0x36')]('nolimit')){_0x4f2935[_0xa08b('0x1b')]=qs[_0xa08b('0x1b')](_0x2e0c76['query'][_0xa08b('0x1b')]);_0x4f2935[_0xa08b('0x1e')]=qs[_0xa08b('0x1e')](_0x2e0c76[_0xa08b('0x2e')]['offset']);}return _0x48cfa4['getDescriptions'](_0x4f2935);}})[_0xa08b('0x21')](function(_0x75c4cf){if(_0x75c4cf){return _0x75c4cf?{'count':_0x37b34d,'rows':_0x75c4cf}:null;}})[_0xa08b('0x21')](respondWithResult(_0x46d1ee,null))[_0xa08b('0x42')](handleError(_0x46d1ee,null));};