cd65a314ad0592fb4fd773f3e3645155c034e3dd
[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 _0x7716=['end','status','json','offset','undefined','count','set','apply','update','then','destroy','error','stack','name','send','merge','body','contact','message','agent','interaction','account','index','map','ServicenowField','fieldName','type','key','model','query','intersection','fields','attributes','length','hasOwnProperty','limit','sort','where','filters','pick','filter','VIRTUAL','includeAll','findAll','rows','catch','keys','rawAttributes','include','find','create','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment'];(function(_0x4a9fb1,_0x273043){var _0x348672=function(_0x142b69){while(--_0x142b69){_0x4a9fb1['push'](_0x4a9fb1['shift']());}};_0x348672(++_0x273043);}(_0x7716,0x10c));var _0x6771=function(_0x38854e,_0x23cbc9){_0x38854e=_0x38854e-0x0;var _0x3f8415=_0x7716[_0x38854e];return _0x3f8415;};'use strict';var emlformat=require(_0x6771('0x0'));var rimraf=require(_0x6771('0x1'));var zipdir=require(_0x6771('0x2'));var jsonpatch=require(_0x6771('0x3'));var rp=require(_0x6771('0x4'));var moment=require(_0x6771('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x6771('0x6'));var path=require('path');var sox=require(_0x6771('0x7'));var csv=require(_0x6771('0x8'));var ejs=require(_0x6771('0x9'));var fs=require('fs');var fs_extra=require(_0x6771('0xa'));var _=require(_0x6771('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x6771('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x6771('0x8'));var querystring=require(_0x6771('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x6771('0xe'));var qs=require(_0x6771('0xf'));var as=require(_0x6771('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6771('0x11'))('api');var utils=require(_0x6771('0x12'));var config=require(_0x6771('0x13'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x535f64,_0x47b3a9){_0x47b3a9=_0x47b3a9||0xcc;return function(_0x31952a){if(_0x31952a){return _0x535f64['sendStatus'](_0x47b3a9);}return _0x535f64['status'](_0x47b3a9)[_0x6771('0x14')]();};}function respondWithResult(_0x4bde14,_0x3eb4dd){_0x3eb4dd=_0x3eb4dd||0xc8;return function(_0x551b84){if(_0x551b84){return _0x4bde14[_0x6771('0x15')](_0x3eb4dd)[_0x6771('0x16')](_0x551b84);}};}function respondWithFilteredResult(_0xea4e55,_0x4e6007){return function(_0x547784){if(_0x547784){var _0xf7205c=typeof _0x4e6007[_0x6771('0x17')]===_0x6771('0x18')&&typeof _0x4e6007['limit']===_0x6771('0x18');var _0x307a57=_0x547784[_0x6771('0x19')];var _0x3d9022=_0xf7205c?0x0:_0x4e6007['offset'];var _0x3f6d34=_0xf7205c?_0x547784['count']:_0x4e6007[_0x6771('0x17')]+_0x4e6007['limit'];var _0xd9f49b;if(_0x3f6d34>=_0x307a57){_0x3f6d34=_0x307a57;_0xd9f49b=0xc8;}else{_0xd9f49b=0xce;}_0xea4e55['status'](_0xd9f49b);return _0xea4e55[_0x6771('0x1a')]('Content-Range',_0x3d9022+'-'+_0x3f6d34+'/'+_0x307a57)[_0x6771('0x16')](_0x547784);}return null;};}function patchUpdates(_0xba474a){return function(_0x4c9109){try{jsonpatch[_0x6771('0x1b')](_0x4c9109,_0xba474a,!![]);}catch(_0x36d1f0){return BPromise['reject'](_0x36d1f0);}return _0x4c9109['save']();};}function saveUpdates(_0x3807ee,_0x31b102){return function(_0x10fcea){if(_0x10fcea){return _0x10fcea[_0x6771('0x1c')](_0x3807ee)[_0x6771('0x1d')](function(_0x30ef62){return _0x30ef62;});}return null;};}function removeEntity(_0x54cad1,_0x236e62){return function(_0x324cff){if(_0x324cff){return _0x324cff[_0x6771('0x1e')]()['then'](function(){_0x54cad1[_0x6771('0x15')](0xcc)[_0x6771('0x14')]();});}};}function handleEntityNotFound(_0x481456,_0xc219ed){return function(_0x41ab71){if(!_0x41ab71){_0x481456['sendStatus'](0x194);}return _0x41ab71;};}function handleError(_0x5e3408,_0xdb4986){_0xdb4986=_0xdb4986||0x1f4;return function(_0x35dce9){logger[_0x6771('0x1f')](_0x35dce9[_0x6771('0x20')]);if(_0x35dce9['name']){delete _0x35dce9[_0x6771('0x21')];}_0x5e3408[_0x6771('0x15')](_0xdb4986)[_0x6771('0x22')](_0x35dce9);};}function getMustacheRender(_0x39002f,_0x15e83b){return Mustache['render'](_0x39002f,_[_0x6771('0x23')](_0x15e83b[_0x6771('0x24')],{'contact':_0x15e83b[_0x6771('0x25')],'message':_0x15e83b[_0x6771('0x26')],'agent':_0x15e83b[_0x6771('0x27')],'interaction':_0x15e83b[_0x6771('0x28')],'account':_0x15e83b[_0x6771('0x29')]}))||'';}exports[_0x6771('0x2a')]=function(_0x3c287f,_0x3c04d9){var _0x3abaa8={},_0x4c511f={},_0x1370af={'count':0x0,'rows':[]};var _0x6db827=_[_0x6771('0x2b')](db[_0x6771('0x2c')]['rawAttributes'],function(_0x1702a9){return{'name':_0x1702a9[_0x6771('0x2d')],'type':_0x1702a9[_0x6771('0x2e')][_0x6771('0x2f')]};});_0x4c511f[_0x6771('0x30')]=_[_0x6771('0x2b')](_0x6db827,_0x6771('0x21'));_0x4c511f[_0x6771('0x31')]=_['keys'](_0x3c287f[_0x6771('0x31')]);_0x4c511f['filters']=_[_0x6771('0x32')](_0x4c511f['model'],_0x4c511f[_0x6771('0x31')]);_0x3abaa8['attributes']=_[_0x6771('0x32')](_0x4c511f[_0x6771('0x30')],qs[_0x6771('0x33')](_0x3c287f[_0x6771('0x31')][_0x6771('0x33')]));_0x3abaa8[_0x6771('0x34')]=_0x3abaa8[_0x6771('0x34')][_0x6771('0x35')]?_0x3abaa8['attributes']:_0x4c511f['model'];if(!_0x3c287f['query'][_0x6771('0x36')]('nolimit')){_0x3abaa8[_0x6771('0x37')]=qs[_0x6771('0x37')](_0x3c287f[_0x6771('0x31')][_0x6771('0x37')]);_0x3abaa8['offset']=qs[_0x6771('0x17')](_0x3c287f['query'][_0x6771('0x17')]);}_0x3abaa8['order']=qs[_0x6771('0x38')](_0x3c287f[_0x6771('0x31')][_0x6771('0x38')]);_0x3abaa8[_0x6771('0x39')]=qs[_0x6771('0x3a')](_[_0x6771('0x3b')](_0x3c287f[_0x6771('0x31')],_0x4c511f[_0x6771('0x3a')]),_0x6db827);if(_0x3c287f['query'][_0x6771('0x3c')]){_0x3abaa8[_0x6771('0x39')]=_[_0x6771('0x23')](_0x3abaa8[_0x6771('0x39')],{'$or':_[_0x6771('0x2b')](_0x6db827,function(_0x1602d2){if(_0x1602d2['type']!==_0x6771('0x3d')){var _0x5eeb83={};_0x5eeb83[_0x1602d2['name']]={'$like':'%'+_0x3c287f[_0x6771('0x31')]['filter']+'%'};return _0x5eeb83;}})});}_0x3abaa8=_[_0x6771('0x23')]({},_0x3abaa8,_0x3c287f['options']);var _0xd378cc={'where':_0x3abaa8['where']};return db[_0x6771('0x2c')][_0x6771('0x19')](_0xd378cc)['then'](function(_0x30434b){_0x1370af[_0x6771('0x19')]=_0x30434b;if(_0x3c287f[_0x6771('0x31')][_0x6771('0x3e')]){_0x3abaa8['include']=[{'all':!![]}];}return db[_0x6771('0x2c')][_0x6771('0x3f')](_0x3abaa8);})[_0x6771('0x1d')](function(_0x291b81){_0x1370af[_0x6771('0x40')]=_0x291b81;return _0x1370af;})[_0x6771('0x1d')](respondWithFilteredResult(_0x3c04d9,_0x3abaa8))[_0x6771('0x41')](handleError(_0x3c04d9,null));};exports['show']=function(_0x43577f,_0x2581f2){var _0x3ad2fa={'raw':!![],'where':{'id':_0x43577f['params']['id']}},_0x1ab530={};_0x1ab530[_0x6771('0x30')]=_[_0x6771('0x42')](db[_0x6771('0x2c')][_0x6771('0x43')]);_0x1ab530['query']=_['keys'](_0x43577f[_0x6771('0x31')]);_0x1ab530['filters']=_[_0x6771('0x32')](_0x1ab530[_0x6771('0x30')],_0x1ab530[_0x6771('0x31')]);_0x3ad2fa[_0x6771('0x34')]=_[_0x6771('0x32')](_0x1ab530['model'],qs[_0x6771('0x33')](_0x43577f[_0x6771('0x31')][_0x6771('0x33')]));_0x3ad2fa[_0x6771('0x34')]=_0x3ad2fa[_0x6771('0x34')][_0x6771('0x35')]?_0x3ad2fa[_0x6771('0x34')]:_0x1ab530[_0x6771('0x30')];if(_0x43577f[_0x6771('0x31')][_0x6771('0x3e')]){_0x3ad2fa[_0x6771('0x44')]=[{'all':!![]}];}_0x3ad2fa=_['merge']({},_0x3ad2fa,_0x43577f['options']);return db[_0x6771('0x2c')][_0x6771('0x45')](_0x3ad2fa)[_0x6771('0x1d')](handleEntityNotFound(_0x2581f2,null))[_0x6771('0x1d')](respondWithResult(_0x2581f2,null))[_0x6771('0x41')](handleError(_0x2581f2,null));};exports[_0x6771('0x46')]=function(_0x27e139,_0x557e6f){return db[_0x6771('0x2c')][_0x6771('0x46')](_0x27e139[_0x6771('0x24')],{})[_0x6771('0x1d')](respondWithResult(_0x557e6f,0xc9))[_0x6771('0x41')](handleError(_0x557e6f,null));};exports[_0x6771('0x1c')]=function(_0x39d790,_0x177b5a){if(_0x39d790[_0x6771('0x24')]['id']){delete _0x39d790['body']['id'];}return db['ServicenowField']['find']({'where':{'id':_0x39d790['params']['id']}})[_0x6771('0x1d')](handleEntityNotFound(_0x177b5a,null))[_0x6771('0x1d')](saveUpdates(_0x39d790[_0x6771('0x24')],null))[_0x6771('0x1d')](respondWithResult(_0x177b5a,null))[_0x6771('0x41')](handleError(_0x177b5a,null));};exports['destroy']=function(_0x5b95fc,_0x27cd96){return db[_0x6771('0x2c')][_0x6771('0x45')]({'where':{'id':_0x5b95fc[_0x6771('0x47')]['id']}})[_0x6771('0x1d')](handleEntityNotFound(_0x27cd96,null))[_0x6771('0x1d')](removeEntity(_0x27cd96,null))[_0x6771('0x41')](handleError(_0x27cd96,null));};