9f170ab0b4408a576f8e224c51b176afe2817052
[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 _0x6430=['keys','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','options','includeAll','include','findAll','rows','show','params','find','create','body','catch','destroy','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','sendStatus','stack','name','send','index','map','ServicenowField','rawAttributes','fieldName','model'];(function(_0x1408d4,_0x50e3da){var _0x115175=function(_0x42c4a0){while(--_0x42c4a0){_0x1408d4['push'](_0x1408d4['shift']());}};_0x115175(++_0x50e3da);}(_0x6430,0xfc));var _0x0643=function(_0x10dc01,_0x3d05b2){_0x10dc01=_0x10dc01-0x0;var _0x3e5dd0=_0x6430[_0x10dc01];return _0x3e5dd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0643('0x0'));var zipdir=require(_0x0643('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0643('0x2'));var moment=require(_0x0643('0x3'));var BPromise=require(_0x0643('0x4'));var Mustache=require(_0x0643('0x5'));var util=require('util');var path=require(_0x0643('0x6'));var sox=require(_0x0643('0x7'));var csv=require(_0x0643('0x8'));var ejs=require(_0x0643('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0643('0xa'));var squel=require('squel');var crypto=require(_0x0643('0xb'));var jsforce=require(_0x0643('0xc'));var deskjs=require(_0x0643('0xd'));var toCsv=require(_0x0643('0x8'));var querystring=require(_0x0643('0xe'));var Papa=require(_0x0643('0xf'));var Redis=require(_0x0643('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x0643('0x11'));var as=require(_0x0643('0x12'));var hardwareService=require(_0x0643('0x13'));var logger=require(_0x0643('0x14'))(_0x0643('0x15'));var utils=require(_0x0643('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x0643('0x17'));var db=require(_0x0643('0x18'))['db'];function respondWithStatusCode(_0x4c2576,_0x2c8331){_0x2c8331=_0x2c8331||0xcc;return function(_0x105a6f){if(_0x105a6f){return _0x4c2576['sendStatus'](_0x2c8331);}return _0x4c2576[_0x0643('0x19')](_0x2c8331)[_0x0643('0x1a')]();};}function respondWithResult(_0x4fcea4,_0x5ad12a){_0x5ad12a=_0x5ad12a||0xc8;return function(_0x18ef99){if(_0x18ef99){return _0x4fcea4[_0x0643('0x19')](_0x5ad12a)[_0x0643('0x1b')](_0x18ef99);}};}function respondWithFilteredResult(_0x149b93,_0x589e9a){return function(_0x4cae87){if(_0x4cae87){var _0x24300e=typeof _0x589e9a[_0x0643('0x1c')]===_0x0643('0x1d')&&typeof _0x589e9a['limit']===_0x0643('0x1d');var _0x3df414=_0x4cae87[_0x0643('0x1e')];var _0x146498=_0x24300e?0x0:_0x589e9a[_0x0643('0x1c')];var _0x116d1a=_0x24300e?_0x4cae87[_0x0643('0x1e')]:_0x589e9a[_0x0643('0x1c')]+_0x589e9a[_0x0643('0x1f')];var _0x3c9948;if(_0x116d1a>=_0x3df414){_0x116d1a=_0x3df414;_0x3c9948=0xc8;}else{_0x3c9948=0xce;}_0x149b93[_0x0643('0x19')](_0x3c9948);return _0x149b93[_0x0643('0x20')](_0x0643('0x21'),_0x146498+'-'+_0x116d1a+'/'+_0x3df414)[_0x0643('0x1b')](_0x4cae87);}return null;};}function patchUpdates(_0x4000ba){return function(_0x13d37f){try{jsonpatch['apply'](_0x13d37f,_0x4000ba,!![]);}catch(_0x1930ca){return BPromise[_0x0643('0x22')](_0x1930ca);}return _0x13d37f[_0x0643('0x23')]();};}function saveUpdates(_0x1d5159,_0x4525d6){return function(_0x24a79b){if(_0x24a79b){return _0x24a79b[_0x0643('0x24')](_0x1d5159)['then'](function(_0x805c14){return _0x805c14;});}return null;};}function removeEntity(_0x49d690,_0x210460){return function(_0x16b0fa){if(_0x16b0fa){return _0x16b0fa['destroy']()[_0x0643('0x25')](function(){_0x49d690[_0x0643('0x19')](0xcc)[_0x0643('0x1a')]();});}};}function handleEntityNotFound(_0x245be7,_0x2e2020){return function(_0x482162){if(!_0x482162){_0x245be7[_0x0643('0x26')](0x194);}return _0x482162;};}function handleError(_0xe11019,_0x5c6a0d){_0x5c6a0d=_0x5c6a0d||0x1f4;return function(_0x62ac49){logger['error'](_0x62ac49[_0x0643('0x27')]);if(_0x62ac49[_0x0643('0x28')]){delete _0x62ac49['name'];}_0xe11019[_0x0643('0x19')](_0x5c6a0d)[_0x0643('0x29')](_0x62ac49);};}exports[_0x0643('0x2a')]=function(_0x4fe5fd,_0x59ee0d){var _0x1ebbf3={},_0x30da4f={},_0x57fb4b={'count':0x0,'rows':[]};var _0x4b0dec=_[_0x0643('0x2b')](db[_0x0643('0x2c')][_0x0643('0x2d')],function(_0x5c94e1){return{'name':_0x5c94e1[_0x0643('0x2e')],'type':_0x5c94e1['type']['key']};});_0x30da4f[_0x0643('0x2f')]=_[_0x0643('0x2b')](_0x4b0dec,_0x0643('0x28'));_0x30da4f['query']=_[_0x0643('0x30')](_0x4fe5fd['query']);_0x30da4f['filters']=_[_0x0643('0x31')](_0x30da4f[_0x0643('0x2f')],_0x30da4f[_0x0643('0x32')]);_0x1ebbf3[_0x0643('0x33')]=_[_0x0643('0x31')](_0x30da4f[_0x0643('0x2f')],qs[_0x0643('0x34')](_0x4fe5fd[_0x0643('0x32')][_0x0643('0x34')]));_0x1ebbf3[_0x0643('0x33')]=_0x1ebbf3['attributes'][_0x0643('0x35')]?_0x1ebbf3['attributes']:_0x30da4f['model'];if(!_0x4fe5fd[_0x0643('0x32')][_0x0643('0x36')](_0x0643('0x37'))){_0x1ebbf3[_0x0643('0x1f')]=qs[_0x0643('0x1f')](_0x4fe5fd[_0x0643('0x32')][_0x0643('0x1f')]);_0x1ebbf3[_0x0643('0x1c')]=qs[_0x0643('0x1c')](_0x4fe5fd[_0x0643('0x32')][_0x0643('0x1c')]);}_0x1ebbf3[_0x0643('0x38')]=qs[_0x0643('0x39')](_0x4fe5fd['query']['sort']);_0x1ebbf3[_0x0643('0x3a')]=qs[_0x0643('0x3b')](_[_0x0643('0x3c')](_0x4fe5fd[_0x0643('0x32')],_0x30da4f[_0x0643('0x3b')]),_0x4b0dec);if(_0x4fe5fd[_0x0643('0x32')][_0x0643('0x3d')]){_0x1ebbf3['where']=_[_0x0643('0x3e')](_0x1ebbf3['where'],{'$or':_[_0x0643('0x2b')](_0x4b0dec,function(_0x17cfa4){if(_0x17cfa4['type']!=='VIRTUAL'){var _0xea67ff={};_0xea67ff[_0x17cfa4[_0x0643('0x28')]]={'$like':'%'+_0x4fe5fd[_0x0643('0x32')]['filter']+'%'};return _0xea67ff;}})});}_0x1ebbf3=_[_0x0643('0x3e')]({},_0x1ebbf3,_0x4fe5fd[_0x0643('0x3f')]);var _0x598f64={'where':_0x1ebbf3[_0x0643('0x3a')]};return db[_0x0643('0x2c')][_0x0643('0x1e')](_0x598f64)[_0x0643('0x25')](function(_0x290471){_0x57fb4b[_0x0643('0x1e')]=_0x290471;if(_0x4fe5fd[_0x0643('0x32')][_0x0643('0x40')]){_0x1ebbf3[_0x0643('0x41')]=[{'all':!![]}];}return db[_0x0643('0x2c')][_0x0643('0x42')](_0x1ebbf3);})[_0x0643('0x25')](function(_0x30b747){_0x57fb4b[_0x0643('0x43')]=_0x30b747;return _0x57fb4b;})[_0x0643('0x25')](respondWithFilteredResult(_0x59ee0d,_0x1ebbf3))['catch'](handleError(_0x59ee0d,null));};exports[_0x0643('0x44')]=function(_0x355050,_0x1ca090){var _0x56c1ff={'raw':!![],'where':{'id':_0x355050[_0x0643('0x45')]['id']}},_0x2db015={};_0x2db015[_0x0643('0x2f')]=_[_0x0643('0x30')](db[_0x0643('0x2c')][_0x0643('0x2d')]);_0x2db015['query']=_['keys'](_0x355050[_0x0643('0x32')]);_0x2db015['filters']=_[_0x0643('0x31')](_0x2db015[_0x0643('0x2f')],_0x2db015[_0x0643('0x32')]);_0x56c1ff[_0x0643('0x33')]=_[_0x0643('0x31')](_0x2db015['model'],qs[_0x0643('0x34')](_0x355050['query'][_0x0643('0x34')]));_0x56c1ff['attributes']=_0x56c1ff[_0x0643('0x33')][_0x0643('0x35')]?_0x56c1ff[_0x0643('0x33')]:_0x2db015[_0x0643('0x2f')];if(_0x355050[_0x0643('0x32')][_0x0643('0x40')]){_0x56c1ff[_0x0643('0x41')]=[{'all':!![]}];}_0x56c1ff=_[_0x0643('0x3e')]({},_0x56c1ff,_0x355050['options']);return db[_0x0643('0x2c')][_0x0643('0x46')](_0x56c1ff)[_0x0643('0x25')](handleEntityNotFound(_0x1ca090,null))[_0x0643('0x25')](respondWithResult(_0x1ca090,null))['catch'](handleError(_0x1ca090,null));};exports[_0x0643('0x47')]=function(_0x3a931a,_0x3f4cb2){return db['ServicenowField']['create'](_0x3a931a['body'],{})['then'](respondWithResult(_0x3f4cb2,0xc9))['catch'](handleError(_0x3f4cb2,null));};exports[_0x0643('0x24')]=function(_0x32c8b7,_0x12ac2a){if(_0x32c8b7['body']['id']){delete _0x32c8b7[_0x0643('0x48')]['id'];}return db[_0x0643('0x2c')][_0x0643('0x46')]({'where':{'id':_0x32c8b7[_0x0643('0x45')]['id']}})[_0x0643('0x25')](handleEntityNotFound(_0x12ac2a,null))[_0x0643('0x25')](saveUpdates(_0x32c8b7[_0x0643('0x48')],null))['then'](respondWithResult(_0x12ac2a,null))[_0x0643('0x49')](handleError(_0x12ac2a,null));};exports[_0x0643('0x4a')]=function(_0x58db28,_0x5dcb8c){return db[_0x0643('0x2c')][_0x0643('0x46')]({'where':{'id':_0x58db28['params']['id']}})['then'](handleEntityNotFound(_0x5dcb8c,null))[_0x0643('0x25')](removeEntity(_0x5dcb8c,null))[_0x0643('0x49')](handleError(_0x5dcb8c,null));};