124a4ffdb5598326f73f72ea43964b9ba76444d2
[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 _0xde5a=['options','count','includeAll','findAll','params','rawAttributes','include','find','catch','update','body','findOne','ServicenowField','getFields','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','ServicenowConfiguration,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','sendStatus','status','end','offset','set','Content-Range','json','reject','save','destroy','stack','name','send','ServicenowConfiguration','type','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','pick','filters','filter','merge'];(function(_0x273f88,_0x5d4150){var _0x177ca1=function(_0xf46ec4){while(--_0xf46ec4){_0x273f88['push'](_0x273f88['shift']());}};_0x177ca1(++_0x5d4150);}(_0xde5a,0x119));var _0xade5=function(_0x1495ed,_0x12a39d){_0x1495ed=_0x1495ed-0x0;var _0x4f1ce4=_0xde5a[_0x1495ed];return _0x4f1ce4;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xade5('0x0'));var rimraf=require(_0xade5('0x1'));var zipdir=require(_0xade5('0x2'));var jsonpatch=require(_0xade5('0x3'));var rp=require(_0xade5('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xade5('0x5'));var util=require(_0xade5('0x6'));var path=require(_0xade5('0x7'));var sox=require(_0xade5('0x8'));var csv=require(_0xade5('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xade5('0xa'));var crypto=require(_0xade5('0xb'));var jsforce=require(_0xade5('0xc'));var deskjs=require(_0xade5('0xd'));var toCsv=require(_0xade5('0x9'));var querystring=require(_0xade5('0xe'));var Papa=require(_0xade5('0xf'));var Redis=require(_0xade5('0x10'));var authService=require(_0xade5('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xade5('0x12'));var logger=require(_0xade5('0x13'))(_0xade5('0x14'));var utils=require(_0xade5('0x15'));var config=require(_0xade5('0x16'));var licenseUtil=require(_0xade5('0x17'));var db=require(_0xade5('0x18'))['db'];var jayson=require(_0xade5('0x19'));var client=jayson[_0xade5('0x1a')][_0xade5('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0xb9ef6,_0x50de94,_0x3b942d,_0x3bb6d4){return new BPromise(function(_0x23e12b,_0x494919){var _0x4eed4c=_0x3bb6d4||client;return _0x4eed4c[_0xade5('0x1c')](_0xb9ef6,_0x3b942d)[_0xade5('0x1d')](function(_0x4bac21){logger[_0xade5('0x1e')](_0xade5('0x1f'),_0x50de94,_0xade5('0x20'));logger[_0xade5('0x21')]('ServicenowConfiguration,\x20%s,\x20%s,\x20%s',_0x50de94,_0xade5('0x20'),JSON[_0xade5('0x22')](_0x4bac21));if(_0x4bac21[_0xade5('0x23')]){if(_0x4bac21[_0xade5('0x23')][_0xade5('0x24')]===0x1f4){logger[_0xade5('0x23')]('ServicenowConfiguration,\x20%s,\x20%s',_0x50de94,_0x4bac21[_0xade5('0x23')][_0xade5('0x25')]);return _0x494919(_0x4bac21[_0xade5('0x23')][_0xade5('0x25')]);}logger[_0xade5('0x23')](_0xade5('0x1f'),_0x50de94,_0x4bac21[_0xade5('0x23')]['message']);return _0x23e12b(_0x4bac21[_0xade5('0x23')][_0xade5('0x25')]);}else{logger[_0xade5('0x1e')](_0xade5('0x1f'),_0x50de94,_0xade5('0x20'));_0x23e12b(_0x4bac21[_0xade5('0x26')][_0xade5('0x25')]);}})['catch'](function(_0x4ab600){logger[_0xade5('0x23')](_0xade5('0x1f'),_0x50de94,_0x4ab600);_0x494919(_0x4ab600);});});}function respondWithStatusCode(_0x180ab0,_0x3a58b3){_0x3a58b3=_0x3a58b3||0xcc;return function(_0x14608e){if(_0x14608e){return _0x180ab0[_0xade5('0x27')](_0x3a58b3);}return _0x180ab0[_0xade5('0x28')](_0x3a58b3)[_0xade5('0x29')]();};}function respondWithResult(_0x286ed4,_0x22aace){_0x22aace=_0x22aace||0xc8;return function(_0x3b2255){if(_0x3b2255){return _0x286ed4[_0xade5('0x28')](_0x22aace)['json'](_0x3b2255);}};}function respondWithFilteredResult(_0x332d1f,_0x441980){return function(_0x3d3bce){if(_0x3d3bce){var _0x25c141=_0x3d3bce['count'],_0x5dc34d=_0x441980[_0xade5('0x2a')],_0x1cd891=_0x441980[_0xade5('0x2a')]+_0x441980['limit'],_0x360034;if(_0x1cd891>=_0x25c141){_0x1cd891=_0x25c141;_0x360034=0xc8;}else{_0x360034=0xce;}_0x332d1f['status'](_0x360034);return _0x332d1f[_0xade5('0x2b')](_0xade5('0x2c'),_0x5dc34d+'-'+_0x1cd891+'/'+_0x25c141)[_0xade5('0x2d')](_0x3d3bce);}return null;};}function patchUpdates(_0x1373d6){return function(_0x555b2d){try{jsonpatch['apply'](_0x555b2d,_0x1373d6,!![]);}catch(_0x23d3b2){return BPromise[_0xade5('0x2e')](_0x23d3b2);}return _0x555b2d[_0xade5('0x2f')]();};}function saveUpdates(_0x68cd86,_0x2fdac2){return function(_0x4668f0){if(_0x4668f0){return _0x4668f0['update'](_0x68cd86)[_0xade5('0x1d')](function(_0x27f5c8){return _0x27f5c8;});}return null;};}function removeEntity(_0x41c449,_0x527ca9){return function(_0xb332ee){if(_0xb332ee){return _0xb332ee[_0xade5('0x30')]()[_0xade5('0x1d')](function(){_0x41c449[_0xade5('0x28')](0xcc)[_0xade5('0x29')]();});}};}function handleEntityNotFound(_0x3dd61f,_0x198f32){return function(_0x3b1464){if(!_0x3b1464){_0x3dd61f[_0xade5('0x27')](0x194);}return _0x3b1464;};}function handleError(_0x10f43a,_0x1d5941){_0x1d5941=_0x1d5941||0x1f4;return function(_0xedceac){logger['error'](_0xedceac[_0xade5('0x31')]);if(_0xedceac[_0xade5('0x32')]){delete _0xedceac['name'];}_0x10f43a[_0xade5('0x28')](_0x1d5941)[_0xade5('0x33')](_0xedceac);};}exports['index']=function(_0x39018e,_0x367f60){var _0xff0f5a={},_0x2a4936={},_0x2fcf93={'count':0x0,'rows':[]};var _0x319f7d=_['map'](db[_0xade5('0x34')]['rawAttributes'],function(_0x29eed7){return{'name':_0x29eed7['fieldName'],'type':_0x29eed7[_0xade5('0x35')]['key']};});_0x2a4936[_0xade5('0x36')]=_[_0xade5('0x37')](_0x319f7d,_0xade5('0x32'));_0x2a4936[_0xade5('0x38')]=_[_0xade5('0x39')](_0x39018e[_0xade5('0x38')]);_0x2a4936['filters']=_[_0xade5('0x3a')](_0x2a4936[_0xade5('0x36')],_0x2a4936[_0xade5('0x38')]);_0xff0f5a[_0xade5('0x3b')]=_[_0xade5('0x3a')](_0x2a4936[_0xade5('0x36')],qs[_0xade5('0x3c')](_0x39018e[_0xade5('0x38')][_0xade5('0x3c')]));_0xff0f5a[_0xade5('0x3b')]=_0xff0f5a[_0xade5('0x3b')][_0xade5('0x3d')]?_0xff0f5a[_0xade5('0x3b')]:_0x2a4936[_0xade5('0x36')];if(!_0x39018e[_0xade5('0x38')][_0xade5('0x3e')]('nolimit')){_0xff0f5a[_0xade5('0x3f')]=qs[_0xade5('0x3f')](_0x39018e[_0xade5('0x38')][_0xade5('0x3f')]);_0xff0f5a['offset']=qs[_0xade5('0x2a')](_0x39018e[_0xade5('0x38')][_0xade5('0x2a')]);}_0xff0f5a[_0xade5('0x40')]=qs[_0xade5('0x41')](_0x39018e[_0xade5('0x38')]['sort']);_0xff0f5a[_0xade5('0x42')]=qs['filters'](_[_0xade5('0x43')](_0x39018e[_0xade5('0x38')],_0x2a4936[_0xade5('0x44')]),_0x319f7d);if(_0x39018e['query'][_0xade5('0x45')]){_0xff0f5a[_0xade5('0x42')]=_[_0xade5('0x46')](_0xff0f5a[_0xade5('0x42')],{'$or':_[_0xade5('0x37')](_0x319f7d,function(_0x3d119b){if(_0x3d119b[_0xade5('0x35')]!=='VIRTUAL'){var _0xc48578={};_0xc48578[_0x3d119b[_0xade5('0x32')]]={'$like':'%'+_0x39018e['query'][_0xade5('0x45')]+'%'};return _0xc48578;}})});}_0xff0f5a=_[_0xade5('0x46')]({},_0xff0f5a,_0x39018e[_0xade5('0x47')]);var _0x3a6efe={'where':_0xff0f5a[_0xade5('0x42')]};return db['ServicenowConfiguration']['count'](_0x3a6efe)['then'](function(_0x26533f){_0x2fcf93[_0xade5('0x48')]=_0x26533f;if(_0x39018e[_0xade5('0x38')][_0xade5('0x49')]){_0xff0f5a['include']=[{'all':!![]}];}return db[_0xade5('0x34')][_0xade5('0x4a')](_0xff0f5a);})['then'](function(_0x250855){_0x2fcf93['rows']=_0x250855;return _0x2fcf93;})[_0xade5('0x1d')](respondWithFilteredResult(_0x367f60,_0xff0f5a))['catch'](handleError(_0x367f60,null));};exports['show']=function(_0x53b4e4,_0xbcbfbe){var _0x2698cf={'raw':![],'where':{'id':_0x53b4e4[_0xade5('0x4b')]['id']}},_0x4ebfcd={};_0x4ebfcd[_0xade5('0x36')]=_['keys'](db[_0xade5('0x34')][_0xade5('0x4c')]);_0x4ebfcd[_0xade5('0x38')]=_[_0xade5('0x39')](_0x53b4e4[_0xade5('0x38')]);_0x4ebfcd['filters']=_[_0xade5('0x3a')](_0x4ebfcd[_0xade5('0x36')],_0x4ebfcd[_0xade5('0x38')]);_0x2698cf['attributes']=_['intersection'](_0x4ebfcd[_0xade5('0x36')],qs[_0xade5('0x3c')](_0x53b4e4[_0xade5('0x38')][_0xade5('0x3c')]));_0x2698cf['attributes']=_0x2698cf[_0xade5('0x3b')][_0xade5('0x3d')]?_0x2698cf['attributes']:_0x4ebfcd['model'];if(_0x53b4e4['query'][_0xade5('0x49')]){_0x2698cf[_0xade5('0x4d')]=[{'all':!![]}];}_0x2698cf=_[_0xade5('0x46')]({},_0x2698cf,_0x53b4e4[_0xade5('0x47')]);return db['ServicenowConfiguration'][_0xade5('0x4e')](_0x2698cf)['then'](handleEntityNotFound(_0xbcbfbe,null))[_0xade5('0x1d')](respondWithResult(_0xbcbfbe,null))['catch'](handleError(_0xbcbfbe,null));};exports['create']=function(_0x717d9,_0x183cc5){return db[_0xade5('0x34')]['create'](_0x717d9['body'],{})[_0xade5('0x1d')](respondWithResult(_0x183cc5,0xc9))[_0xade5('0x4f')](handleError(_0x183cc5,null));};exports[_0xade5('0x50')]=function(_0x2eac03,_0x50cf3b){if(_0x2eac03[_0xade5('0x51')]['id']){delete _0x2eac03['body']['id'];}return db['ServicenowConfiguration'][_0xade5('0x4e')]({'where':{'id':_0x2eac03[_0xade5('0x4b')]['id']}})['then'](handleEntityNotFound(_0x50cf3b,null))[_0xade5('0x1d')](saveUpdates(_0x2eac03[_0xade5('0x51')],null))[_0xade5('0x1d')](respondWithResult(_0x50cf3b,null))[_0xade5('0x4f')](handleError(_0x50cf3b,null));};exports[_0xade5('0x30')]=function(_0x27908b,_0x3bf42f){return db[_0xade5('0x34')][_0xade5('0x4e')]({'where':{'id':_0x27908b[_0xade5('0x4b')]['id']}})['then'](handleEntityNotFound(_0x3bf42f,null))[_0xade5('0x1d')](removeEntity(_0x3bf42f,null))[_0xade5('0x4f')](handleError(_0x3bf42f,null));};exports['getFields']=function(_0x31f24c,_0x3efc64,_0x2f97e2){var _0x31b6b8={};var _0x124f8d={};var _0x5dd86d;var _0x234c44;return db[_0xade5('0x34')][_0xade5('0x52')]({'where':{'id':_0x31f24c['params']['id']}})[_0xade5('0x1d')](handleEntityNotFound(_0x3efc64,null))[_0xade5('0x1d')](function(_0x3c0432){if(_0x3c0432){_0x5dd86d=_0x3c0432;_0x124f8d[_0xade5('0x36')]=_[_0xade5('0x39')](db[_0xade5('0x53')]['rawAttributes']);_0x124f8d[_0xade5('0x38')]=_[_0xade5('0x39')](_0x31f24c[_0xade5('0x38')]);_0x124f8d[_0xade5('0x44')]=_[_0xade5('0x3a')](_0x124f8d[_0xade5('0x36')],_0x124f8d['query']);_0x31b6b8[_0xade5('0x3b')]=_[_0xade5('0x3a')](_0x124f8d[_0xade5('0x36')],qs[_0xade5('0x3c')](_0x31f24c[_0xade5('0x38')]['fields']));_0x31b6b8[_0xade5('0x3b')]=_0x31b6b8[_0xade5('0x3b')][_0xade5('0x3d')]?_0x31b6b8[_0xade5('0x3b')]:_0x124f8d[_0xade5('0x36')];_0x31b6b8[_0xade5('0x40')]=qs[_0xade5('0x41')](_0x31f24c[_0xade5('0x38')][_0xade5('0x41')]);_0x31b6b8[_0xade5('0x42')]=qs['filters'](_['pick'](_0x31f24c['query'],_0x124f8d[_0xade5('0x44')]));if(_0x31f24c[_0xade5('0x38')][_0xade5('0x45')]){_0x31b6b8[_0xade5('0x42')]=_[_0xade5('0x46')](_0x31b6b8[_0xade5('0x42')],{'$or':_[_0xade5('0x37')](_0x31b6b8[_0xade5('0x3b')],function(_0x187ba2){var _0x176a0e={};_0x176a0e[_0x187ba2]={'$like':'%'+_0x31f24c['query'][_0xade5('0x45')]+'%'};return _0x176a0e;})});}_0x31b6b8=_[_0xade5('0x46')]({},_0x31b6b8,_0x31f24c[_0xade5('0x47')]);return _0x5dd86d[_0xade5('0x54')](_0x31b6b8);}})[_0xade5('0x1d')](function(_0x1d2577){if(_0x1d2577){_0x234c44=_0x1d2577[_0xade5('0x3d')];if(!_0x31f24c[_0xade5('0x38')][_0xade5('0x3e')](_0xade5('0x55'))){_0x31b6b8[_0xade5('0x3f')]=qs['limit'](_0x31f24c[_0xade5('0x38')][_0xade5('0x3f')]);_0x31b6b8[_0xade5('0x2a')]=qs[_0xade5('0x2a')](_0x31f24c[_0xade5('0x38')][_0xade5('0x2a')]);}return _0x5dd86d[_0xade5('0x54')](_0x31b6b8);}})['then'](function(_0x230a9b){if(_0x230a9b){return _0x230a9b?{'count':_0x234c44,'rows':_0x230a9b}:null;}})[_0xade5('0x1d')](respondWithResult(_0x3efc64,null))[_0xade5('0x4f')](handleError(_0x3efc64,null));};exports['getSubjects']=function(_0x307e57,_0x5afba9,_0x4513df){var _0x4b59e3={};var _0x47ce34={};var _0x3a80ed;var _0x565260;return db[_0xade5('0x34')]['findOne']({'where':{'id':_0x307e57['params']['id']}})[_0xade5('0x1d')](handleEntityNotFound(_0x5afba9,null))['then'](function(_0x16a54b){if(_0x16a54b){_0x3a80ed=_0x16a54b;_0x47ce34['model']=_[_0xade5('0x39')](db[_0xade5('0x53')]['rawAttributes']);_0x47ce34[_0xade5('0x38')]=_[_0xade5('0x39')](_0x307e57[_0xade5('0x38')]);_0x47ce34[_0xade5('0x44')]=_[_0xade5('0x3a')](_0x47ce34['model'],_0x47ce34[_0xade5('0x38')]);_0x4b59e3[_0xade5('0x3b')]=_[_0xade5('0x3a')](_0x47ce34[_0xade5('0x36')],qs['fields'](_0x307e57['query']['fields']));_0x4b59e3['attributes']=_0x4b59e3['attributes'][_0xade5('0x3d')]?_0x4b59e3['attributes']:_0x47ce34[_0xade5('0x36')];_0x4b59e3[_0xade5('0x40')]=qs[_0xade5('0x41')](_0x307e57[_0xade5('0x38')][_0xade5('0x41')]);_0x4b59e3[_0xade5('0x42')]=qs['filters'](_['pick'](_0x307e57['query'],_0x47ce34[_0xade5('0x44')]));if(_0x307e57[_0xade5('0x38')][_0xade5('0x45')]){_0x4b59e3[_0xade5('0x42')]=_[_0xade5('0x46')](_0x4b59e3[_0xade5('0x42')],{'$or':_['map'](_0x4b59e3[_0xade5('0x3b')],function(_0x4475f8){var _0x5411e0={};_0x5411e0[_0x4475f8]={'$like':'%'+_0x307e57['query'][_0xade5('0x45')]+'%'};return _0x5411e0;})});}_0x4b59e3=_[_0xade5('0x46')]({},_0x4b59e3,_0x307e57[_0xade5('0x47')]);return _0x3a80ed[_0xade5('0x56')](_0x4b59e3);}})[_0xade5('0x1d')](function(_0x30e2cd){if(_0x30e2cd){_0x565260=_0x30e2cd[_0xade5('0x3d')];if(!_0x307e57['query'][_0xade5('0x3e')]('nolimit')){_0x4b59e3['limit']=qs['limit'](_0x307e57['query'][_0xade5('0x3f')]);_0x4b59e3[_0xade5('0x2a')]=qs[_0xade5('0x2a')](_0x307e57[_0xade5('0x38')][_0xade5('0x2a')]);}return _0x3a80ed[_0xade5('0x56')](_0x4b59e3);}})[_0xade5('0x1d')](function(_0x4e2dd4){if(_0x4e2dd4){return _0x4e2dd4?{'count':_0x565260,'rows':_0x4e2dd4}:null;}})['then'](respondWithResult(_0x5afba9,null))[_0xade5('0x4f')](handleError(_0x5afba9,null));};exports['getDescriptions']=function(_0x2fad44,_0xe111c,_0x4831aa){var _0x200468={};var _0x304e24={};var _0x218725;var _0x2d1ef1;return db[_0xade5('0x34')]['findOne']({'where':{'id':_0x2fad44[_0xade5('0x4b')]['id']}})['then'](handleEntityNotFound(_0xe111c,null))[_0xade5('0x1d')](function(_0x342e41){if(_0x342e41){_0x218725=_0x342e41;_0x304e24[_0xade5('0x36')]=_[_0xade5('0x39')](db[_0xade5('0x53')][_0xade5('0x4c')]);_0x304e24[_0xade5('0x38')]=_['keys'](_0x2fad44[_0xade5('0x38')]);_0x304e24[_0xade5('0x44')]=_['intersection'](_0x304e24[_0xade5('0x36')],_0x304e24[_0xade5('0x38')]);_0x200468[_0xade5('0x3b')]=_[_0xade5('0x3a')](_0x304e24[_0xade5('0x36')],qs[_0xade5('0x3c')](_0x2fad44[_0xade5('0x38')][_0xade5('0x3c')]));_0x200468[_0xade5('0x3b')]=_0x200468[_0xade5('0x3b')][_0xade5('0x3d')]?_0x200468[_0xade5('0x3b')]:_0x304e24[_0xade5('0x36')];_0x200468['order']=qs[_0xade5('0x41')](_0x2fad44[_0xade5('0x38')]['sort']);_0x200468[_0xade5('0x42')]=qs[_0xade5('0x44')](_[_0xade5('0x43')](_0x2fad44[_0xade5('0x38')],_0x304e24['filters']));if(_0x2fad44[_0xade5('0x38')][_0xade5('0x45')]){_0x200468['where']=_[_0xade5('0x46')](_0x200468[_0xade5('0x42')],{'$or':_[_0xade5('0x37')](_0x200468[_0xade5('0x3b')],function(_0x185c86){var _0x4c22aa={};_0x4c22aa[_0x185c86]={'$like':'%'+_0x2fad44[_0xade5('0x38')]['filter']+'%'};return _0x4c22aa;})});}_0x200468=_[_0xade5('0x46')]({},_0x200468,_0x2fad44[_0xade5('0x47')]);return _0x218725[_0xade5('0x57')](_0x200468);}})['then'](function(_0x440176){if(_0x440176){_0x2d1ef1=_0x440176[_0xade5('0x3d')];if(!_0x2fad44['query'][_0xade5('0x3e')]('nolimit')){_0x200468['limit']=qs[_0xade5('0x3f')](_0x2fad44['query']['limit']);_0x200468['offset']=qs[_0xade5('0x2a')](_0x2fad44['query'][_0xade5('0x2a')]);}return _0x218725[_0xade5('0x57')](_0x200468);}})[_0xade5('0x1d')](function(_0x1bdfff){if(_0x1bdfff){return _0x1bdfff?{'count':_0x2d1ef1,'rows':_0x1bdfff}:null;}})[_0xade5('0x1d')](respondWithResult(_0xe111c,null))[_0xade5('0x4f')](handleError(_0xe111c,null));};