510cfd665260936537e62dc2789c48146cd6a360
[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 _0xaa30=['index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','where','pick','VIRTUAL','filter','merge','options','includeAll','include','ServicenowField','rows','create','body','find','params','catch','eml-format','rimraf','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','name','send'];(function(_0x33699c,_0x222459){var _0x228c15=function(_0x4664d8){while(--_0x4664d8){_0x33699c['push'](_0x33699c['shift']());}};_0x228c15(++_0x222459);}(_0xaa30,0x1c1));var _0x0aa3=function(_0x5b561d,_0x422b7c){_0x5b561d=_0x5b561d-0x0;var _0x431060=_0xaa30[_0x5b561d];return _0x431060;};'use strict';var emlformat=require(_0x0aa3('0x0'));var rimraf=require(_0x0aa3('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x0aa3('0x2'));var moment=require(_0x0aa3('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x0aa3('0x4'));var util=require(_0x0aa3('0x5'));var path=require(_0x0aa3('0x6'));var sox=require(_0x0aa3('0x7'));var csv=require(_0x0aa3('0x8'));var ejs=require(_0x0aa3('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0aa3('0xa'));var squel=require(_0x0aa3('0xb'));var crypto=require(_0x0aa3('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x0aa3('0xd'));var toCsv=require(_0x0aa3('0x8'));var querystring=require(_0x0aa3('0xe'));var Papa=require(_0x0aa3('0xf'));var Redis=require(_0x0aa3('0x10'));var authService=require(_0x0aa3('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0aa3('0x12'));var logger=require(_0x0aa3('0x13'))(_0x0aa3('0x14'));var utils=require(_0x0aa3('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x0aa3('0x16'));var db=require(_0x0aa3('0x17'))['db'];function respondWithStatusCode(_0xcfc941,_0x18d7ec){_0x18d7ec=_0x18d7ec||0xcc;return function(_0x249792){if(_0x249792){return _0xcfc941[_0x0aa3('0x18')](_0x18d7ec);}return _0xcfc941[_0x0aa3('0x19')](_0x18d7ec)[_0x0aa3('0x1a')]();};}function respondWithResult(_0x52f307,_0x56b005){_0x56b005=_0x56b005||0xc8;return function(_0x5425c6){if(_0x5425c6){return _0x52f307['status'](_0x56b005)[_0x0aa3('0x1b')](_0x5425c6);}};}function respondWithFilteredResult(_0x51e45b,_0x59a901){return function(_0x39b673){if(_0x39b673){var _0x307513=typeof _0x59a901[_0x0aa3('0x1c')]===_0x0aa3('0x1d')&&typeof _0x59a901[_0x0aa3('0x1e')]===_0x0aa3('0x1d');var _0x8beeff=_0x39b673[_0x0aa3('0x1f')];var _0x3f6efd=_0x307513?0x0:_0x59a901[_0x0aa3('0x1c')];var _0x16c7e2=_0x307513?_0x39b673['count']:_0x59a901[_0x0aa3('0x1c')]+_0x59a901[_0x0aa3('0x1e')];var _0x1c20ab;if(_0x16c7e2>=_0x8beeff){_0x16c7e2=_0x8beeff;_0x1c20ab=0xc8;}else{_0x1c20ab=0xce;}_0x51e45b['status'](_0x1c20ab);return _0x51e45b['set'](_0x0aa3('0x20'),_0x3f6efd+'-'+_0x16c7e2+'/'+_0x8beeff)[_0x0aa3('0x1b')](_0x39b673);}return null;};}function patchUpdates(_0x3d0bec){return function(_0x5d36b5){try{jsonpatch[_0x0aa3('0x21')](_0x5d36b5,_0x3d0bec,!![]);}catch(_0x293e7b){return BPromise[_0x0aa3('0x22')](_0x293e7b);}return _0x5d36b5[_0x0aa3('0x23')]();};}function saveUpdates(_0x21124e,_0x26d7c4){return function(_0x11786b){if(_0x11786b){return _0x11786b[_0x0aa3('0x24')](_0x21124e)[_0x0aa3('0x25')](function(_0x3b0af7){return _0x3b0af7;});}return null;};}function removeEntity(_0x41f804,_0x43c427){return function(_0x216624){if(_0x216624){return _0x216624[_0x0aa3('0x26')]()[_0x0aa3('0x25')](function(){_0x41f804[_0x0aa3('0x19')](0xcc)[_0x0aa3('0x1a')]();});}};}function handleEntityNotFound(_0x3e525e,_0x4eef3a){return function(_0x20cea9){if(!_0x20cea9){_0x3e525e[_0x0aa3('0x18')](0x194);}return _0x20cea9;};}function handleError(_0x32df39,_0x4e1ece){_0x4e1ece=_0x4e1ece||0x1f4;return function(_0xdb92b2){logger['error'](_0xdb92b2['stack']);if(_0xdb92b2['name']){delete _0xdb92b2[_0x0aa3('0x27')];}_0x32df39[_0x0aa3('0x19')](_0x4e1ece)[_0x0aa3('0x28')](_0xdb92b2);};}exports[_0x0aa3('0x29')]=function(_0x251e31,_0x4b2589){var _0x5bf5b6={},_0xb4b24f={},_0x519d1b={'count':0x0,'rows':[]};var _0x188e0b=_[_0x0aa3('0x2a')](db['ServicenowField'][_0x0aa3('0x2b')],function(_0x3a073e){return{'name':_0x3a073e[_0x0aa3('0x2c')],'type':_0x3a073e['type'][_0x0aa3('0x2d')]};});_0xb4b24f[_0x0aa3('0x2e')]=_[_0x0aa3('0x2a')](_0x188e0b,_0x0aa3('0x27'));_0xb4b24f[_0x0aa3('0x2f')]=_[_0x0aa3('0x30')](_0x251e31[_0x0aa3('0x2f')]);_0xb4b24f[_0x0aa3('0x31')]=_[_0x0aa3('0x32')](_0xb4b24f['model'],_0xb4b24f[_0x0aa3('0x2f')]);_0x5bf5b6['attributes']=_[_0x0aa3('0x32')](_0xb4b24f[_0x0aa3('0x2e')],qs[_0x0aa3('0x33')](_0x251e31[_0x0aa3('0x2f')][_0x0aa3('0x33')]));_0x5bf5b6['attributes']=_0x5bf5b6[_0x0aa3('0x34')][_0x0aa3('0x35')]?_0x5bf5b6[_0x0aa3('0x34')]:_0xb4b24f[_0x0aa3('0x2e')];if(!_0x251e31['query']['hasOwnProperty'](_0x0aa3('0x36'))){_0x5bf5b6[_0x0aa3('0x1e')]=qs[_0x0aa3('0x1e')](_0x251e31[_0x0aa3('0x2f')][_0x0aa3('0x1e')]);_0x5bf5b6[_0x0aa3('0x1c')]=qs[_0x0aa3('0x1c')](_0x251e31[_0x0aa3('0x2f')]['offset']);}_0x5bf5b6['order']=qs['sort'](_0x251e31[_0x0aa3('0x2f')]['sort']);_0x5bf5b6[_0x0aa3('0x37')]=qs[_0x0aa3('0x31')](_[_0x0aa3('0x38')](_0x251e31[_0x0aa3('0x2f')],_0xb4b24f['filters']),_0x188e0b);if(_0x251e31['query']['filter']){_0x5bf5b6[_0x0aa3('0x37')]=_['merge'](_0x5bf5b6[_0x0aa3('0x37')],{'$or':_[_0x0aa3('0x2a')](_0x188e0b,function(_0xdde9a1){if(_0xdde9a1['type']!==_0x0aa3('0x39')){var _0x3d59c3={};_0x3d59c3[_0xdde9a1[_0x0aa3('0x27')]]={'$like':'%'+_0x251e31['query'][_0x0aa3('0x3a')]+'%'};return _0x3d59c3;}})});}_0x5bf5b6=_[_0x0aa3('0x3b')]({},_0x5bf5b6,_0x251e31[_0x0aa3('0x3c')]);var _0x49ab7b={'where':_0x5bf5b6[_0x0aa3('0x37')]};return db['ServicenowField'][_0x0aa3('0x1f')](_0x49ab7b)['then'](function(_0x2255a5){_0x519d1b[_0x0aa3('0x1f')]=_0x2255a5;if(_0x251e31[_0x0aa3('0x2f')][_0x0aa3('0x3d')]){_0x5bf5b6[_0x0aa3('0x3e')]=[{'all':!![]}];}return db[_0x0aa3('0x3f')]['findAll'](_0x5bf5b6);})['then'](function(_0x366c70){_0x519d1b[_0x0aa3('0x40')]=_0x366c70;return _0x519d1b;})[_0x0aa3('0x25')](respondWithFilteredResult(_0x4b2589,_0x5bf5b6))['catch'](handleError(_0x4b2589,null));};exports['show']=function(_0x2859b9,_0x3a675e){var _0x22d323={'raw':!![],'where':{'id':_0x2859b9['params']['id']}},_0x2313af={};_0x2313af[_0x0aa3('0x2e')]=_[_0x0aa3('0x30')](db[_0x0aa3('0x3f')]['rawAttributes']);_0x2313af['query']=_[_0x0aa3('0x30')](_0x2859b9[_0x0aa3('0x2f')]);_0x2313af[_0x0aa3('0x31')]=_[_0x0aa3('0x32')](_0x2313af[_0x0aa3('0x2e')],_0x2313af[_0x0aa3('0x2f')]);_0x22d323[_0x0aa3('0x34')]=_[_0x0aa3('0x32')](_0x2313af[_0x0aa3('0x2e')],qs[_0x0aa3('0x33')](_0x2859b9[_0x0aa3('0x2f')][_0x0aa3('0x33')]));_0x22d323[_0x0aa3('0x34')]=_0x22d323[_0x0aa3('0x34')][_0x0aa3('0x35')]?_0x22d323[_0x0aa3('0x34')]:_0x2313af[_0x0aa3('0x2e')];if(_0x2859b9[_0x0aa3('0x2f')]['includeAll']){_0x22d323[_0x0aa3('0x3e')]=[{'all':!![]}];}_0x22d323=_[_0x0aa3('0x3b')]({},_0x22d323,_0x2859b9[_0x0aa3('0x3c')]);return db[_0x0aa3('0x3f')]['find'](_0x22d323)[_0x0aa3('0x25')](handleEntityNotFound(_0x3a675e,null))[_0x0aa3('0x25')](respondWithResult(_0x3a675e,null))['catch'](handleError(_0x3a675e,null));};exports[_0x0aa3('0x41')]=function(_0x5a15ac,_0xb7b0e8){return db[_0x0aa3('0x3f')]['create'](_0x5a15ac[_0x0aa3('0x42')],{})['then'](respondWithResult(_0xb7b0e8,0xc9))['catch'](handleError(_0xb7b0e8,null));};exports[_0x0aa3('0x24')]=function(_0x27c3a0,_0xa45d51){if(_0x27c3a0[_0x0aa3('0x42')]['id']){delete _0x27c3a0[_0x0aa3('0x42')]['id'];}return db[_0x0aa3('0x3f')][_0x0aa3('0x43')]({'where':{'id':_0x27c3a0[_0x0aa3('0x44')]['id']}})['then'](handleEntityNotFound(_0xa45d51,null))[_0x0aa3('0x25')](saveUpdates(_0x27c3a0[_0x0aa3('0x42')],null))[_0x0aa3('0x25')](respondWithResult(_0xa45d51,null))[_0x0aa3('0x45')](handleError(_0xa45d51,null));};exports[_0x0aa3('0x26')]=function(_0x11e89e,_0x290d7f){return db[_0x0aa3('0x3f')][_0x0aa3('0x43')]({'where':{'id':_0x11e89e[_0x0aa3('0x44')]['id']}})['then'](handleEntityNotFound(_0x290d7f,null))[_0x0aa3('0x25')](removeEntity(_0x290d7f,null))[_0x0aa3('0x45')](handleError(_0x290d7f,null));};