f48b28f251cdc78dd0f9024d39418e484a76d599
[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 _0x588d=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','ServicenowField','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','merge','filter','options','includeAll','include','findAll','rows','catch','find','create','body','params','zip-dir','fast-json-patch','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x3b1b89,_0xad2818){var _0x50a5b5=function(_0x4fc727){while(--_0x4fc727){_0x3b1b89['push'](_0x3b1b89['shift']());}};_0x50a5b5(++_0xad2818);}(_0x588d,0x82));var _0xd588=function(_0xb04cb1,_0x13b8e3){_0xb04cb1=_0xb04cb1-0x0;var _0x309445=_0x588d[_0xb04cb1];return _0x309445;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd588('0x0'));var jsonpatch=require(_0xd588('0x1'));var rp=require('request-promise');var moment=require(_0xd588('0x2'));var BPromise=require(_0xd588('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0xd588('0x4'));var sox=require(_0xd588('0x5'));var csv=require(_0xd588('0x6'));var ejs=require(_0xd588('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd588('0x8'));var squel=require(_0xd588('0x9'));var crypto=require(_0xd588('0xa'));var jsforce=require(_0xd588('0xb'));var deskjs=require(_0xd588('0xc'));var toCsv=require(_0xd588('0x6'));var querystring=require(_0xd588('0xd'));var Papa=require(_0xd588('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xd588('0xf'));var hardwareService=require(_0xd588('0x10'));var logger=require(_0xd588('0x11'))('api');var utils=require(_0xd588('0x12'));var config=require(_0xd588('0x13'));var licenseUtil=require(_0xd588('0x14'));var db=require(_0xd588('0x15'))['db'];function respondWithStatusCode(_0x26aefd,_0x4b2db0){_0x4b2db0=_0x4b2db0||0xcc;return function(_0x22ed5f){if(_0x22ed5f){return _0x26aefd['sendStatus'](_0x4b2db0);}return _0x26aefd[_0xd588('0x16')](_0x4b2db0)[_0xd588('0x17')]();};}function respondWithResult(_0x2c261d,_0x15fdaf){_0x15fdaf=_0x15fdaf||0xc8;return function(_0x2683bc){if(_0x2683bc){return _0x2c261d['status'](_0x15fdaf)[_0xd588('0x18')](_0x2683bc);}};}function respondWithFilteredResult(_0x52ce2e,_0xceb450){return function(_0x58d34c){if(_0x58d34c){var _0xa64047=typeof _0xceb450[_0xd588('0x19')]==='undefined'&&typeof _0xceb450[_0xd588('0x1a')]===_0xd588('0x1b');var _0x512344=_0x58d34c[_0xd588('0x1c')];var _0x2a50af=_0xa64047?0x0:_0xceb450[_0xd588('0x19')];var _0x48b96b=_0xa64047?_0x58d34c[_0xd588('0x1c')]:_0xceb450[_0xd588('0x19')]+_0xceb450[_0xd588('0x1a')];var _0x53c444;if(_0x48b96b>=_0x512344){_0x48b96b=_0x512344;_0x53c444=0xc8;}else{_0x53c444=0xce;}_0x52ce2e['status'](_0x53c444);return _0x52ce2e[_0xd588('0x1d')](_0xd588('0x1e'),_0x2a50af+'-'+_0x48b96b+'/'+_0x512344)[_0xd588('0x18')](_0x58d34c);}return null;};}function patchUpdates(_0x515074){return function(_0x4e42ba){try{jsonpatch[_0xd588('0x1f')](_0x4e42ba,_0x515074,!![]);}catch(_0x595b36){return BPromise[_0xd588('0x20')](_0x595b36);}return _0x4e42ba[_0xd588('0x21')]();};}function saveUpdates(_0x4ad783,_0x187dee){return function(_0x17d418){if(_0x17d418){return _0x17d418[_0xd588('0x22')](_0x4ad783)[_0xd588('0x23')](function(_0x1916aa){return _0x1916aa;});}return null;};}function removeEntity(_0x451a49,_0x470d9b){return function(_0x5350a9){if(_0x5350a9){return _0x5350a9[_0xd588('0x24')]()['then'](function(){_0x451a49['status'](0xcc)[_0xd588('0x17')]();});}};}function handleEntityNotFound(_0x3f3b4e,_0x5cb56f){return function(_0x155228){if(!_0x155228){_0x3f3b4e[_0xd588('0x25')](0x194);}return _0x155228;};}function handleError(_0x4bafe2,_0x215c63){_0x215c63=_0x215c63||0x1f4;return function(_0x3d66ce){logger[_0xd588('0x26')](_0x3d66ce[_0xd588('0x27')]);if(_0x3d66ce[_0xd588('0x28')]){delete _0x3d66ce[_0xd588('0x28')];}_0x4bafe2['status'](_0x215c63)[_0xd588('0x29')](_0x3d66ce);};}exports[_0xd588('0x2a')]=function(_0x5c96ba,_0x1a5eb5){var _0x346fc2={},_0x52b0d1={},_0x198b35={'count':0x0,'rows':[]};var _0xa2374d=_[_0xd588('0x2b')](db[_0xd588('0x2c')][_0xd588('0x2d')],function(_0x2ea7b1){return{'name':_0x2ea7b1[_0xd588('0x2e')],'type':_0x2ea7b1[_0xd588('0x2f')][_0xd588('0x30')]};});_0x52b0d1[_0xd588('0x31')]=_[_0xd588('0x2b')](_0xa2374d,_0xd588('0x28'));_0x52b0d1[_0xd588('0x32')]=_[_0xd588('0x33')](_0x5c96ba[_0xd588('0x32')]);_0x52b0d1['filters']=_[_0xd588('0x34')](_0x52b0d1[_0xd588('0x31')],_0x52b0d1[_0xd588('0x32')]);_0x346fc2[_0xd588('0x35')]=_[_0xd588('0x34')](_0x52b0d1[_0xd588('0x31')],qs[_0xd588('0x36')](_0x5c96ba['query'][_0xd588('0x36')]));_0x346fc2[_0xd588('0x35')]=_0x346fc2[_0xd588('0x35')][_0xd588('0x37')]?_0x346fc2[_0xd588('0x35')]:_0x52b0d1['model'];if(!_0x5c96ba[_0xd588('0x32')][_0xd588('0x38')](_0xd588('0x39'))){_0x346fc2['limit']=qs[_0xd588('0x1a')](_0x5c96ba[_0xd588('0x32')][_0xd588('0x1a')]);_0x346fc2[_0xd588('0x19')]=qs['offset'](_0x5c96ba[_0xd588('0x32')][_0xd588('0x19')]);}_0x346fc2['order']=qs[_0xd588('0x3a')](_0x5c96ba[_0xd588('0x32')][_0xd588('0x3a')]);_0x346fc2[_0xd588('0x3b')]=qs[_0xd588('0x3c')](_[_0xd588('0x3d')](_0x5c96ba['query'],_0x52b0d1['filters']),_0xa2374d);if(_0x5c96ba['query']['filter']){_0x346fc2[_0xd588('0x3b')]=_[_0xd588('0x3e')](_0x346fc2[_0xd588('0x3b')],{'$or':_['map'](_0xa2374d,function(_0x4c1729){if(_0x4c1729[_0xd588('0x2f')]!=='VIRTUAL'){var _0x13055a={};_0x13055a[_0x4c1729[_0xd588('0x28')]]={'$like':'%'+_0x5c96ba['query'][_0xd588('0x3f')]+'%'};return _0x13055a;}})});}_0x346fc2=_['merge']({},_0x346fc2,_0x5c96ba[_0xd588('0x40')]);var _0x21e3aa={'where':_0x346fc2[_0xd588('0x3b')]};return db[_0xd588('0x2c')][_0xd588('0x1c')](_0x21e3aa)[_0xd588('0x23')](function(_0x1e962b){_0x198b35[_0xd588('0x1c')]=_0x1e962b;if(_0x5c96ba['query'][_0xd588('0x41')]){_0x346fc2[_0xd588('0x42')]=[{'all':!![]}];}return db['ServicenowField'][_0xd588('0x43')](_0x346fc2);})[_0xd588('0x23')](function(_0x21b7da){_0x198b35[_0xd588('0x44')]=_0x21b7da;return _0x198b35;})['then'](respondWithFilteredResult(_0x1a5eb5,_0x346fc2))[_0xd588('0x45')](handleError(_0x1a5eb5,null));};exports['show']=function(_0x7881be,_0x55b708){var _0x1bc92a={'raw':!![],'where':{'id':_0x7881be['params']['id']}},_0x3e8442={};_0x3e8442['model']=_[_0xd588('0x33')](db[_0xd588('0x2c')][_0xd588('0x2d')]);_0x3e8442[_0xd588('0x32')]=_[_0xd588('0x33')](_0x7881be[_0xd588('0x32')]);_0x3e8442['filters']=_[_0xd588('0x34')](_0x3e8442['model'],_0x3e8442[_0xd588('0x32')]);_0x1bc92a[_0xd588('0x35')]=_[_0xd588('0x34')](_0x3e8442[_0xd588('0x31')],qs[_0xd588('0x36')](_0x7881be['query'][_0xd588('0x36')]));_0x1bc92a[_0xd588('0x35')]=_0x1bc92a['attributes'][_0xd588('0x37')]?_0x1bc92a[_0xd588('0x35')]:_0x3e8442[_0xd588('0x31')];if(_0x7881be[_0xd588('0x32')]['includeAll']){_0x1bc92a[_0xd588('0x42')]=[{'all':!![]}];}_0x1bc92a=_['merge']({},_0x1bc92a,_0x7881be[_0xd588('0x40')]);return db[_0xd588('0x2c')][_0xd588('0x46')](_0x1bc92a)[_0xd588('0x23')](handleEntityNotFound(_0x55b708,null))[_0xd588('0x23')](respondWithResult(_0x55b708,null))[_0xd588('0x45')](handleError(_0x55b708,null));};exports[_0xd588('0x47')]=function(_0x11ac59,_0x1f5f17){return db[_0xd588('0x2c')][_0xd588('0x47')](_0x11ac59[_0xd588('0x48')],{})[_0xd588('0x23')](respondWithResult(_0x1f5f17,0xc9))[_0xd588('0x45')](handleError(_0x1f5f17,null));};exports[_0xd588('0x22')]=function(_0x5dfa0e,_0x333444){if(_0x5dfa0e[_0xd588('0x48')]['id']){delete _0x5dfa0e['body']['id'];}return db[_0xd588('0x2c')][_0xd588('0x46')]({'where':{'id':_0x5dfa0e['params']['id']}})[_0xd588('0x23')](handleEntityNotFound(_0x333444,null))[_0xd588('0x23')](saveUpdates(_0x5dfa0e[_0xd588('0x48')],null))[_0xd588('0x23')](respondWithResult(_0x333444,null))['catch'](handleError(_0x333444,null));};exports[_0xd588('0x24')]=function(_0x5a03f7,_0x46c21d){return db[_0xd588('0x2c')][_0xd588('0x46')]({'where':{'id':_0x5a03f7[_0xd588('0x49')]['id']}})['then'](handleEntityNotFound(_0x46c21d,null))[_0xd588('0x23')](removeEntity(_0x46c21d,null))['catch'](handleError(_0x46c21d,null));};