Built motion from commit (unavailable).|2.5.9
[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 _0x5a55=['error','code','ServicenowConfiguration,\x20%s,\x20%s','message','info','result','catch','status','count','offset','limit','set','Content-Range','json','apply','reject','update','destroy','sendStatus','stack','name','send','index','map','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','filter','options','ServicenowConfiguration','findAll','rows','show','params','rawAttributes','includeAll','create','body','find','getFields','findOne','getSubjects','ServicenowField','getDescriptions','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','request','then','request\x20sent','debug','ServicenowConfiguration,\x20%s,\x20%s,\x20%s'];(function(_0x434ab9,_0x2c3eef){var _0x2ca0d9=function(_0x1bf939){while(--_0x1bf939){_0x434ab9['push'](_0x434ab9['shift']());}};_0x2ca0d9(++_0x2c3eef);}(_0x5a55,0x1a1));var _0x55a5=function(_0x4695ba,_0x5a7f2a){_0x4695ba=_0x4695ba-0x0;var _0x524b7d=_0x5a55[_0x4695ba];return _0x524b7d;};'use strict';var pdf=require(_0x55a5('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x55a5('0x1'));var jsonpatch=require(_0x55a5('0x2'));var rp=require(_0x55a5('0x3'));var moment=require(_0x55a5('0x4'));var BPromise=require(_0x55a5('0x5'));var Mustache=require('mustache');var util=require(_0x55a5('0x6'));var path=require(_0x55a5('0x7'));var sox=require(_0x55a5('0x8'));var csv=require(_0x55a5('0x9'));var ejs=require(_0x55a5('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x55a5('0xb'));var crypto=require(_0x55a5('0xc'));var jsforce=require(_0x55a5('0xd'));var deskjs=require(_0x55a5('0xe'));var toCsv=require(_0x55a5('0x9'));var querystring=require('querystring');var Papa=require(_0x55a5('0xf'));var Redis=require(_0x55a5('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x55a5('0x11'));var as=require(_0x55a5('0x12'));var hardwareService=require(_0x55a5('0x13'));var logger=require(_0x55a5('0x14'))(_0x55a5('0x15'));var utils=require(_0x55a5('0x16'));var config=require(_0x55a5('0x17'));var licenseUtil=require(_0x55a5('0x18'));var db=require(_0x55a5('0x19'))['db'];var jayson=require(_0x55a5('0x1a'));var client=jayson[_0x55a5('0x1b')]['http']({'port':0x232a});function respondWithRpcPromise(_0x6c2a48,_0x364cd8,_0x27cf12,_0x1b8ffc){return new BPromise(function(_0x3be0c7,_0x448c69){var _0xcaf971=_0x1b8ffc||client;return _0xcaf971[_0x55a5('0x1c')](_0x6c2a48,_0x27cf12)[_0x55a5('0x1d')](function(_0x2905d5){logger['info']('ServicenowConfiguration,\x20%s,\x20%s',_0x364cd8,_0x55a5('0x1e'));logger[_0x55a5('0x1f')](_0x55a5('0x20'),_0x364cd8,'request\x20sent',JSON['stringify'](_0x2905d5));if(_0x2905d5[_0x55a5('0x21')]){if(_0x2905d5['error'][_0x55a5('0x22')]===0x1f4){logger['error'](_0x55a5('0x23'),_0x364cd8,_0x2905d5['error'][_0x55a5('0x24')]);return _0x448c69(_0x2905d5[_0x55a5('0x21')][_0x55a5('0x24')]);}logger[_0x55a5('0x21')](_0x55a5('0x23'),_0x364cd8,_0x2905d5[_0x55a5('0x21')][_0x55a5('0x24')]);return _0x3be0c7(_0x2905d5['error']['message']);}else{logger[_0x55a5('0x25')](_0x55a5('0x23'),_0x364cd8,_0x55a5('0x1e'));_0x3be0c7(_0x2905d5[_0x55a5('0x26')][_0x55a5('0x24')]);}})[_0x55a5('0x27')](function(_0x683303){logger[_0x55a5('0x21')](_0x55a5('0x23'),_0x364cd8,_0x683303);_0x448c69(_0x683303);});});}function respondWithStatusCode(_0x21e649,_0x1cf858){_0x1cf858=_0x1cf858||0xcc;return function(_0x481c42){if(_0x481c42){return _0x21e649['sendStatus'](_0x1cf858);}return _0x21e649[_0x55a5('0x28')](_0x1cf858)['end']();};}function respondWithResult(_0x30d276,_0x41177a){_0x41177a=_0x41177a||0xc8;return function(_0x5f1b22){if(_0x5f1b22){return _0x30d276[_0x55a5('0x28')](_0x41177a)['json'](_0x5f1b22);}};}function respondWithFilteredResult(_0xa6681e,_0x482278){return function(_0x368b32){if(_0x368b32){var _0x7348df=_0x368b32[_0x55a5('0x29')],_0x50e382=_0x482278[_0x55a5('0x2a')],_0x215159=_0x482278[_0x55a5('0x2a')]+_0x482278[_0x55a5('0x2b')],_0x469d20;if(_0x215159>=_0x7348df){_0x215159=_0x7348df;_0x469d20=0xc8;}else{_0x469d20=0xce;}_0xa6681e[_0x55a5('0x28')](_0x469d20);return _0xa6681e[_0x55a5('0x2c')](_0x55a5('0x2d'),_0x50e382+'-'+_0x215159+'/'+_0x7348df)[_0x55a5('0x2e')](_0x368b32);}return null;};}function patchUpdates(_0x3c7cae){return function(_0x26a7fd){try{jsonpatch[_0x55a5('0x2f')](_0x26a7fd,_0x3c7cae,!![]);}catch(_0x2dc916){return BPromise[_0x55a5('0x30')](_0x2dc916);}return _0x26a7fd['save']();};}function saveUpdates(_0x51d388,_0x4e536c){return function(_0x16de75){if(_0x16de75){return _0x16de75[_0x55a5('0x31')](_0x51d388)[_0x55a5('0x1d')](function(_0x56011e){return _0x56011e;});}return null;};}function removeEntity(_0x295dae,_0x482fa7){return function(_0x483305){if(_0x483305){return _0x483305[_0x55a5('0x32')]()[_0x55a5('0x1d')](function(){_0x295dae[_0x55a5('0x28')](0xcc)['end']();});}};}function handleEntityNotFound(_0x51f652,_0x7b6131){return function(_0x340574){if(!_0x340574){_0x51f652[_0x55a5('0x33')](0x194);}return _0x340574;};}function handleError(_0x3151f4,_0x27a14c){_0x27a14c=_0x27a14c||0x1f4;return function(_0x4fd51c){logger['error'](_0x4fd51c[_0x55a5('0x34')]);if(_0x4fd51c[_0x55a5('0x35')]){delete _0x4fd51c['name'];}_0x3151f4[_0x55a5('0x28')](_0x27a14c)[_0x55a5('0x36')](_0x4fd51c);};}exports[_0x55a5('0x37')]=function(_0x4c73af,_0x27a86e){var _0x7d65ee={},_0x49d241={},_0x343235={'count':0x0,'rows':[]};var _0x3f6c9f=_[_0x55a5('0x38')](db['ServicenowConfiguration']['rawAttributes'],function(_0x378297){return{'name':_0x378297['fieldName'],'type':_0x378297['type']['key']};});_0x49d241[_0x55a5('0x39')]=_[_0x55a5('0x38')](_0x3f6c9f,_0x55a5('0x35'));_0x49d241[_0x55a5('0x3a')]=_[_0x55a5('0x3b')](_0x4c73af[_0x55a5('0x3a')]);_0x49d241[_0x55a5('0x3c')]=_['intersection'](_0x49d241[_0x55a5('0x39')],_0x49d241[_0x55a5('0x3a')]);_0x7d65ee['attributes']=_[_0x55a5('0x3d')](_0x49d241[_0x55a5('0x39')],qs[_0x55a5('0x3e')](_0x4c73af['query'][_0x55a5('0x3e')]));_0x7d65ee[_0x55a5('0x3f')]=_0x7d65ee[_0x55a5('0x3f')][_0x55a5('0x40')]?_0x7d65ee[_0x55a5('0x3f')]:_0x49d241[_0x55a5('0x39')];if(!_0x4c73af[_0x55a5('0x3a')][_0x55a5('0x41')](_0x55a5('0x42'))){_0x7d65ee[_0x55a5('0x2b')]=qs['limit'](_0x4c73af[_0x55a5('0x3a')][_0x55a5('0x2b')]);_0x7d65ee[_0x55a5('0x2a')]=qs[_0x55a5('0x2a')](_0x4c73af[_0x55a5('0x3a')]['offset']);}_0x7d65ee[_0x55a5('0x43')]=qs[_0x55a5('0x44')](_0x4c73af[_0x55a5('0x3a')][_0x55a5('0x44')]);_0x7d65ee[_0x55a5('0x45')]=qs[_0x55a5('0x3c')](_[_0x55a5('0x46')](_0x4c73af['query'],_0x49d241[_0x55a5('0x3c')]),_0x3f6c9f);if(_0x4c73af[_0x55a5('0x3a')]['filter']){_0x7d65ee[_0x55a5('0x45')]=_[_0x55a5('0x47')](_0x7d65ee['where'],{'$or':_['map'](_0x3f6c9f,function(_0x13a816){if(_0x13a816[_0x55a5('0x48')]!=='VIRTUAL'){var _0x52a713={};_0x52a713[_0x13a816[_0x55a5('0x35')]]={'$like':'%'+_0x4c73af['query'][_0x55a5('0x49')]+'%'};return _0x52a713;}})});}_0x7d65ee=_[_0x55a5('0x47')]({},_0x7d65ee,_0x4c73af[_0x55a5('0x4a')]);var _0x358e00={'where':_0x7d65ee[_0x55a5('0x45')]};return db['ServicenowConfiguration'][_0x55a5('0x29')](_0x358e00)[_0x55a5('0x1d')](function(_0x1fbec0){_0x343235[_0x55a5('0x29')]=_0x1fbec0;if(_0x4c73af['query']['includeAll']){_0x7d65ee['include']=[{'all':!![]}];}return db[_0x55a5('0x4b')][_0x55a5('0x4c')](_0x7d65ee);})['then'](function(_0x33872e){_0x343235[_0x55a5('0x4d')]=_0x33872e;return _0x343235;})[_0x55a5('0x1d')](respondWithFilteredResult(_0x27a86e,_0x7d65ee))[_0x55a5('0x27')](handleError(_0x27a86e,null));};exports[_0x55a5('0x4e')]=function(_0x2af455,_0x26a50e){var _0x11942a={'raw':![],'where':{'id':_0x2af455[_0x55a5('0x4f')]['id']}},_0x812241={};_0x812241['model']=_[_0x55a5('0x3b')](db[_0x55a5('0x4b')][_0x55a5('0x50')]);_0x812241[_0x55a5('0x3a')]=_['keys'](_0x2af455[_0x55a5('0x3a')]);_0x812241[_0x55a5('0x3c')]=_[_0x55a5('0x3d')](_0x812241[_0x55a5('0x39')],_0x812241[_0x55a5('0x3a')]);_0x11942a[_0x55a5('0x3f')]=_[_0x55a5('0x3d')](_0x812241[_0x55a5('0x39')],qs[_0x55a5('0x3e')](_0x2af455['query'][_0x55a5('0x3e')]));_0x11942a['attributes']=_0x11942a['attributes']['length']?_0x11942a['attributes']:_0x812241['model'];if(_0x2af455['query'][_0x55a5('0x51')]){_0x11942a['include']=[{'all':!![]}];}_0x11942a=_[_0x55a5('0x47')]({},_0x11942a,_0x2af455[_0x55a5('0x4a')]);return db[_0x55a5('0x4b')]['find'](_0x11942a)[_0x55a5('0x1d')](handleEntityNotFound(_0x26a50e,null))[_0x55a5('0x1d')](respondWithResult(_0x26a50e,null))[_0x55a5('0x27')](handleError(_0x26a50e,null));};exports[_0x55a5('0x52')]=function(_0xae6b3a,_0x5a6c07){return db[_0x55a5('0x4b')][_0x55a5('0x52')](_0xae6b3a[_0x55a5('0x53')],{})['then'](respondWithResult(_0x5a6c07,0xc9))['catch'](handleError(_0x5a6c07,null));};exports[_0x55a5('0x31')]=function(_0x33cb82,_0x90a89a){if(_0x33cb82['body']['id']){delete _0x33cb82[_0x55a5('0x53')]['id'];}return db['ServicenowConfiguration'][_0x55a5('0x54')]({'where':{'id':_0x33cb82[_0x55a5('0x4f')]['id']}})[_0x55a5('0x1d')](handleEntityNotFound(_0x90a89a,null))[_0x55a5('0x1d')](saveUpdates(_0x33cb82[_0x55a5('0x53')],null))[_0x55a5('0x1d')](respondWithResult(_0x90a89a,null))[_0x55a5('0x27')](handleError(_0x90a89a,null));};exports[_0x55a5('0x32')]=function(_0x3074f6,_0x167d29){return db[_0x55a5('0x4b')]['find']({'where':{'id':_0x3074f6['params']['id']}})['then'](handleEntityNotFound(_0x167d29,null))[_0x55a5('0x1d')](removeEntity(_0x167d29,null))[_0x55a5('0x27')](handleError(_0x167d29,null));};exports[_0x55a5('0x55')]=function(_0x8a4d48,_0x5606ed,_0x52129c){var _0x587f4b={};var _0x55bd54={};var _0x3cba3d;var _0x16f4e9;return db[_0x55a5('0x4b')][_0x55a5('0x56')]({'where':{'id':_0x8a4d48[_0x55a5('0x4f')]['id']}})['then'](handleEntityNotFound(_0x5606ed,null))[_0x55a5('0x1d')](function(_0x45330b){if(_0x45330b){_0x3cba3d=_0x45330b;_0x55bd54['model']=_['keys'](db['ServicenowField'][_0x55a5('0x50')]);_0x55bd54['query']=_[_0x55a5('0x3b')](_0x8a4d48[_0x55a5('0x3a')]);_0x55bd54[_0x55a5('0x3c')]=_[_0x55a5('0x3d')](_0x55bd54[_0x55a5('0x39')],_0x55bd54['query']);_0x587f4b[_0x55a5('0x3f')]=_[_0x55a5('0x3d')](_0x55bd54['model'],qs['fields'](_0x8a4d48[_0x55a5('0x3a')]['fields']));_0x587f4b['attributes']=_0x587f4b['attributes'][_0x55a5('0x40')]?_0x587f4b['attributes']:_0x55bd54[_0x55a5('0x39')];_0x587f4b['order']=qs[_0x55a5('0x44')](_0x8a4d48[_0x55a5('0x3a')]['sort']);_0x587f4b[_0x55a5('0x45')]=qs[_0x55a5('0x3c')](_['pick'](_0x8a4d48[_0x55a5('0x3a')],_0x55bd54['filters']));if(_0x8a4d48[_0x55a5('0x3a')][_0x55a5('0x49')]){_0x587f4b[_0x55a5('0x45')]=_[_0x55a5('0x47')](_0x587f4b['where'],{'$or':_['map'](_0x587f4b[_0x55a5('0x3f')],function(_0x3ddd89){var _0x47aacc={};_0x47aacc[_0x3ddd89]={'$like':'%'+_0x8a4d48[_0x55a5('0x3a')][_0x55a5('0x49')]+'%'};return _0x47aacc;})});}_0x587f4b=_[_0x55a5('0x47')]({},_0x587f4b,_0x8a4d48[_0x55a5('0x4a')]);return _0x3cba3d[_0x55a5('0x55')](_0x587f4b);}})[_0x55a5('0x1d')](function(_0x45fefd){if(_0x45fefd){_0x16f4e9=_0x45fefd['length'];if(!_0x8a4d48['query']['hasOwnProperty'](_0x55a5('0x42'))){_0x587f4b[_0x55a5('0x2b')]=qs[_0x55a5('0x2b')](_0x8a4d48['query'][_0x55a5('0x2b')]);_0x587f4b[_0x55a5('0x2a')]=qs[_0x55a5('0x2a')](_0x8a4d48[_0x55a5('0x3a')][_0x55a5('0x2a')]);}return _0x3cba3d[_0x55a5('0x55')](_0x587f4b);}})['then'](function(_0x98f15a){if(_0x98f15a){return _0x98f15a?{'count':_0x16f4e9,'rows':_0x98f15a}:null;}})[_0x55a5('0x1d')](respondWithResult(_0x5606ed,null))['catch'](handleError(_0x5606ed,null));};exports[_0x55a5('0x57')]=function(_0x1a707a,_0x304e6d,_0xf9858e){var _0x51c95e={};var _0x2c3d4f={};var _0xb2a9fe;var _0x58739b;return db['ServicenowConfiguration']['findOne']({'where':{'id':_0x1a707a[_0x55a5('0x4f')]['id']}})[_0x55a5('0x1d')](handleEntityNotFound(_0x304e6d,null))[_0x55a5('0x1d')](function(_0x4b2c43){if(_0x4b2c43){_0xb2a9fe=_0x4b2c43;_0x2c3d4f[_0x55a5('0x39')]=_[_0x55a5('0x3b')](db[_0x55a5('0x58')]['rawAttributes']);_0x2c3d4f[_0x55a5('0x3a')]=_['keys'](_0x1a707a[_0x55a5('0x3a')]);_0x2c3d4f[_0x55a5('0x3c')]=_['intersection'](_0x2c3d4f[_0x55a5('0x39')],_0x2c3d4f['query']);_0x51c95e[_0x55a5('0x3f')]=_['intersection'](_0x2c3d4f['model'],qs[_0x55a5('0x3e')](_0x1a707a['query'][_0x55a5('0x3e')]));_0x51c95e['attributes']=_0x51c95e[_0x55a5('0x3f')][_0x55a5('0x40')]?_0x51c95e[_0x55a5('0x3f')]:_0x2c3d4f['model'];_0x51c95e[_0x55a5('0x43')]=qs['sort'](_0x1a707a[_0x55a5('0x3a')][_0x55a5('0x44')]);_0x51c95e[_0x55a5('0x45')]=qs[_0x55a5('0x3c')](_['pick'](_0x1a707a[_0x55a5('0x3a')],_0x2c3d4f['filters']));if(_0x1a707a[_0x55a5('0x3a')][_0x55a5('0x49')]){_0x51c95e[_0x55a5('0x45')]=_[_0x55a5('0x47')](_0x51c95e[_0x55a5('0x45')],{'$or':_['map'](_0x51c95e['attributes'],function(_0x497831){var _0x5ed864={};_0x5ed864[_0x497831]={'$like':'%'+_0x1a707a['query'][_0x55a5('0x49')]+'%'};return _0x5ed864;})});}_0x51c95e=_['merge']({},_0x51c95e,_0x1a707a['options']);return _0xb2a9fe[_0x55a5('0x57')](_0x51c95e);}})[_0x55a5('0x1d')](function(_0x42bcb7){if(_0x42bcb7){_0x58739b=_0x42bcb7[_0x55a5('0x40')];if(!_0x1a707a['query'][_0x55a5('0x41')](_0x55a5('0x42'))){_0x51c95e['limit']=qs[_0x55a5('0x2b')](_0x1a707a[_0x55a5('0x3a')][_0x55a5('0x2b')]);_0x51c95e[_0x55a5('0x2a')]=qs[_0x55a5('0x2a')](_0x1a707a['query']['offset']);}return _0xb2a9fe[_0x55a5('0x57')](_0x51c95e);}})[_0x55a5('0x1d')](function(_0x49c14f){if(_0x49c14f){return _0x49c14f?{'count':_0x58739b,'rows':_0x49c14f}:null;}})['then'](respondWithResult(_0x304e6d,null))[_0x55a5('0x27')](handleError(_0x304e6d,null));};exports['getDescriptions']=function(_0x6124c7,_0xb70b16,_0x57323f){var _0x4b274b={};var _0xccb1e8={};var _0x5cd7fd;var _0x5b2c95;return db[_0x55a5('0x4b')]['findOne']({'where':{'id':_0x6124c7['params']['id']}})[_0x55a5('0x1d')](handleEntityNotFound(_0xb70b16,null))['then'](function(_0x167d1c){if(_0x167d1c){_0x5cd7fd=_0x167d1c;_0xccb1e8[_0x55a5('0x39')]=_[_0x55a5('0x3b')](db[_0x55a5('0x58')][_0x55a5('0x50')]);_0xccb1e8[_0x55a5('0x3a')]=_[_0x55a5('0x3b')](_0x6124c7['query']);_0xccb1e8[_0x55a5('0x3c')]=_[_0x55a5('0x3d')](_0xccb1e8[_0x55a5('0x39')],_0xccb1e8[_0x55a5('0x3a')]);_0x4b274b['attributes']=_['intersection'](_0xccb1e8[_0x55a5('0x39')],qs[_0x55a5('0x3e')](_0x6124c7[_0x55a5('0x3a')][_0x55a5('0x3e')]));_0x4b274b['attributes']=_0x4b274b[_0x55a5('0x3f')][_0x55a5('0x40')]?_0x4b274b[_0x55a5('0x3f')]:_0xccb1e8['model'];_0x4b274b['order']=qs[_0x55a5('0x44')](_0x6124c7['query'][_0x55a5('0x44')]);_0x4b274b[_0x55a5('0x45')]=qs['filters'](_[_0x55a5('0x46')](_0x6124c7[_0x55a5('0x3a')],_0xccb1e8[_0x55a5('0x3c')]));if(_0x6124c7[_0x55a5('0x3a')]['filter']){_0x4b274b[_0x55a5('0x45')]=_[_0x55a5('0x47')](_0x4b274b[_0x55a5('0x45')],{'$or':_[_0x55a5('0x38')](_0x4b274b[_0x55a5('0x3f')],function(_0x4fdec8){var _0x27c507={};_0x27c507[_0x4fdec8]={'$like':'%'+_0x6124c7[_0x55a5('0x3a')][_0x55a5('0x49')]+'%'};return _0x27c507;})});}_0x4b274b=_[_0x55a5('0x47')]({},_0x4b274b,_0x6124c7[_0x55a5('0x4a')]);return _0x5cd7fd['getDescriptions'](_0x4b274b);}})[_0x55a5('0x1d')](function(_0x3d8022){if(_0x3d8022){_0x5b2c95=_0x3d8022[_0x55a5('0x40')];if(!_0x6124c7[_0x55a5('0x3a')][_0x55a5('0x41')](_0x55a5('0x42'))){_0x4b274b[_0x55a5('0x2b')]=qs[_0x55a5('0x2b')](_0x6124c7[_0x55a5('0x3a')][_0x55a5('0x2b')]);_0x4b274b[_0x55a5('0x2a')]=qs[_0x55a5('0x2a')](_0x6124c7[_0x55a5('0x3a')][_0x55a5('0x2a')]);}return _0x5cd7fd[_0x55a5('0x59')](_0x4b274b);}})['then'](function(_0x52e38e){if(_0x52e38e){return _0x52e38e?{'count':_0x5b2c95,'rows':_0x52e38e}:null;}})[_0x55a5('0x1d')](respondWithResult(_0xb70b16,null))[_0x55a5('0x27')](handleError(_0xb70b16,null));};