efc72f7f28b1a92a5aef7dc7226ec25ed2eae780
[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 _0x89e9=['sendStatus','status','end','json','undefined','count','offset','set','Content-Range','apply','reject','save','destroy','then','error','stack','name','index','map','ServicenowConfiguration','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','hasOwnProperty','nolimit','limit','sort','where','pick','merge','type','VIRTUAL','options','includeAll','findAll','rows','catch','params','fields','length','include','find','create','update','body','getFields','findOne','order','filter','getSubjects','getDescriptions','ServicenowField','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb'];(function(_0xc0c817,_0x3174a0){var _0x41947d=function(_0x4e50a2){while(--_0x4e50a2){_0xc0c817['push'](_0xc0c817['shift']());}};_0x41947d(++_0x3174a0);}(_0x89e9,0x8f));var _0x989e=function(_0x497b6b,_0x19f2fd){_0x497b6b=_0x497b6b-0x0;var _0x2f34f3=_0x89e9[_0x497b6b];return _0x2f34f3;};'use strict';var emlformat=require(_0x989e('0x0'));var rimraf=require(_0x989e('0x1'));var zipdir=require(_0x989e('0x2'));var jsonpatch=require(_0x989e('0x3'));var rp=require(_0x989e('0x4'));var moment=require(_0x989e('0x5'));var BPromise=require(_0x989e('0x6'));var Mustache=require('mustache');var util=require(_0x989e('0x7'));var path=require(_0x989e('0x8'));var sox=require(_0x989e('0x9'));var csv=require(_0x989e('0xa'));var ejs=require(_0x989e('0xb'));var fs=require('fs');var fs_extra=require(_0x989e('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x989e('0xd'));var jsforce=require(_0x989e('0xe'));var deskjs=require(_0x989e('0xf'));var toCsv=require(_0x989e('0xa'));var querystring=require(_0x989e('0x10'));var Papa=require(_0x989e('0x11'));var Redis=require(_0x989e('0x12'));var authService=require(_0x989e('0x13'));var qs=require(_0x989e('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x989e('0x15'));var logger=require(_0x989e('0x16'))(_0x989e('0x17'));var utils=require(_0x989e('0x18'));var config=require(_0x989e('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x989e('0x1a'))['db'];function respondWithStatusCode(_0x1938f2,_0x249192){_0x249192=_0x249192||0xcc;return function(_0x4deb01){if(_0x4deb01){return _0x1938f2[_0x989e('0x1b')](_0x249192);}return _0x1938f2[_0x989e('0x1c')](_0x249192)[_0x989e('0x1d')]();};}function respondWithResult(_0x1d333b,_0x3ecd36){_0x3ecd36=_0x3ecd36||0xc8;return function(_0x3ec4cd){if(_0x3ec4cd){return _0x1d333b[_0x989e('0x1c')](_0x3ecd36)[_0x989e('0x1e')](_0x3ec4cd);}};}function respondWithFilteredResult(_0x3079af,_0x1892bf){return function(_0x5c2ca3){if(_0x5c2ca3){var _0x4ba013=typeof _0x1892bf['offset']===_0x989e('0x1f')&&typeof _0x1892bf['limit']==='undefined';var _0x4b3fe2=_0x5c2ca3[_0x989e('0x20')];var _0x37cc72=_0x4ba013?0x0:_0x1892bf[_0x989e('0x21')];var _0x5bb6a0=_0x4ba013?_0x5c2ca3[_0x989e('0x20')]:_0x1892bf[_0x989e('0x21')]+_0x1892bf['limit'];var _0x4e7404;if(_0x5bb6a0>=_0x4b3fe2){_0x5bb6a0=_0x4b3fe2;_0x4e7404=0xc8;}else{_0x4e7404=0xce;}_0x3079af[_0x989e('0x1c')](_0x4e7404);return _0x3079af[_0x989e('0x22')](_0x989e('0x23'),_0x37cc72+'-'+_0x5bb6a0+'/'+_0x4b3fe2)['json'](_0x5c2ca3);}return null;};}function patchUpdates(_0x19e1fd){return function(_0x234dd9){try{jsonpatch[_0x989e('0x24')](_0x234dd9,_0x19e1fd,!![]);}catch(_0xa7529a){return BPromise[_0x989e('0x25')](_0xa7529a);}return _0x234dd9[_0x989e('0x26')]();};}function saveUpdates(_0x17a0b9,_0x497b94){return function(_0x4d12c4){if(_0x4d12c4){return _0x4d12c4['update'](_0x17a0b9)['then'](function(_0x1be269){return _0x1be269;});}return null;};}function removeEntity(_0x33646a,_0x32b00b){return function(_0x4a0a3f){if(_0x4a0a3f){return _0x4a0a3f[_0x989e('0x27')]()[_0x989e('0x28')](function(){_0x33646a[_0x989e('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x413b54,_0x840537){return function(_0x4c3ff3){if(!_0x4c3ff3){_0x413b54[_0x989e('0x1b')](0x194);}return _0x4c3ff3;};}function handleError(_0x196d58,_0x5a3603){_0x5a3603=_0x5a3603||0x1f4;return function(_0x33b951){logger[_0x989e('0x29')](_0x33b951[_0x989e('0x2a')]);if(_0x33b951[_0x989e('0x2b')]){delete _0x33b951[_0x989e('0x2b')];}_0x196d58[_0x989e('0x1c')](_0x5a3603)['send'](_0x33b951);};}exports[_0x989e('0x2c')]=function(_0x2ae284,_0x56cf9b){var _0x204778={},_0x14b6b4={},_0x300161={'count':0x0,'rows':[]};var _0x5d663b=_[_0x989e('0x2d')](db[_0x989e('0x2e')][_0x989e('0x2f')],function(_0x253094){return{'name':_0x253094[_0x989e('0x30')],'type':_0x253094['type'][_0x989e('0x31')]};});_0x14b6b4[_0x989e('0x32')]=_[_0x989e('0x2d')](_0x5d663b,'name');_0x14b6b4[_0x989e('0x33')]=_[_0x989e('0x34')](_0x2ae284[_0x989e('0x33')]);_0x14b6b4[_0x989e('0x35')]=_[_0x989e('0x36')](_0x14b6b4[_0x989e('0x32')],_0x14b6b4[_0x989e('0x33')]);_0x204778[_0x989e('0x37')]=_[_0x989e('0x36')](_0x14b6b4[_0x989e('0x32')],qs['fields'](_0x2ae284[_0x989e('0x33')]['fields']));_0x204778[_0x989e('0x37')]=_0x204778[_0x989e('0x37')]['length']?_0x204778[_0x989e('0x37')]:_0x14b6b4[_0x989e('0x32')];if(!_0x2ae284[_0x989e('0x33')][_0x989e('0x38')](_0x989e('0x39'))){_0x204778[_0x989e('0x3a')]=qs['limit'](_0x2ae284[_0x989e('0x33')][_0x989e('0x3a')]);_0x204778['offset']=qs[_0x989e('0x21')](_0x2ae284[_0x989e('0x33')][_0x989e('0x21')]);}_0x204778['order']=qs['sort'](_0x2ae284[_0x989e('0x33')][_0x989e('0x3b')]);_0x204778[_0x989e('0x3c')]=qs[_0x989e('0x35')](_[_0x989e('0x3d')](_0x2ae284['query'],_0x14b6b4[_0x989e('0x35')]),_0x5d663b);if(_0x2ae284[_0x989e('0x33')]['filter']){_0x204778['where']=_[_0x989e('0x3e')](_0x204778[_0x989e('0x3c')],{'$or':_[_0x989e('0x2d')](_0x5d663b,function(_0x58339f){if(_0x58339f[_0x989e('0x3f')]!==_0x989e('0x40')){var _0x3228ad={};_0x3228ad[_0x58339f[_0x989e('0x2b')]]={'$like':'%'+_0x2ae284[_0x989e('0x33')]['filter']+'%'};return _0x3228ad;}})});}_0x204778=_[_0x989e('0x3e')]({},_0x204778,_0x2ae284[_0x989e('0x41')]);var _0x2f31e0={'where':_0x204778[_0x989e('0x3c')]};return db[_0x989e('0x2e')][_0x989e('0x20')](_0x2f31e0)[_0x989e('0x28')](function(_0x280e37){_0x300161['count']=_0x280e37;if(_0x2ae284[_0x989e('0x33')][_0x989e('0x42')]){_0x204778['include']=[{'all':!![]}];}return db['ServicenowConfiguration'][_0x989e('0x43')](_0x204778);})['then'](function(_0x54f9c7){_0x300161[_0x989e('0x44')]=_0x54f9c7;return _0x300161;})['then'](respondWithFilteredResult(_0x56cf9b,_0x204778))[_0x989e('0x45')](handleError(_0x56cf9b,null));};exports['show']=function(_0x1deb40,_0xb0335e){var _0x4755e0={'raw':![],'where':{'id':_0x1deb40[_0x989e('0x46')]['id']}},_0x47afee={};_0x47afee[_0x989e('0x32')]=_[_0x989e('0x34')](db[_0x989e('0x2e')][_0x989e('0x2f')]);_0x47afee['query']=_[_0x989e('0x34')](_0x1deb40[_0x989e('0x33')]);_0x47afee['filters']=_['intersection'](_0x47afee['model'],_0x47afee['query']);_0x4755e0[_0x989e('0x37')]=_[_0x989e('0x36')](_0x47afee[_0x989e('0x32')],qs[_0x989e('0x47')](_0x1deb40[_0x989e('0x33')]['fields']));_0x4755e0['attributes']=_0x4755e0[_0x989e('0x37')][_0x989e('0x48')]?_0x4755e0['attributes']:_0x47afee[_0x989e('0x32')];if(_0x1deb40[_0x989e('0x33')]['includeAll']){_0x4755e0[_0x989e('0x49')]=[{'all':!![]}];}_0x4755e0=_[_0x989e('0x3e')]({},_0x4755e0,_0x1deb40[_0x989e('0x41')]);return db[_0x989e('0x2e')][_0x989e('0x4a')](_0x4755e0)[_0x989e('0x28')](handleEntityNotFound(_0xb0335e,null))[_0x989e('0x28')](respondWithResult(_0xb0335e,null))[_0x989e('0x45')](handleError(_0xb0335e,null));};exports[_0x989e('0x4b')]=function(_0x116db7,_0x44d664){return db['ServicenowConfiguration'][_0x989e('0x4b')](_0x116db7['body'],{})[_0x989e('0x28')](respondWithResult(_0x44d664,0xc9))[_0x989e('0x45')](handleError(_0x44d664,null));};exports[_0x989e('0x4c')]=function(_0x5d8776,_0x49d3ca){if(_0x5d8776[_0x989e('0x4d')]['id']){delete _0x5d8776[_0x989e('0x4d')]['id'];}return db[_0x989e('0x2e')][_0x989e('0x4a')]({'where':{'id':_0x5d8776[_0x989e('0x46')]['id']}})['then'](handleEntityNotFound(_0x49d3ca,null))[_0x989e('0x28')](saveUpdates(_0x5d8776['body'],null))['then'](respondWithResult(_0x49d3ca,null))[_0x989e('0x45')](handleError(_0x49d3ca,null));};exports['destroy']=function(_0x46b0e8,_0x4befab){return db[_0x989e('0x2e')][_0x989e('0x4a')]({'where':{'id':_0x46b0e8[_0x989e('0x46')]['id']}})['then'](handleEntityNotFound(_0x4befab,null))['then'](removeEntity(_0x4befab,null))[_0x989e('0x45')](handleError(_0x4befab,null));};exports[_0x989e('0x4e')]=function(_0x259baa,_0x4e69bc,_0x552267){var _0x25674d={};var _0x69f92c={};var _0xa7a76c;var _0x3afbb8;return db[_0x989e('0x2e')][_0x989e('0x4f')]({'where':{'id':_0x259baa[_0x989e('0x46')]['id']}})[_0x989e('0x28')](handleEntityNotFound(_0x4e69bc,null))['then'](function(_0x58f0d6){if(_0x58f0d6){_0xa7a76c=_0x58f0d6;_0x69f92c['model']=_[_0x989e('0x34')](db['ServicenowField'][_0x989e('0x2f')]);_0x69f92c['query']=_[_0x989e('0x34')](_0x259baa[_0x989e('0x33')]);_0x69f92c[_0x989e('0x35')]=_[_0x989e('0x36')](_0x69f92c[_0x989e('0x32')],_0x69f92c[_0x989e('0x33')]);_0x25674d['attributes']=_[_0x989e('0x36')](_0x69f92c[_0x989e('0x32')],qs['fields'](_0x259baa[_0x989e('0x33')]['fields']));_0x25674d[_0x989e('0x37')]=_0x25674d[_0x989e('0x37')][_0x989e('0x48')]?_0x25674d[_0x989e('0x37')]:_0x69f92c[_0x989e('0x32')];_0x25674d[_0x989e('0x50')]=qs[_0x989e('0x3b')](_0x259baa[_0x989e('0x33')][_0x989e('0x3b')]);_0x25674d['where']=qs[_0x989e('0x35')](_[_0x989e('0x3d')](_0x259baa[_0x989e('0x33')],_0x69f92c[_0x989e('0x35')]));if(_0x259baa['query']['filter']){_0x25674d[_0x989e('0x3c')]=_[_0x989e('0x3e')](_0x25674d[_0x989e('0x3c')],{'$or':_['map'](_0x25674d[_0x989e('0x37')],function(_0xc36102){var _0x4adfcd={};_0x4adfcd[_0xc36102]={'$like':'%'+_0x259baa[_0x989e('0x33')][_0x989e('0x51')]+'%'};return _0x4adfcd;})});}_0x25674d=_[_0x989e('0x3e')]({},_0x25674d,_0x259baa['options']);return _0xa7a76c[_0x989e('0x4e')](_0x25674d);}})[_0x989e('0x28')](function(_0x5911d1){if(_0x5911d1){_0x3afbb8=_0x5911d1['length'];if(!_0x259baa[_0x989e('0x33')][_0x989e('0x38')](_0x989e('0x39'))){_0x25674d[_0x989e('0x3a')]=qs[_0x989e('0x3a')](_0x259baa['query'][_0x989e('0x3a')]);_0x25674d[_0x989e('0x21')]=qs[_0x989e('0x21')](_0x259baa[_0x989e('0x33')][_0x989e('0x21')]);}return _0xa7a76c['getFields'](_0x25674d);}})[_0x989e('0x28')](function(_0x20cecb){if(_0x20cecb){return _0x20cecb?{'count':_0x3afbb8,'rows':_0x20cecb}:null;}})[_0x989e('0x28')](respondWithResult(_0x4e69bc,null))['catch'](handleError(_0x4e69bc,null));};exports[_0x989e('0x52')]=function(_0x1ac005,_0x5f1675,_0x149bae){var _0x347fe5={};var _0x1d4303={};var _0x5e7227;var _0x3a26f1;return db['ServicenowConfiguration'][_0x989e('0x4f')]({'where':{'id':_0x1ac005[_0x989e('0x46')]['id']}})['then'](handleEntityNotFound(_0x5f1675,null))['then'](function(_0xa4c676){if(_0xa4c676){_0x5e7227=_0xa4c676;_0x1d4303['model']=_[_0x989e('0x34')](db['ServicenowField']['rawAttributes']);_0x1d4303[_0x989e('0x33')]=_['keys'](_0x1ac005['query']);_0x1d4303[_0x989e('0x35')]=_[_0x989e('0x36')](_0x1d4303[_0x989e('0x32')],_0x1d4303[_0x989e('0x33')]);_0x347fe5['attributes']=_[_0x989e('0x36')](_0x1d4303['model'],qs['fields'](_0x1ac005[_0x989e('0x33')][_0x989e('0x47')]));_0x347fe5['attributes']=_0x347fe5[_0x989e('0x37')]['length']?_0x347fe5['attributes']:_0x1d4303['model'];_0x347fe5[_0x989e('0x50')]=qs[_0x989e('0x3b')](_0x1ac005[_0x989e('0x33')][_0x989e('0x3b')]);_0x347fe5[_0x989e('0x3c')]=qs[_0x989e('0x35')](_[_0x989e('0x3d')](_0x1ac005[_0x989e('0x33')],_0x1d4303[_0x989e('0x35')]));if(_0x1ac005['query'][_0x989e('0x51')]){_0x347fe5[_0x989e('0x3c')]=_[_0x989e('0x3e')](_0x347fe5[_0x989e('0x3c')],{'$or':_[_0x989e('0x2d')](_0x347fe5[_0x989e('0x37')],function(_0x90689a){var _0x5a641b={};_0x5a641b[_0x90689a]={'$like':'%'+_0x1ac005[_0x989e('0x33')][_0x989e('0x51')]+'%'};return _0x5a641b;})});}_0x347fe5=_[_0x989e('0x3e')]({},_0x347fe5,_0x1ac005[_0x989e('0x41')]);return _0x5e7227['getSubjects'](_0x347fe5);}})[_0x989e('0x28')](function(_0x539287){if(_0x539287){_0x3a26f1=_0x539287[_0x989e('0x48')];if(!_0x1ac005[_0x989e('0x33')]['hasOwnProperty']('nolimit')){_0x347fe5[_0x989e('0x3a')]=qs[_0x989e('0x3a')](_0x1ac005['query']['limit']);_0x347fe5[_0x989e('0x21')]=qs[_0x989e('0x21')](_0x1ac005[_0x989e('0x33')]['offset']);}return _0x5e7227[_0x989e('0x52')](_0x347fe5);}})[_0x989e('0x28')](function(_0xc2b03f){if(_0xc2b03f){return _0xc2b03f?{'count':_0x3a26f1,'rows':_0xc2b03f}:null;}})[_0x989e('0x28')](respondWithResult(_0x5f1675,null))[_0x989e('0x45')](handleError(_0x5f1675,null));};exports[_0x989e('0x53')]=function(_0x578888,_0x20226d,_0x439161){var _0x4de407={};var _0x116751={};var _0x5e1fbc;var _0x40f17e;return db['ServicenowConfiguration'][_0x989e('0x4f')]({'where':{'id':_0x578888[_0x989e('0x46')]['id']}})[_0x989e('0x28')](handleEntityNotFound(_0x20226d,null))[_0x989e('0x28')](function(_0x1243ad){if(_0x1243ad){_0x5e1fbc=_0x1243ad;_0x116751['model']=_[_0x989e('0x34')](db[_0x989e('0x54')]['rawAttributes']);_0x116751[_0x989e('0x33')]=_[_0x989e('0x34')](_0x578888[_0x989e('0x33')]);_0x116751[_0x989e('0x35')]=_['intersection'](_0x116751[_0x989e('0x32')],_0x116751[_0x989e('0x33')]);_0x4de407[_0x989e('0x37')]=_[_0x989e('0x36')](_0x116751[_0x989e('0x32')],qs[_0x989e('0x47')](_0x578888[_0x989e('0x33')][_0x989e('0x47')]));_0x4de407[_0x989e('0x37')]=_0x4de407['attributes'][_0x989e('0x48')]?_0x4de407['attributes']:_0x116751[_0x989e('0x32')];_0x4de407[_0x989e('0x50')]=qs[_0x989e('0x3b')](_0x578888[_0x989e('0x33')][_0x989e('0x3b')]);_0x4de407[_0x989e('0x3c')]=qs[_0x989e('0x35')](_[_0x989e('0x3d')](_0x578888[_0x989e('0x33')],_0x116751[_0x989e('0x35')]));if(_0x578888[_0x989e('0x33')][_0x989e('0x51')]){_0x4de407['where']=_[_0x989e('0x3e')](_0x4de407['where'],{'$or':_[_0x989e('0x2d')](_0x4de407[_0x989e('0x37')],function(_0x3d4f86){var _0xe811ba={};_0xe811ba[_0x3d4f86]={'$like':'%'+_0x578888[_0x989e('0x33')][_0x989e('0x51')]+'%'};return _0xe811ba;})});}_0x4de407=_[_0x989e('0x3e')]({},_0x4de407,_0x578888[_0x989e('0x41')]);return _0x5e1fbc[_0x989e('0x53')](_0x4de407);}})[_0x989e('0x28')](function(_0x2ceb3c){if(_0x2ceb3c){_0x40f17e=_0x2ceb3c[_0x989e('0x48')];if(!_0x578888[_0x989e('0x33')]['hasOwnProperty'](_0x989e('0x39'))){_0x4de407[_0x989e('0x3a')]=qs[_0x989e('0x3a')](_0x578888[_0x989e('0x33')][_0x989e('0x3a')]);_0x4de407[_0x989e('0x21')]=qs['offset'](_0x578888[_0x989e('0x33')][_0x989e('0x21')]);}return _0x5e1fbc['getDescriptions'](_0x4de407);}})[_0x989e('0x28')](function(_0x24ea31){if(_0x24ea31){return _0x24ea31?{'count':_0x40f17e,'rows':_0x24ea31}:null;}})['then'](respondWithResult(_0x20226d,null))[_0x989e('0x45')](handleError(_0x20226d,null));};