25b3ad0243a7e2de40781988818bcb757405c6b9
[motion2.git] / server / api / intServicenowField / intServicenowField.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 _0x897d=['message','agent','interaction','index','map','ServicenowField','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','options','includeAll','include','findAll','catch','find','update','params','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','then','destroy','error','stack','name','send','render','merge','body','contact'];(function(_0x190acf,_0x4f2470){var _0x667ab9=function(_0x299e84){while(--_0x299e84){_0x190acf['push'](_0x190acf['shift']());}};_0x667ab9(++_0x4f2470);}(_0x897d,0x16a));var _0xd897=function(_0x35992d,_0x189c7f){_0x35992d=_0x35992d-0x0;var _0x797aef=_0x897d[_0x35992d];return _0x797aef;};'use strict';var emlformat=require(_0xd897('0x0'));var rimraf=require(_0xd897('0x1'));var zipdir=require(_0xd897('0x2'));var jsonpatch=require(_0xd897('0x3'));var rp=require('request-promise');var moment=require(_0xd897('0x4'));var BPromise=require(_0xd897('0x5'));var Mustache=require('mustache');var util=require(_0xd897('0x6'));var path=require(_0xd897('0x7'));var sox=require(_0xd897('0x8'));var csv=require('to-csv');var ejs=require(_0xd897('0x9'));var fs=require('fs');var fs_extra=require(_0xd897('0xa'));var _=require(_0xd897('0xb'));var squel=require(_0xd897('0xc'));var crypto=require('crypto');var jsforce=require(_0xd897('0xd'));var deskjs=require(_0xd897('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xd897('0xf'));var Redis=require(_0xd897('0x10'));var authService=require(_0xd897('0x11'));var qs=require(_0xd897('0x12'));var as=require(_0xd897('0x13'));var hardwareService=require(_0xd897('0x14'));var logger=require(_0xd897('0x15'))(_0xd897('0x16'));var utils=require(_0xd897('0x17'));var config=require(_0xd897('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xd897('0x19'))['db'];function respondWithStatusCode(_0x5069d9,_0x210933){_0x210933=_0x210933||0xcc;return function(_0x50b69f){if(_0x50b69f){return _0x5069d9[_0xd897('0x1a')](_0x210933);}return _0x5069d9[_0xd897('0x1b')](_0x210933)[_0xd897('0x1c')]();};}function respondWithResult(_0x4cfa11,_0x1bc459){_0x1bc459=_0x1bc459||0xc8;return function(_0x415dd2){if(_0x415dd2){return _0x4cfa11[_0xd897('0x1b')](_0x1bc459)[_0xd897('0x1d')](_0x415dd2);}};}function respondWithFilteredResult(_0x504cd9,_0x280131){return function(_0x225d83){if(_0x225d83){var _0x313505=typeof _0x280131[_0xd897('0x1e')]===_0xd897('0x1f')&&typeof _0x280131[_0xd897('0x20')]===_0xd897('0x1f');var _0x4eb1db=_0x225d83[_0xd897('0x21')];var _0x27d2e4=_0x313505?0x0:_0x280131['offset'];var _0x19c4ba=_0x313505?_0x225d83[_0xd897('0x21')]:_0x280131[_0xd897('0x1e')]+_0x280131[_0xd897('0x20')];var _0x4fe79e;if(_0x19c4ba>=_0x4eb1db){_0x19c4ba=_0x4eb1db;_0x4fe79e=0xc8;}else{_0x4fe79e=0xce;}_0x504cd9[_0xd897('0x1b')](_0x4fe79e);return _0x504cd9[_0xd897('0x22')](_0xd897('0x23'),_0x27d2e4+'-'+_0x19c4ba+'/'+_0x4eb1db)[_0xd897('0x1d')](_0x225d83);}return null;};}function patchUpdates(_0x115ae2){return function(_0xe3a5c5){try{jsonpatch[_0xd897('0x24')](_0xe3a5c5,_0x115ae2,!![]);}catch(_0x135083){return BPromise[_0xd897('0x25')](_0x135083);}return _0xe3a5c5['save']();};}function saveUpdates(_0x3c7e94,_0x366791){return function(_0x110e52){if(_0x110e52){return _0x110e52['update'](_0x3c7e94)[_0xd897('0x26')](function(_0x35d1f2){return _0x35d1f2;});}return null;};}function removeEntity(_0x5869ac,_0x1aded1){return function(_0x3b8a38){if(_0x3b8a38){return _0x3b8a38[_0xd897('0x27')]()[_0xd897('0x26')](function(){_0x5869ac[_0xd897('0x1b')](0xcc)[_0xd897('0x1c')]();});}};}function handleEntityNotFound(_0x5ab53c,_0x2bb0e9){return function(_0x2059d8){if(!_0x2059d8){_0x5ab53c[_0xd897('0x1a')](0x194);}return _0x2059d8;};}function handleError(_0x509310,_0x5bedd2){_0x5bedd2=_0x5bedd2||0x1f4;return function(_0x480860){logger[_0xd897('0x28')](_0x480860[_0xd897('0x29')]);if(_0x480860[_0xd897('0x2a')]){delete _0x480860[_0xd897('0x2a')];}_0x509310[_0xd897('0x1b')](_0x5bedd2)[_0xd897('0x2b')](_0x480860);};}function getMustacheRender(_0x510406,_0xe4b34b){return Mustache[_0xd897('0x2c')](_0x510406,_[_0xd897('0x2d')](_0xe4b34b[_0xd897('0x2e')],{'contact':_0xe4b34b[_0xd897('0x2f')],'message':_0xe4b34b[_0xd897('0x30')],'agent':_0xe4b34b[_0xd897('0x31')],'interaction':_0xe4b34b[_0xd897('0x32')],'account':_0xe4b34b['account']}))||'';}exports[_0xd897('0x33')]=function(_0x5ae04c,_0x466f1d){var _0x3ed0e3={},_0x346aa5={},_0x4d927b={'count':0x0,'rows':[]};var _0x203810=_[_0xd897('0x34')](db[_0xd897('0x35')][_0xd897('0x36')],function(_0x1bda80){return{'name':_0x1bda80[_0xd897('0x37')],'type':_0x1bda80[_0xd897('0x38')][_0xd897('0x39')]};});_0x346aa5[_0xd897('0x3a')]=_['map'](_0x203810,_0xd897('0x2a'));_0x346aa5[_0xd897('0x3b')]=_[_0xd897('0x3c')](_0x5ae04c[_0xd897('0x3b')]);_0x346aa5[_0xd897('0x3d')]=_['intersection'](_0x346aa5[_0xd897('0x3a')],_0x346aa5['query']);_0x3ed0e3[_0xd897('0x3e')]=_[_0xd897('0x3f')](_0x346aa5[_0xd897('0x3a')],qs[_0xd897('0x40')](_0x5ae04c[_0xd897('0x3b')][_0xd897('0x40')]));_0x3ed0e3[_0xd897('0x3e')]=_0x3ed0e3[_0xd897('0x3e')][_0xd897('0x41')]?_0x3ed0e3[_0xd897('0x3e')]:_0x346aa5[_0xd897('0x3a')];if(!_0x5ae04c[_0xd897('0x3b')][_0xd897('0x42')](_0xd897('0x43'))){_0x3ed0e3[_0xd897('0x20')]=qs['limit'](_0x5ae04c['query'][_0xd897('0x20')]);_0x3ed0e3[_0xd897('0x1e')]=qs[_0xd897('0x1e')](_0x5ae04c[_0xd897('0x3b')]['offset']);}_0x3ed0e3[_0xd897('0x44')]=qs['sort'](_0x5ae04c['query'][_0xd897('0x45')]);_0x3ed0e3[_0xd897('0x46')]=qs['filters'](_[_0xd897('0x47')](_0x5ae04c[_0xd897('0x3b')],_0x346aa5[_0xd897('0x3d')]),_0x203810);if(_0x5ae04c[_0xd897('0x3b')][_0xd897('0x48')]){_0x3ed0e3[_0xd897('0x46')]=_[_0xd897('0x2d')](_0x3ed0e3[_0xd897('0x46')],{'$or':_[_0xd897('0x34')](_0x203810,function(_0x28ebca){if(_0x28ebca[_0xd897('0x38')]!==_0xd897('0x49')){var _0x347ca5={};_0x347ca5[_0x28ebca[_0xd897('0x2a')]]={'$like':'%'+_0x5ae04c[_0xd897('0x3b')][_0xd897('0x48')]+'%'};return _0x347ca5;}})});}_0x3ed0e3=_[_0xd897('0x2d')]({},_0x3ed0e3,_0x5ae04c[_0xd897('0x4a')]);var _0x4e0359={'where':_0x3ed0e3[_0xd897('0x46')]};return db['ServicenowField'][_0xd897('0x21')](_0x4e0359)[_0xd897('0x26')](function(_0x275474){_0x4d927b['count']=_0x275474;if(_0x5ae04c[_0xd897('0x3b')][_0xd897('0x4b')]){_0x3ed0e3[_0xd897('0x4c')]=[{'all':!![]}];}return db[_0xd897('0x35')][_0xd897('0x4d')](_0x3ed0e3);})['then'](function(_0x30bf4c){_0x4d927b['rows']=_0x30bf4c;return _0x4d927b;})[_0xd897('0x26')](respondWithFilteredResult(_0x466f1d,_0x3ed0e3))[_0xd897('0x4e')](handleError(_0x466f1d,null));};exports['show']=function(_0x1dd550,_0x403314){var _0x419711={'raw':!![],'where':{'id':_0x1dd550['params']['id']}},_0x3e7248={};_0x3e7248['model']=_[_0xd897('0x3c')](db[_0xd897('0x35')][_0xd897('0x36')]);_0x3e7248[_0xd897('0x3b')]=_['keys'](_0x1dd550[_0xd897('0x3b')]);_0x3e7248[_0xd897('0x3d')]=_[_0xd897('0x3f')](_0x3e7248['model'],_0x3e7248[_0xd897('0x3b')]);_0x419711[_0xd897('0x3e')]=_[_0xd897('0x3f')](_0x3e7248[_0xd897('0x3a')],qs[_0xd897('0x40')](_0x1dd550[_0xd897('0x3b')][_0xd897('0x40')]));_0x419711[_0xd897('0x3e')]=_0x419711[_0xd897('0x3e')][_0xd897('0x41')]?_0x419711[_0xd897('0x3e')]:_0x3e7248[_0xd897('0x3a')];if(_0x1dd550[_0xd897('0x3b')][_0xd897('0x4b')]){_0x419711[_0xd897('0x4c')]=[{'all':!![]}];}_0x419711=_[_0xd897('0x2d')]({},_0x419711,_0x1dd550[_0xd897('0x4a')]);return db['ServicenowField'][_0xd897('0x4f')](_0x419711)[_0xd897('0x26')](handleEntityNotFound(_0x403314,null))['then'](respondWithResult(_0x403314,null))[_0xd897('0x4e')](handleError(_0x403314,null));};exports['create']=function(_0x113903,_0x549902){return db['ServicenowField']['create'](_0x113903[_0xd897('0x2e')],{})[_0xd897('0x26')](respondWithResult(_0x549902,0xc9))[_0xd897('0x4e')](handleError(_0x549902,null));};exports[_0xd897('0x50')]=function(_0x4cfb99,_0x3ba6aa){if(_0x4cfb99[_0xd897('0x2e')]['id']){delete _0x4cfb99['body']['id'];}return db[_0xd897('0x35')]['find']({'where':{'id':_0x4cfb99[_0xd897('0x51')]['id']}})['then'](handleEntityNotFound(_0x3ba6aa,null))[_0xd897('0x26')](saveUpdates(_0x4cfb99[_0xd897('0x2e')],null))['then'](respondWithResult(_0x3ba6aa,null))[_0xd897('0x4e')](handleError(_0x3ba6aa,null));};exports[_0xd897('0x27')]=function(_0x26c701,_0x32263f){return db[_0xd897('0x35')]['find']({'where':{'id':_0x26c701[_0xd897('0x51')]['id']}})[_0xd897('0x26')](handleEntityNotFound(_0x32263f,null))[_0xd897('0x26')](removeEntity(_0x32263f,null))[_0xd897('0x4e')](handleError(_0x32263f,null));};