97a23d67384150201357830f95f36544bfa53b52
[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 _0x3007=['stack','name','index','map','rawAttributes','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','order','sort','where','filter','type','VIRTUAL','merge','options','includeAll','include','ServicenowField','findAll','rows','catch','create','body','find','params','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','limit','count','offset','set','Content-Range','json','apply','reject','save','update','destroy','then','error'];(function(_0x3d2389,_0x123fd1){var _0x1673bc=function(_0x5a8fcf){while(--_0x5a8fcf){_0x3d2389['push'](_0x3d2389['shift']());}};_0x1673bc(++_0x123fd1);}(_0x3007,0xaf));var _0x7300=function(_0x23ca93,_0x2812f9){_0x23ca93=_0x23ca93-0x0;var _0x1c9d7c=_0x3007[_0x23ca93];return _0x1c9d7c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7300('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7300('0x1'));var rp=require('request-promise');var moment=require(_0x7300('0x2'));var BPromise=require(_0x7300('0x3'));var Mustache=require(_0x7300('0x4'));var util=require(_0x7300('0x5'));var path=require(_0x7300('0x6'));var sox=require('sox');var csv=require(_0x7300('0x7'));var ejs=require(_0x7300('0x8'));var fs=require('fs');var fs_extra=require(_0x7300('0x9'));var _=require(_0x7300('0xa'));var squel=require(_0x7300('0xb'));var crypto=require(_0x7300('0xc'));var jsforce=require(_0x7300('0xd'));var deskjs=require(_0x7300('0xe'));var toCsv=require(_0x7300('0x7'));var querystring=require(_0x7300('0xf'));var Papa=require(_0x7300('0x10'));var Redis=require('ioredis');var authService=require(_0x7300('0x11'));var qs=require(_0x7300('0x12'));var as=require(_0x7300('0x13'));var hardwareService=require(_0x7300('0x14'));var logger=require('../../config/logger')(_0x7300('0x15'));var utils=require('../../config/utils');var config=require(_0x7300('0x16'));var licenseUtil=require(_0x7300('0x17'));var db=require(_0x7300('0x18'))['db'];function respondWithStatusCode(_0xb9510,_0x1bd1e9){_0x1bd1e9=_0x1bd1e9||0xcc;return function(_0x3f9998){if(_0x3f9998){return _0xb9510[_0x7300('0x19')](_0x1bd1e9);}return _0xb9510[_0x7300('0x1a')](_0x1bd1e9)[_0x7300('0x1b')]();};}function respondWithResult(_0x4e170c,_0x38135c){_0x38135c=_0x38135c||0xc8;return function(_0x585237){if(_0x585237){return _0x4e170c[_0x7300('0x1a')](_0x38135c)['json'](_0x585237);}};}function respondWithFilteredResult(_0x512de4,_0x34657a){return function(_0x3bd864){if(_0x3bd864){var _0x11335b=typeof _0x34657a['offset']==='undefined'&&typeof _0x34657a[_0x7300('0x1c')]==='undefined';var _0xd775b3=_0x3bd864[_0x7300('0x1d')];var _0x4f3a62=_0x11335b?0x0:_0x34657a[_0x7300('0x1e')];var _0x53158b=_0x11335b?_0x3bd864[_0x7300('0x1d')]:_0x34657a[_0x7300('0x1e')]+_0x34657a[_0x7300('0x1c')];var _0x468938;if(_0x53158b>=_0xd775b3){_0x53158b=_0xd775b3;_0x468938=0xc8;}else{_0x468938=0xce;}_0x512de4[_0x7300('0x1a')](_0x468938);return _0x512de4[_0x7300('0x1f')](_0x7300('0x20'),_0x4f3a62+'-'+_0x53158b+'/'+_0xd775b3)[_0x7300('0x21')](_0x3bd864);}return null;};}function patchUpdates(_0x76f31d){return function(_0x4ee045){try{jsonpatch[_0x7300('0x22')](_0x4ee045,_0x76f31d,!![]);}catch(_0x2ab7a8){return BPromise[_0x7300('0x23')](_0x2ab7a8);}return _0x4ee045[_0x7300('0x24')]();};}function saveUpdates(_0x1a12ab,_0x2cf313){return function(_0x330a47){if(_0x330a47){return _0x330a47[_0x7300('0x25')](_0x1a12ab)['then'](function(_0x9fbe57){return _0x9fbe57;});}return null;};}function removeEntity(_0x365305,_0x432e5c){return function(_0x8c8ea6){if(_0x8c8ea6){return _0x8c8ea6[_0x7300('0x26')]()[_0x7300('0x27')](function(){_0x365305[_0x7300('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4753b1,_0x5c04b4){return function(_0x55b8f5){if(!_0x55b8f5){_0x4753b1[_0x7300('0x19')](0x194);}return _0x55b8f5;};}function handleError(_0x1b0ebd,_0x86c6d){_0x86c6d=_0x86c6d||0x1f4;return function(_0x4c0a4a){logger[_0x7300('0x28')](_0x4c0a4a[_0x7300('0x29')]);if(_0x4c0a4a[_0x7300('0x2a')]){delete _0x4c0a4a[_0x7300('0x2a')];}_0x1b0ebd[_0x7300('0x1a')](_0x86c6d)['send'](_0x4c0a4a);};}exports[_0x7300('0x2b')]=function(_0x30f47e,_0x573410){var _0xc5cd02={},_0x3c936b={},_0x5614c3={'count':0x0,'rows':[]};var _0x4ccd61=_[_0x7300('0x2c')](db['ServicenowField'][_0x7300('0x2d')],function(_0x170c01){return{'name':_0x170c01['fieldName'],'type':_0x170c01['type']['key']};});_0x3c936b['model']=_['map'](_0x4ccd61,_0x7300('0x2a'));_0x3c936b[_0x7300('0x2e')]=_[_0x7300('0x2f')](_0x30f47e[_0x7300('0x2e')]);_0x3c936b[_0x7300('0x30')]=_[_0x7300('0x31')](_0x3c936b[_0x7300('0x32')],_0x3c936b[_0x7300('0x2e')]);_0xc5cd02[_0x7300('0x33')]=_[_0x7300('0x31')](_0x3c936b['model'],qs[_0x7300('0x34')](_0x30f47e[_0x7300('0x2e')][_0x7300('0x34')]));_0xc5cd02['attributes']=_0xc5cd02[_0x7300('0x33')]['length']?_0xc5cd02[_0x7300('0x33')]:_0x3c936b[_0x7300('0x32')];if(!_0x30f47e[_0x7300('0x2e')][_0x7300('0x35')]('nolimit')){_0xc5cd02[_0x7300('0x1c')]=qs['limit'](_0x30f47e['query'][_0x7300('0x1c')]);_0xc5cd02[_0x7300('0x1e')]=qs['offset'](_0x30f47e[_0x7300('0x2e')]['offset']);}_0xc5cd02[_0x7300('0x36')]=qs[_0x7300('0x37')](_0x30f47e[_0x7300('0x2e')][_0x7300('0x37')]);_0xc5cd02[_0x7300('0x38')]=qs[_0x7300('0x30')](_['pick'](_0x30f47e[_0x7300('0x2e')],_0x3c936b['filters']),_0x4ccd61);if(_0x30f47e[_0x7300('0x2e')][_0x7300('0x39')]){_0xc5cd02[_0x7300('0x38')]=_['merge'](_0xc5cd02['where'],{'$or':_[_0x7300('0x2c')](_0x4ccd61,function(_0xdda5de){if(_0xdda5de[_0x7300('0x3a')]!==_0x7300('0x3b')){var _0x2e9c92={};_0x2e9c92[_0xdda5de[_0x7300('0x2a')]]={'$like':'%'+_0x30f47e[_0x7300('0x2e')][_0x7300('0x39')]+'%'};return _0x2e9c92;}})});}_0xc5cd02=_[_0x7300('0x3c')]({},_0xc5cd02,_0x30f47e[_0x7300('0x3d')]);var _0x1fd6e3={'where':_0xc5cd02[_0x7300('0x38')]};return db['ServicenowField'][_0x7300('0x1d')](_0x1fd6e3)['then'](function(_0x525fb9){_0x5614c3[_0x7300('0x1d')]=_0x525fb9;if(_0x30f47e[_0x7300('0x2e')][_0x7300('0x3e')]){_0xc5cd02[_0x7300('0x3f')]=[{'all':!![]}];}return db[_0x7300('0x40')][_0x7300('0x41')](_0xc5cd02);})['then'](function(_0x44bb48){_0x5614c3[_0x7300('0x42')]=_0x44bb48;return _0x5614c3;})['then'](respondWithFilteredResult(_0x573410,_0xc5cd02))['catch'](handleError(_0x573410,null));};exports['show']=function(_0x31b7e7,_0x673c79){var _0x3611df={'raw':!![],'where':{'id':_0x31b7e7['params']['id']}},_0x330ba9={};_0x330ba9[_0x7300('0x32')]=_[_0x7300('0x2f')](db[_0x7300('0x40')]['rawAttributes']);_0x330ba9[_0x7300('0x2e')]=_[_0x7300('0x2f')](_0x31b7e7[_0x7300('0x2e')]);_0x330ba9[_0x7300('0x30')]=_['intersection'](_0x330ba9[_0x7300('0x32')],_0x330ba9[_0x7300('0x2e')]);_0x3611df[_0x7300('0x33')]=_[_0x7300('0x31')](_0x330ba9[_0x7300('0x32')],qs[_0x7300('0x34')](_0x31b7e7[_0x7300('0x2e')][_0x7300('0x34')]));_0x3611df[_0x7300('0x33')]=_0x3611df[_0x7300('0x33')]['length']?_0x3611df[_0x7300('0x33')]:_0x330ba9[_0x7300('0x32')];if(_0x31b7e7[_0x7300('0x2e')][_0x7300('0x3e')]){_0x3611df[_0x7300('0x3f')]=[{'all':!![]}];}_0x3611df=_[_0x7300('0x3c')]({},_0x3611df,_0x31b7e7[_0x7300('0x3d')]);return db[_0x7300('0x40')]['find'](_0x3611df)['then'](handleEntityNotFound(_0x673c79,null))['then'](respondWithResult(_0x673c79,null))[_0x7300('0x43')](handleError(_0x673c79,null));};exports[_0x7300('0x44')]=function(_0x5e981c,_0x3381ce){return db[_0x7300('0x40')][_0x7300('0x44')](_0x5e981c['body'],{})[_0x7300('0x27')](respondWithResult(_0x3381ce,0xc9))[_0x7300('0x43')](handleError(_0x3381ce,null));};exports['update']=function(_0x173327,_0x1aad40){if(_0x173327[_0x7300('0x45')]['id']){delete _0x173327[_0x7300('0x45')]['id'];}return db[_0x7300('0x40')][_0x7300('0x46')]({'where':{'id':_0x173327[_0x7300('0x47')]['id']}})[_0x7300('0x27')](handleEntityNotFound(_0x1aad40,null))[_0x7300('0x27')](saveUpdates(_0x173327[_0x7300('0x45')],null))['then'](respondWithResult(_0x1aad40,null))[_0x7300('0x43')](handleError(_0x1aad40,null));};exports[_0x7300('0x26')]=function(_0x3edb4e,_0x18c831){return db[_0x7300('0x40')][_0x7300('0x46')]({'where':{'id':_0x3edb4e[_0x7300('0x47')]['id']}})['then'](handleEntityNotFound(_0x18c831,null))['then'](removeEntity(_0x18c831,null))[_0x7300('0x43')](handleError(_0x18c831,null));};