Built motion from commit f7863d46.|2.5.41
[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 _0xb5c4=['rawAttributes','fieldName','type','query','keys','filters','attributes','intersection','model','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','ServicenowConfiguration','includeAll','include','findAll','catch','show','params','create','body','find','destroy','getFields','ServicenowField','nolimit','getSubjects','findOne','getDescriptions','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','save','update','then','error','stack','name','send','index','map'];(function(_0x48dfa6,_0x3f20a5){var _0x34a471=function(_0x487ad4){while(--_0x487ad4){_0x48dfa6['push'](_0x48dfa6['shift']());}};_0x34a471(++_0x3f20a5);}(_0xb5c4,0x161));var _0x4b5c=function(_0x5cd2ab,_0x2d162b){_0x5cd2ab=_0x5cd2ab-0x0;var _0x4663db=_0xb5c4[_0x5cd2ab];return _0x4663db;};'use strict';var emlformat=require(_0x4b5c('0x0'));var rimraf=require(_0x4b5c('0x1'));var zipdir=require(_0x4b5c('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x4b5c('0x3'));var BPromise=require(_0x4b5c('0x4'));var Mustache=require(_0x4b5c('0x5'));var util=require(_0x4b5c('0x6'));var path=require(_0x4b5c('0x7'));var sox=require(_0x4b5c('0x8'));var csv=require(_0x4b5c('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4b5c('0xa'));var _=require('lodash');var squel=require(_0x4b5c('0xb'));var crypto=require(_0x4b5c('0xc'));var jsforce=require(_0x4b5c('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x4b5c('0x9'));var querystring=require('querystring');var Papa=require(_0x4b5c('0xe'));var Redis=require(_0x4b5c('0xf'));var authService=require(_0x4b5c('0x10'));var qs=require(_0x4b5c('0x11'));var as=require(_0x4b5c('0x12'));var hardwareService=require(_0x4b5c('0x13'));var logger=require(_0x4b5c('0x14'))(_0x4b5c('0x15'));var utils=require('../../config/utils');var config=require(_0x4b5c('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x4b5c('0x17'))['db'];function respondWithStatusCode(_0xff6ef5,_0xe42660){_0xe42660=_0xe42660||0xcc;return function(_0x2da866){if(_0x2da866){return _0xff6ef5[_0x4b5c('0x18')](_0xe42660);}return _0xff6ef5[_0x4b5c('0x19')](_0xe42660)[_0x4b5c('0x1a')]();};}function respondWithResult(_0x17a575,_0x4f347a){_0x4f347a=_0x4f347a||0xc8;return function(_0x48a661){if(_0x48a661){return _0x17a575['status'](_0x4f347a)[_0x4b5c('0x1b')](_0x48a661);}};}function respondWithFilteredResult(_0x15c0c3,_0x3f16b5){return function(_0x7dfcd8){if(_0x7dfcd8){var _0x3c275d=typeof _0x3f16b5[_0x4b5c('0x1c')]===_0x4b5c('0x1d')&&typeof _0x3f16b5[_0x4b5c('0x1e')]===_0x4b5c('0x1d');var _0x276f19=_0x7dfcd8[_0x4b5c('0x1f')];var _0x3f07ca=_0x3c275d?0x0:_0x3f16b5['offset'];var _0x5cf4df=_0x3c275d?_0x7dfcd8[_0x4b5c('0x1f')]:_0x3f16b5[_0x4b5c('0x1c')]+_0x3f16b5[_0x4b5c('0x1e')];var _0x5f223a;if(_0x5cf4df>=_0x276f19){_0x5cf4df=_0x276f19;_0x5f223a=0xc8;}else{_0x5f223a=0xce;}_0x15c0c3[_0x4b5c('0x19')](_0x5f223a);return _0x15c0c3[_0x4b5c('0x20')]('Content-Range',_0x3f07ca+'-'+_0x5cf4df+'/'+_0x276f19)[_0x4b5c('0x1b')](_0x7dfcd8);}return null;};}function patchUpdates(_0xd69842){return function(_0x583bfd){try{jsonpatch['apply'](_0x583bfd,_0xd69842,!![]);}catch(_0x216ad0){return BPromise['reject'](_0x216ad0);}return _0x583bfd[_0x4b5c('0x21')]();};}function saveUpdates(_0x3e486f,_0x50fa7f){return function(_0x2f18ae){if(_0x2f18ae){return _0x2f18ae[_0x4b5c('0x22')](_0x3e486f)[_0x4b5c('0x23')](function(_0x31762d){return _0x31762d;});}return null;};}function removeEntity(_0xe9bb99,_0x300924){return function(_0x21e649){if(_0x21e649){return _0x21e649['destroy']()[_0x4b5c('0x23')](function(){_0xe9bb99[_0x4b5c('0x19')](0xcc)[_0x4b5c('0x1a')]();});}};}function handleEntityNotFound(_0x274cde,_0x88aa8c){return function(_0x30c07c){if(!_0x30c07c){_0x274cde['sendStatus'](0x194);}return _0x30c07c;};}function handleError(_0x2c68aa,_0x29792d){_0x29792d=_0x29792d||0x1f4;return function(_0x28761f){logger[_0x4b5c('0x24')](_0x28761f[_0x4b5c('0x25')]);if(_0x28761f[_0x4b5c('0x26')]){delete _0x28761f[_0x4b5c('0x26')];}_0x2c68aa['status'](_0x29792d)[_0x4b5c('0x27')](_0x28761f);};}exports[_0x4b5c('0x28')]=function(_0x5a08fe,_0x38d620){var _0x45f497={},_0x4d09de={},_0x4e5337={'count':0x0,'rows':[]};var _0x161f49=_[_0x4b5c('0x29')](db['ServicenowConfiguration'][_0x4b5c('0x2a')],function(_0x5753d8){return{'name':_0x5753d8[_0x4b5c('0x2b')],'type':_0x5753d8[_0x4b5c('0x2c')]['key']};});_0x4d09de['model']=_[_0x4b5c('0x29')](_0x161f49,_0x4b5c('0x26'));_0x4d09de[_0x4b5c('0x2d')]=_[_0x4b5c('0x2e')](_0x5a08fe['query']);_0x4d09de[_0x4b5c('0x2f')]=_['intersection'](_0x4d09de['model'],_0x4d09de[_0x4b5c('0x2d')]);_0x45f497[_0x4b5c('0x30')]=_[_0x4b5c('0x31')](_0x4d09de[_0x4b5c('0x32')],qs[_0x4b5c('0x33')](_0x5a08fe[_0x4b5c('0x2d')][_0x4b5c('0x33')]));_0x45f497['attributes']=_0x45f497['attributes'][_0x4b5c('0x34')]?_0x45f497[_0x4b5c('0x30')]:_0x4d09de[_0x4b5c('0x32')];if(!_0x5a08fe['query'][_0x4b5c('0x35')]('nolimit')){_0x45f497[_0x4b5c('0x1e')]=qs[_0x4b5c('0x1e')](_0x5a08fe[_0x4b5c('0x2d')][_0x4b5c('0x1e')]);_0x45f497[_0x4b5c('0x1c')]=qs[_0x4b5c('0x1c')](_0x5a08fe[_0x4b5c('0x2d')][_0x4b5c('0x1c')]);}_0x45f497[_0x4b5c('0x36')]=qs[_0x4b5c('0x37')](_0x5a08fe['query']['sort']);_0x45f497[_0x4b5c('0x38')]=qs['filters'](_[_0x4b5c('0x39')](_0x5a08fe[_0x4b5c('0x2d')],_0x4d09de[_0x4b5c('0x2f')]),_0x161f49);if(_0x5a08fe[_0x4b5c('0x2d')][_0x4b5c('0x3a')]){_0x45f497['where']=_[_0x4b5c('0x3b')](_0x45f497[_0x4b5c('0x38')],{'$or':_[_0x4b5c('0x29')](_0x161f49,function(_0x117a50){if(_0x117a50[_0x4b5c('0x2c')]!==_0x4b5c('0x3c')){var _0x156f18={};_0x156f18[_0x117a50[_0x4b5c('0x26')]]={'$like':'%'+_0x5a08fe[_0x4b5c('0x2d')][_0x4b5c('0x3a')]+'%'};return _0x156f18;}})});}_0x45f497=_[_0x4b5c('0x3b')]({},_0x45f497,_0x5a08fe[_0x4b5c('0x3d')]);var _0x42c00d={'where':_0x45f497[_0x4b5c('0x38')]};return db[_0x4b5c('0x3e')][_0x4b5c('0x1f')](_0x42c00d)[_0x4b5c('0x23')](function(_0x5babf4){_0x4e5337[_0x4b5c('0x1f')]=_0x5babf4;if(_0x5a08fe[_0x4b5c('0x2d')][_0x4b5c('0x3f')]){_0x45f497[_0x4b5c('0x40')]=[{'all':!![]}];}return db[_0x4b5c('0x3e')][_0x4b5c('0x41')](_0x45f497);})[_0x4b5c('0x23')](function(_0x526204){_0x4e5337['rows']=_0x526204;return _0x4e5337;})['then'](respondWithFilteredResult(_0x38d620,_0x45f497))[_0x4b5c('0x42')](handleError(_0x38d620,null));};exports[_0x4b5c('0x43')]=function(_0x134c56,_0x5120b8){var _0xfe6976={'raw':![],'where':{'id':_0x134c56[_0x4b5c('0x44')]['id']}},_0x4ee458={};_0x4ee458['model']=_[_0x4b5c('0x2e')](db[_0x4b5c('0x3e')]['rawAttributes']);_0x4ee458[_0x4b5c('0x2d')]=_[_0x4b5c('0x2e')](_0x134c56[_0x4b5c('0x2d')]);_0x4ee458[_0x4b5c('0x2f')]=_[_0x4b5c('0x31')](_0x4ee458['model'],_0x4ee458[_0x4b5c('0x2d')]);_0xfe6976['attributes']=_[_0x4b5c('0x31')](_0x4ee458['model'],qs[_0x4b5c('0x33')](_0x134c56[_0x4b5c('0x2d')][_0x4b5c('0x33')]));_0xfe6976[_0x4b5c('0x30')]=_0xfe6976['attributes'][_0x4b5c('0x34')]?_0xfe6976[_0x4b5c('0x30')]:_0x4ee458[_0x4b5c('0x32')];if(_0x134c56[_0x4b5c('0x2d')][_0x4b5c('0x3f')]){_0xfe6976[_0x4b5c('0x40')]=[{'all':!![]}];}_0xfe6976=_[_0x4b5c('0x3b')]({},_0xfe6976,_0x134c56[_0x4b5c('0x3d')]);return db[_0x4b5c('0x3e')]['find'](_0xfe6976)['then'](handleEntityNotFound(_0x5120b8,null))[_0x4b5c('0x23')](respondWithResult(_0x5120b8,null))[_0x4b5c('0x42')](handleError(_0x5120b8,null));};exports[_0x4b5c('0x45')]=function(_0x5020c7,_0x2573b4){return db[_0x4b5c('0x3e')][_0x4b5c('0x45')](_0x5020c7[_0x4b5c('0x46')],{})[_0x4b5c('0x23')](respondWithResult(_0x2573b4,0xc9))[_0x4b5c('0x42')](handleError(_0x2573b4,null));};exports[_0x4b5c('0x22')]=function(_0x58bab6,_0x562e67){if(_0x58bab6[_0x4b5c('0x46')]['id']){delete _0x58bab6[_0x4b5c('0x46')]['id'];}return db[_0x4b5c('0x3e')][_0x4b5c('0x47')]({'where':{'id':_0x58bab6['params']['id']}})['then'](handleEntityNotFound(_0x562e67,null))[_0x4b5c('0x23')](saveUpdates(_0x58bab6[_0x4b5c('0x46')],null))[_0x4b5c('0x23')](respondWithResult(_0x562e67,null))[_0x4b5c('0x42')](handleError(_0x562e67,null));};exports[_0x4b5c('0x48')]=function(_0x523a4b,_0x3e7531){return db['ServicenowConfiguration'][_0x4b5c('0x47')]({'where':{'id':_0x523a4b[_0x4b5c('0x44')]['id']}})[_0x4b5c('0x23')](handleEntityNotFound(_0x3e7531,null))['then'](removeEntity(_0x3e7531,null))[_0x4b5c('0x42')](handleError(_0x3e7531,null));};exports[_0x4b5c('0x49')]=function(_0x27b017,_0x38a618,_0x2dfbfd){var _0x4a75a0={};var _0x5d4f92={};var _0x1932e7;var _0x5333f4;return db['ServicenowConfiguration']['findOne']({'where':{'id':_0x27b017[_0x4b5c('0x44')]['id']}})[_0x4b5c('0x23')](handleEntityNotFound(_0x38a618,null))[_0x4b5c('0x23')](function(_0x1116b7){if(_0x1116b7){_0x1932e7=_0x1116b7;_0x5d4f92[_0x4b5c('0x32')]=_['keys'](db[_0x4b5c('0x4a')]['rawAttributes']);_0x5d4f92['query']=_[_0x4b5c('0x2e')](_0x27b017[_0x4b5c('0x2d')]);_0x5d4f92['filters']=_[_0x4b5c('0x31')](_0x5d4f92[_0x4b5c('0x32')],_0x5d4f92[_0x4b5c('0x2d')]);_0x4a75a0[_0x4b5c('0x30')]=_['intersection'](_0x5d4f92[_0x4b5c('0x32')],qs[_0x4b5c('0x33')](_0x27b017['query'][_0x4b5c('0x33')]));_0x4a75a0[_0x4b5c('0x30')]=_0x4a75a0[_0x4b5c('0x30')][_0x4b5c('0x34')]?_0x4a75a0[_0x4b5c('0x30')]:_0x5d4f92[_0x4b5c('0x32')];_0x4a75a0[_0x4b5c('0x36')]=qs[_0x4b5c('0x37')](_0x27b017['query'][_0x4b5c('0x37')]);_0x4a75a0['where']=qs[_0x4b5c('0x2f')](_['pick'](_0x27b017[_0x4b5c('0x2d')],_0x5d4f92[_0x4b5c('0x2f')]));if(_0x27b017[_0x4b5c('0x2d')]['filter']){_0x4a75a0[_0x4b5c('0x38')]=_[_0x4b5c('0x3b')](_0x4a75a0['where'],{'$or':_[_0x4b5c('0x29')](_0x4a75a0[_0x4b5c('0x30')],function(_0x12b645){var _0x582d53={};_0x582d53[_0x12b645]={'$like':'%'+_0x27b017[_0x4b5c('0x2d')][_0x4b5c('0x3a')]+'%'};return _0x582d53;})});}_0x4a75a0=_[_0x4b5c('0x3b')]({},_0x4a75a0,_0x27b017['options']);return _0x1932e7[_0x4b5c('0x49')](_0x4a75a0);}})[_0x4b5c('0x23')](function(_0x1f076d){if(_0x1f076d){_0x5333f4=_0x1f076d[_0x4b5c('0x34')];if(!_0x27b017['query'][_0x4b5c('0x35')](_0x4b5c('0x4b'))){_0x4a75a0['limit']=qs[_0x4b5c('0x1e')](_0x27b017[_0x4b5c('0x2d')]['limit']);_0x4a75a0[_0x4b5c('0x1c')]=qs[_0x4b5c('0x1c')](_0x27b017[_0x4b5c('0x2d')]['offset']);}return _0x1932e7[_0x4b5c('0x49')](_0x4a75a0);}})[_0x4b5c('0x23')](function(_0x2160b7){if(_0x2160b7){return _0x2160b7?{'count':_0x5333f4,'rows':_0x2160b7}:null;}})[_0x4b5c('0x23')](respondWithResult(_0x38a618,null))[_0x4b5c('0x42')](handleError(_0x38a618,null));};exports[_0x4b5c('0x4c')]=function(_0xf4ca42,_0x513f21,_0xfa2910){var _0x1a67c6={};var _0x39fab4={};var _0x1c59bc;var _0x12f6f2;return db[_0x4b5c('0x3e')][_0x4b5c('0x4d')]({'where':{'id':_0xf4ca42[_0x4b5c('0x44')]['id']}})[_0x4b5c('0x23')](handleEntityNotFound(_0x513f21,null))[_0x4b5c('0x23')](function(_0x556113){if(_0x556113){_0x1c59bc=_0x556113;_0x39fab4[_0x4b5c('0x32')]=_[_0x4b5c('0x2e')](db[_0x4b5c('0x4a')][_0x4b5c('0x2a')]);_0x39fab4[_0x4b5c('0x2d')]=_[_0x4b5c('0x2e')](_0xf4ca42[_0x4b5c('0x2d')]);_0x39fab4[_0x4b5c('0x2f')]=_[_0x4b5c('0x31')](_0x39fab4[_0x4b5c('0x32')],_0x39fab4[_0x4b5c('0x2d')]);_0x1a67c6[_0x4b5c('0x30')]=_[_0x4b5c('0x31')](_0x39fab4[_0x4b5c('0x32')],qs[_0x4b5c('0x33')](_0xf4ca42[_0x4b5c('0x2d')]['fields']));_0x1a67c6[_0x4b5c('0x30')]=_0x1a67c6[_0x4b5c('0x30')][_0x4b5c('0x34')]?_0x1a67c6[_0x4b5c('0x30')]:_0x39fab4[_0x4b5c('0x32')];_0x1a67c6['order']=qs[_0x4b5c('0x37')](_0xf4ca42[_0x4b5c('0x2d')][_0x4b5c('0x37')]);_0x1a67c6[_0x4b5c('0x38')]=qs['filters'](_['pick'](_0xf4ca42[_0x4b5c('0x2d')],_0x39fab4['filters']));if(_0xf4ca42[_0x4b5c('0x2d')][_0x4b5c('0x3a')]){_0x1a67c6['where']=_[_0x4b5c('0x3b')](_0x1a67c6['where'],{'$or':_[_0x4b5c('0x29')](_0x1a67c6[_0x4b5c('0x30')],function(_0x3a917d){var _0x36386c={};_0x36386c[_0x3a917d]={'$like':'%'+_0xf4ca42[_0x4b5c('0x2d')][_0x4b5c('0x3a')]+'%'};return _0x36386c;})});}_0x1a67c6=_[_0x4b5c('0x3b')]({},_0x1a67c6,_0xf4ca42[_0x4b5c('0x3d')]);return _0x1c59bc['getSubjects'](_0x1a67c6);}})['then'](function(_0x217bc6){if(_0x217bc6){_0x12f6f2=_0x217bc6['length'];if(!_0xf4ca42['query'][_0x4b5c('0x35')](_0x4b5c('0x4b'))){_0x1a67c6[_0x4b5c('0x1e')]=qs[_0x4b5c('0x1e')](_0xf4ca42[_0x4b5c('0x2d')][_0x4b5c('0x1e')]);_0x1a67c6[_0x4b5c('0x1c')]=qs[_0x4b5c('0x1c')](_0xf4ca42[_0x4b5c('0x2d')]['offset']);}return _0x1c59bc[_0x4b5c('0x4c')](_0x1a67c6);}})[_0x4b5c('0x23')](function(_0x57bc7f){if(_0x57bc7f){return _0x57bc7f?{'count':_0x12f6f2,'rows':_0x57bc7f}:null;}})[_0x4b5c('0x23')](respondWithResult(_0x513f21,null))[_0x4b5c('0x42')](handleError(_0x513f21,null));};exports[_0x4b5c('0x4e')]=function(_0x513b65,_0x636fe0,_0x12e3ed){var _0x5e53cf={};var _0x37f0b8={};var _0x3521c0;var _0x3ffa4f;return db[_0x4b5c('0x3e')][_0x4b5c('0x4d')]({'where':{'id':_0x513b65[_0x4b5c('0x44')]['id']}})[_0x4b5c('0x23')](handleEntityNotFound(_0x636fe0,null))[_0x4b5c('0x23')](function(_0xe2e188){if(_0xe2e188){_0x3521c0=_0xe2e188;_0x37f0b8[_0x4b5c('0x32')]=_[_0x4b5c('0x2e')](db['ServicenowField'][_0x4b5c('0x2a')]);_0x37f0b8[_0x4b5c('0x2d')]=_[_0x4b5c('0x2e')](_0x513b65['query']);_0x37f0b8['filters']=_[_0x4b5c('0x31')](_0x37f0b8['model'],_0x37f0b8[_0x4b5c('0x2d')]);_0x5e53cf[_0x4b5c('0x30')]=_[_0x4b5c('0x31')](_0x37f0b8[_0x4b5c('0x32')],qs[_0x4b5c('0x33')](_0x513b65[_0x4b5c('0x2d')][_0x4b5c('0x33')]));_0x5e53cf['attributes']=_0x5e53cf['attributes'][_0x4b5c('0x34')]?_0x5e53cf['attributes']:_0x37f0b8[_0x4b5c('0x32')];_0x5e53cf[_0x4b5c('0x36')]=qs[_0x4b5c('0x37')](_0x513b65[_0x4b5c('0x2d')][_0x4b5c('0x37')]);_0x5e53cf[_0x4b5c('0x38')]=qs[_0x4b5c('0x2f')](_[_0x4b5c('0x39')](_0x513b65[_0x4b5c('0x2d')],_0x37f0b8[_0x4b5c('0x2f')]));if(_0x513b65['query'][_0x4b5c('0x3a')]){_0x5e53cf['where']=_[_0x4b5c('0x3b')](_0x5e53cf[_0x4b5c('0x38')],{'$or':_[_0x4b5c('0x29')](_0x5e53cf[_0x4b5c('0x30')],function(_0x1556f5){var _0x4b5bd8={};_0x4b5bd8[_0x1556f5]={'$like':'%'+_0x513b65['query'][_0x4b5c('0x3a')]+'%'};return _0x4b5bd8;})});}_0x5e53cf=_[_0x4b5c('0x3b')]({},_0x5e53cf,_0x513b65['options']);return _0x3521c0['getDescriptions'](_0x5e53cf);}})[_0x4b5c('0x23')](function(_0x3fee85){if(_0x3fee85){_0x3ffa4f=_0x3fee85[_0x4b5c('0x34')];if(!_0x513b65[_0x4b5c('0x2d')][_0x4b5c('0x35')](_0x4b5c('0x4b'))){_0x5e53cf[_0x4b5c('0x1e')]=qs[_0x4b5c('0x1e')](_0x513b65[_0x4b5c('0x2d')]['limit']);_0x5e53cf[_0x4b5c('0x1c')]=qs[_0x4b5c('0x1c')](_0x513b65[_0x4b5c('0x2d')][_0x4b5c('0x1c')]);}return _0x3521c0[_0x4b5c('0x4e')](_0x5e53cf);}})[_0x4b5c('0x23')](function(_0x1c0097){if(_0x1c0097){return _0x1c0097?{'count':_0x3ffa4f,'rows':_0x1c0097}:null;}})['then'](respondWithResult(_0x636fe0,null))[_0x4b5c('0x42')](handleError(_0x636fe0,null));};