dc4653a5b7ad9b0927bfa41330da0d34c9b07a37
[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 _0x0eb0=['limit','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','map','ServicenowConfiguration','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','options','includeAll','catch','show','params','find','create','body','getFields','findOne','ServicenowField','getSubjects','getDescriptions','pick','eml-format','zip-dir','fast-json-patch','moment','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count'];(function(_0x16818e,_0x4c3656){var _0x6fadf9=function(_0x182c97){while(--_0x182c97){_0x16818e['push'](_0x16818e['shift']());}};_0x6fadf9(++_0x4c3656);}(_0x0eb0,0x7f));var _0x00eb=function(_0x873a1f,_0x5ccdf8){_0x873a1f=_0x873a1f-0x0;var _0x58c296=_0x0eb0[_0x873a1f];return _0x58c296;};'use strict';var emlformat=require(_0x00eb('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x00eb('0x1'));var jsonpatch=require(_0x00eb('0x2'));var rp=require('request-promise');var moment=require(_0x00eb('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x00eb('0x4'));var util=require(_0x00eb('0x5'));var path=require('path');var sox=require(_0x00eb('0x6'));var csv=require(_0x00eb('0x7'));var ejs=require(_0x00eb('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x00eb('0x9'));var squel=require(_0x00eb('0xa'));var crypto=require(_0x00eb('0xb'));var jsforce=require(_0x00eb('0xc'));var deskjs=require(_0x00eb('0xd'));var toCsv=require(_0x00eb('0x7'));var querystring=require(_0x00eb('0xe'));var Papa=require(_0x00eb('0xf'));var Redis=require(_0x00eb('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x00eb('0x11'));var as=require(_0x00eb('0x12'));var hardwareService=require(_0x00eb('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0x00eb('0x14'));var config=require(_0x00eb('0x15'));var licenseUtil=require(_0x00eb('0x16'));var db=require(_0x00eb('0x17'))['db'];function respondWithStatusCode(_0xb55e01,_0x59a656){_0x59a656=_0x59a656||0xcc;return function(_0x2cd115){if(_0x2cd115){return _0xb55e01[_0x00eb('0x18')](_0x59a656);}return _0xb55e01[_0x00eb('0x19')](_0x59a656)[_0x00eb('0x1a')]();};}function respondWithResult(_0x5155e4,_0x1ee9a5){_0x1ee9a5=_0x1ee9a5||0xc8;return function(_0x20c19b){if(_0x20c19b){return _0x5155e4[_0x00eb('0x19')](_0x1ee9a5)[_0x00eb('0x1b')](_0x20c19b);}};}function respondWithFilteredResult(_0x28b6f3,_0x5e37b4){return function(_0xe6c560){if(_0xe6c560){var _0x1846bf=typeof _0x5e37b4[_0x00eb('0x1c')]===_0x00eb('0x1d')&&typeof _0x5e37b4['limit']===_0x00eb('0x1d');var _0x1ba540=_0xe6c560[_0x00eb('0x1e')];var _0x164e70=_0x1846bf?0x0:_0x5e37b4[_0x00eb('0x1c')];var _0x1fa741=_0x1846bf?_0xe6c560['count']:_0x5e37b4[_0x00eb('0x1c')]+_0x5e37b4[_0x00eb('0x1f')];var _0x8e363f;if(_0x1fa741>=_0x1ba540){_0x1fa741=_0x1ba540;_0x8e363f=0xc8;}else{_0x8e363f=0xce;}_0x28b6f3[_0x00eb('0x19')](_0x8e363f);return _0x28b6f3[_0x00eb('0x20')](_0x00eb('0x21'),_0x164e70+'-'+_0x1fa741+'/'+_0x1ba540)[_0x00eb('0x1b')](_0xe6c560);}return null;};}function patchUpdates(_0x786b3f){return function(_0x34088d){try{jsonpatch[_0x00eb('0x22')](_0x34088d,_0x786b3f,!![]);}catch(_0x2c95e0){return BPromise[_0x00eb('0x23')](_0x2c95e0);}return _0x34088d[_0x00eb('0x24')]();};}function saveUpdates(_0x3aa31d,_0x2a1a72){return function(_0x3569fe){if(_0x3569fe){return _0x3569fe[_0x00eb('0x25')](_0x3aa31d)[_0x00eb('0x26')](function(_0x2aa205){return _0x2aa205;});}return null;};}function removeEntity(_0xfbe73b,_0x18ea9e){return function(_0x2370e9){if(_0x2370e9){return _0x2370e9[_0x00eb('0x27')]()[_0x00eb('0x26')](function(){_0xfbe73b[_0x00eb('0x19')](0xcc)[_0x00eb('0x1a')]();});}};}function handleEntityNotFound(_0x205070,_0x7c5c50){return function(_0x483812){if(!_0x483812){_0x205070[_0x00eb('0x18')](0x194);}return _0x483812;};}function handleError(_0x231812,_0x2d9685){_0x2d9685=_0x2d9685||0x1f4;return function(_0x423816){logger[_0x00eb('0x28')](_0x423816[_0x00eb('0x29')]);if(_0x423816[_0x00eb('0x2a')]){delete _0x423816[_0x00eb('0x2a')];}_0x231812['status'](_0x2d9685)[_0x00eb('0x2b')](_0x423816);};}exports['index']=function(_0xedb38b,_0x1808d3){var _0xa1ab80={},_0x2bf210={},_0x404fb3={'count':0x0,'rows':[]};var _0x47c6df=_[_0x00eb('0x2c')](db[_0x00eb('0x2d')][_0x00eb('0x2e')],function(_0x3dc4c6){return{'name':_0x3dc4c6[_0x00eb('0x2f')],'type':_0x3dc4c6[_0x00eb('0x30')][_0x00eb('0x31')]};});_0x2bf210['model']=_[_0x00eb('0x2c')](_0x47c6df,_0x00eb('0x2a'));_0x2bf210[_0x00eb('0x32')]=_[_0x00eb('0x33')](_0xedb38b[_0x00eb('0x32')]);_0x2bf210[_0x00eb('0x34')]=_[_0x00eb('0x35')](_0x2bf210[_0x00eb('0x36')],_0x2bf210[_0x00eb('0x32')]);_0xa1ab80[_0x00eb('0x37')]=_[_0x00eb('0x35')](_0x2bf210[_0x00eb('0x36')],qs[_0x00eb('0x38')](_0xedb38b[_0x00eb('0x32')][_0x00eb('0x38')]));_0xa1ab80['attributes']=_0xa1ab80[_0x00eb('0x37')][_0x00eb('0x39')]?_0xa1ab80[_0x00eb('0x37')]:_0x2bf210[_0x00eb('0x36')];if(!_0xedb38b[_0x00eb('0x32')][_0x00eb('0x3a')](_0x00eb('0x3b'))){_0xa1ab80[_0x00eb('0x1f')]=qs[_0x00eb('0x1f')](_0xedb38b['query'][_0x00eb('0x1f')]);_0xa1ab80[_0x00eb('0x1c')]=qs[_0x00eb('0x1c')](_0xedb38b['query'][_0x00eb('0x1c')]);}_0xa1ab80[_0x00eb('0x3c')]=qs[_0x00eb('0x3d')](_0xedb38b[_0x00eb('0x32')][_0x00eb('0x3d')]);_0xa1ab80['where']=qs[_0x00eb('0x34')](_['pick'](_0xedb38b['query'],_0x2bf210[_0x00eb('0x34')]),_0x47c6df);if(_0xedb38b[_0x00eb('0x32')][_0x00eb('0x3e')]){_0xa1ab80[_0x00eb('0x3f')]=_[_0x00eb('0x40')](_0xa1ab80[_0x00eb('0x3f')],{'$or':_[_0x00eb('0x2c')](_0x47c6df,function(_0x4de306){if(_0x4de306[_0x00eb('0x30')]!=='VIRTUAL'){var _0xd308d6={};_0xd308d6[_0x4de306[_0x00eb('0x2a')]]={'$like':'%'+_0xedb38b[_0x00eb('0x32')][_0x00eb('0x3e')]+'%'};return _0xd308d6;}})});}_0xa1ab80=_[_0x00eb('0x40')]({},_0xa1ab80,_0xedb38b[_0x00eb('0x41')]);var _0x3ce206={'where':_0xa1ab80[_0x00eb('0x3f')]};return db[_0x00eb('0x2d')][_0x00eb('0x1e')](_0x3ce206)[_0x00eb('0x26')](function(_0x3dc322){_0x404fb3[_0x00eb('0x1e')]=_0x3dc322;if(_0xedb38b[_0x00eb('0x32')][_0x00eb('0x42')]){_0xa1ab80['include']=[{'all':!![]}];}return db[_0x00eb('0x2d')]['findAll'](_0xa1ab80);})[_0x00eb('0x26')](function(_0x172048){_0x404fb3['rows']=_0x172048;return _0x404fb3;})[_0x00eb('0x26')](respondWithFilteredResult(_0x1808d3,_0xa1ab80))[_0x00eb('0x43')](handleError(_0x1808d3,null));};exports[_0x00eb('0x44')]=function(_0x596296,_0x297ca3){var _0x4d67c5={'raw':![],'where':{'id':_0x596296[_0x00eb('0x45')]['id']}},_0x190a45={};_0x190a45[_0x00eb('0x36')]=_[_0x00eb('0x33')](db['ServicenowConfiguration'][_0x00eb('0x2e')]);_0x190a45[_0x00eb('0x32')]=_['keys'](_0x596296['query']);_0x190a45[_0x00eb('0x34')]=_[_0x00eb('0x35')](_0x190a45[_0x00eb('0x36')],_0x190a45[_0x00eb('0x32')]);_0x4d67c5[_0x00eb('0x37')]=_[_0x00eb('0x35')](_0x190a45[_0x00eb('0x36')],qs[_0x00eb('0x38')](_0x596296[_0x00eb('0x32')]['fields']));_0x4d67c5[_0x00eb('0x37')]=_0x4d67c5['attributes'][_0x00eb('0x39')]?_0x4d67c5[_0x00eb('0x37')]:_0x190a45['model'];if(_0x596296[_0x00eb('0x32')][_0x00eb('0x42')]){_0x4d67c5['include']=[{'all':!![]}];}_0x4d67c5=_[_0x00eb('0x40')]({},_0x4d67c5,_0x596296['options']);return db['ServicenowConfiguration'][_0x00eb('0x46')](_0x4d67c5)['then'](handleEntityNotFound(_0x297ca3,null))[_0x00eb('0x26')](respondWithResult(_0x297ca3,null))[_0x00eb('0x43')](handleError(_0x297ca3,null));};exports[_0x00eb('0x47')]=function(_0x28044b,_0x3df558){return db[_0x00eb('0x2d')]['create'](_0x28044b[_0x00eb('0x48')],{})[_0x00eb('0x26')](respondWithResult(_0x3df558,0xc9))[_0x00eb('0x43')](handleError(_0x3df558,null));};exports[_0x00eb('0x25')]=function(_0x3fc737,_0x3dbb03){if(_0x3fc737[_0x00eb('0x48')]['id']){delete _0x3fc737[_0x00eb('0x48')]['id'];}return db[_0x00eb('0x2d')][_0x00eb('0x46')]({'where':{'id':_0x3fc737[_0x00eb('0x45')]['id']}})[_0x00eb('0x26')](handleEntityNotFound(_0x3dbb03,null))['then'](saveUpdates(_0x3fc737[_0x00eb('0x48')],null))[_0x00eb('0x26')](respondWithResult(_0x3dbb03,null))[_0x00eb('0x43')](handleError(_0x3dbb03,null));};exports['destroy']=function(_0x2e77db,_0x2dbb3f){return db[_0x00eb('0x2d')][_0x00eb('0x46')]({'where':{'id':_0x2e77db[_0x00eb('0x45')]['id']}})[_0x00eb('0x26')](handleEntityNotFound(_0x2dbb3f,null))[_0x00eb('0x26')](removeEntity(_0x2dbb3f,null))['catch'](handleError(_0x2dbb3f,null));};exports[_0x00eb('0x49')]=function(_0x1a203d,_0x7450bb,_0x436258){var _0x96f197={};var _0x409a74={};var _0x8a8c6a;var _0x234930;return db[_0x00eb('0x2d')][_0x00eb('0x4a')]({'where':{'id':_0x1a203d[_0x00eb('0x45')]['id']}})['then'](handleEntityNotFound(_0x7450bb,null))[_0x00eb('0x26')](function(_0x4e5a6b){if(_0x4e5a6b){_0x8a8c6a=_0x4e5a6b;_0x409a74[_0x00eb('0x36')]=_[_0x00eb('0x33')](db[_0x00eb('0x4b')][_0x00eb('0x2e')]);_0x409a74['query']=_['keys'](_0x1a203d[_0x00eb('0x32')]);_0x409a74[_0x00eb('0x34')]=_[_0x00eb('0x35')](_0x409a74[_0x00eb('0x36')],_0x409a74[_0x00eb('0x32')]);_0x96f197[_0x00eb('0x37')]=_['intersection'](_0x409a74['model'],qs[_0x00eb('0x38')](_0x1a203d[_0x00eb('0x32')][_0x00eb('0x38')]));_0x96f197[_0x00eb('0x37')]=_0x96f197[_0x00eb('0x37')]['length']?_0x96f197['attributes']:_0x409a74[_0x00eb('0x36')];_0x96f197[_0x00eb('0x3c')]=qs[_0x00eb('0x3d')](_0x1a203d['query'][_0x00eb('0x3d')]);_0x96f197[_0x00eb('0x3f')]=qs['filters'](_['pick'](_0x1a203d[_0x00eb('0x32')],_0x409a74[_0x00eb('0x34')]));if(_0x1a203d[_0x00eb('0x32')][_0x00eb('0x3e')]){_0x96f197[_0x00eb('0x3f')]=_['merge'](_0x96f197[_0x00eb('0x3f')],{'$or':_['map'](_0x96f197[_0x00eb('0x37')],function(_0x45e2ad){var _0x1693ca={};_0x1693ca[_0x45e2ad]={'$like':'%'+_0x1a203d[_0x00eb('0x32')][_0x00eb('0x3e')]+'%'};return _0x1693ca;})});}_0x96f197=_[_0x00eb('0x40')]({},_0x96f197,_0x1a203d['options']);return _0x8a8c6a[_0x00eb('0x49')](_0x96f197);}})[_0x00eb('0x26')](function(_0x265dc5){if(_0x265dc5){_0x234930=_0x265dc5['length'];if(!_0x1a203d['query']['hasOwnProperty'](_0x00eb('0x3b'))){_0x96f197['limit']=qs[_0x00eb('0x1f')](_0x1a203d[_0x00eb('0x32')][_0x00eb('0x1f')]);_0x96f197['offset']=qs[_0x00eb('0x1c')](_0x1a203d[_0x00eb('0x32')]['offset']);}return _0x8a8c6a[_0x00eb('0x49')](_0x96f197);}})[_0x00eb('0x26')](function(_0x2c5ec7){if(_0x2c5ec7){return _0x2c5ec7?{'count':_0x234930,'rows':_0x2c5ec7}:null;}})['then'](respondWithResult(_0x7450bb,null))[_0x00eb('0x43')](handleError(_0x7450bb,null));};exports[_0x00eb('0x4c')]=function(_0xecdb7c,_0x3d164f,_0x8c5632){var _0x4b1d85={};var _0x384943={};var _0x5e8cef;var _0xe5898f;return db[_0x00eb('0x2d')]['findOne']({'where':{'id':_0xecdb7c[_0x00eb('0x45')]['id']}})[_0x00eb('0x26')](handleEntityNotFound(_0x3d164f,null))[_0x00eb('0x26')](function(_0x3cb0df){if(_0x3cb0df){_0x5e8cef=_0x3cb0df;_0x384943[_0x00eb('0x36')]=_[_0x00eb('0x33')](db[_0x00eb('0x4b')][_0x00eb('0x2e')]);_0x384943[_0x00eb('0x32')]=_[_0x00eb('0x33')](_0xecdb7c[_0x00eb('0x32')]);_0x384943[_0x00eb('0x34')]=_[_0x00eb('0x35')](_0x384943[_0x00eb('0x36')],_0x384943[_0x00eb('0x32')]);_0x4b1d85[_0x00eb('0x37')]=_[_0x00eb('0x35')](_0x384943[_0x00eb('0x36')],qs['fields'](_0xecdb7c[_0x00eb('0x32')][_0x00eb('0x38')]));_0x4b1d85[_0x00eb('0x37')]=_0x4b1d85['attributes']['length']?_0x4b1d85[_0x00eb('0x37')]:_0x384943[_0x00eb('0x36')];_0x4b1d85[_0x00eb('0x3c')]=qs[_0x00eb('0x3d')](_0xecdb7c[_0x00eb('0x32')][_0x00eb('0x3d')]);_0x4b1d85[_0x00eb('0x3f')]=qs['filters'](_['pick'](_0xecdb7c[_0x00eb('0x32')],_0x384943[_0x00eb('0x34')]));if(_0xecdb7c[_0x00eb('0x32')][_0x00eb('0x3e')]){_0x4b1d85[_0x00eb('0x3f')]=_[_0x00eb('0x40')](_0x4b1d85[_0x00eb('0x3f')],{'$or':_[_0x00eb('0x2c')](_0x4b1d85[_0x00eb('0x37')],function(_0x5b79f4){var _0x1a86f5={};_0x1a86f5[_0x5b79f4]={'$like':'%'+_0xecdb7c[_0x00eb('0x32')][_0x00eb('0x3e')]+'%'};return _0x1a86f5;})});}_0x4b1d85=_[_0x00eb('0x40')]({},_0x4b1d85,_0xecdb7c[_0x00eb('0x41')]);return _0x5e8cef[_0x00eb('0x4c')](_0x4b1d85);}})[_0x00eb('0x26')](function(_0x19bbd5){if(_0x19bbd5){_0xe5898f=_0x19bbd5[_0x00eb('0x39')];if(!_0xecdb7c[_0x00eb('0x32')]['hasOwnProperty'](_0x00eb('0x3b'))){_0x4b1d85[_0x00eb('0x1f')]=qs[_0x00eb('0x1f')](_0xecdb7c[_0x00eb('0x32')][_0x00eb('0x1f')]);_0x4b1d85['offset']=qs[_0x00eb('0x1c')](_0xecdb7c[_0x00eb('0x32')]['offset']);}return _0x5e8cef[_0x00eb('0x4c')](_0x4b1d85);}})['then'](function(_0x5dc812){if(_0x5dc812){return _0x5dc812?{'count':_0xe5898f,'rows':_0x5dc812}:null;}})['then'](respondWithResult(_0x3d164f,null))['catch'](handleError(_0x3d164f,null));};exports[_0x00eb('0x4d')]=function(_0x520a97,_0x192f8a,_0x3cae6c){var _0x36ac04={};var _0x116590={};var _0xc8762e;var _0x4dc415;return db[_0x00eb('0x2d')][_0x00eb('0x4a')]({'where':{'id':_0x520a97[_0x00eb('0x45')]['id']}})[_0x00eb('0x26')](handleEntityNotFound(_0x192f8a,null))['then'](function(_0x1b059b){if(_0x1b059b){_0xc8762e=_0x1b059b;_0x116590['model']=_[_0x00eb('0x33')](db[_0x00eb('0x4b')][_0x00eb('0x2e')]);_0x116590[_0x00eb('0x32')]=_['keys'](_0x520a97['query']);_0x116590['filters']=_[_0x00eb('0x35')](_0x116590[_0x00eb('0x36')],_0x116590[_0x00eb('0x32')]);_0x36ac04[_0x00eb('0x37')]=_[_0x00eb('0x35')](_0x116590[_0x00eb('0x36')],qs['fields'](_0x520a97['query'][_0x00eb('0x38')]));_0x36ac04[_0x00eb('0x37')]=_0x36ac04['attributes'][_0x00eb('0x39')]?_0x36ac04[_0x00eb('0x37')]:_0x116590['model'];_0x36ac04[_0x00eb('0x3c')]=qs['sort'](_0x520a97[_0x00eb('0x32')][_0x00eb('0x3d')]);_0x36ac04[_0x00eb('0x3f')]=qs[_0x00eb('0x34')](_[_0x00eb('0x4e')](_0x520a97[_0x00eb('0x32')],_0x116590['filters']));if(_0x520a97['query']['filter']){_0x36ac04[_0x00eb('0x3f')]=_['merge'](_0x36ac04[_0x00eb('0x3f')],{'$or':_[_0x00eb('0x2c')](_0x36ac04['attributes'],function(_0x20651e){var _0x14fb33={};_0x14fb33[_0x20651e]={'$like':'%'+_0x520a97[_0x00eb('0x32')][_0x00eb('0x3e')]+'%'};return _0x14fb33;})});}_0x36ac04=_[_0x00eb('0x40')]({},_0x36ac04,_0x520a97[_0x00eb('0x41')]);return _0xc8762e[_0x00eb('0x4d')](_0x36ac04);}})[_0x00eb('0x26')](function(_0x4e7e){if(_0x4e7e){_0x4dc415=_0x4e7e['length'];if(!_0x520a97[_0x00eb('0x32')][_0x00eb('0x3a')](_0x00eb('0x3b'))){_0x36ac04[_0x00eb('0x1f')]=qs[_0x00eb('0x1f')](_0x520a97['query'][_0x00eb('0x1f')]);_0x36ac04[_0x00eb('0x1c')]=qs['offset'](_0x520a97[_0x00eb('0x32')][_0x00eb('0x1c')]);}return _0xc8762e[_0x00eb('0x4d')](_0x36ac04);}})['then'](function(_0x4a87b1){if(_0x4a87b1){return _0x4a87b1?{'count':_0x4dc415,'rows':_0x4a87b1}:null;}})['then'](respondWithResult(_0x192f8a,null))[_0x00eb('0x43')](handleError(_0x192f8a,null));};