841f54a2caac6ab067568775c311ba15c266b970
[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 _0x3746=['sort','where','pick','filters','filter','merge','type','options','includeAll','include','findAll','catch','show','params','keys','ServicenowField','create','body','find','html-pdf','eml-format','zip-dir','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','intersection','fields','query','attributes','length','hasOwnProperty','nolimit','order'];(function(_0x9f7af3,_0xcbe532){var _0x64fafa=function(_0x1a3cfe){while(--_0x1a3cfe){_0x9f7af3['push'](_0x9f7af3['shift']());}};_0x64fafa(++_0xcbe532);}(_0x3746,0xa9));var _0x6374=function(_0x1dd5b0,_0x460076){_0x1dd5b0=_0x1dd5b0-0x0;var _0x31c2f8=_0x3746[_0x1dd5b0];return _0x31c2f8;};'use strict';var pdf=require(_0x6374('0x0'));var emlformat=require(_0x6374('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x6374('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6374('0x3'));var moment=require(_0x6374('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x6374('0x5'));var path=require(_0x6374('0x6'));var sox=require(_0x6374('0x7'));var csv=require(_0x6374('0x8'));var ejs=require(_0x6374('0x9'));var fs=require('fs');var _=require(_0x6374('0xa'));var squel=require(_0x6374('0xb'));var crypto=require(_0x6374('0xc'));var jsforce=require(_0x6374('0xd'));var deskjs=require(_0x6374('0xe'));var toCsv=require('to-csv');var querystring=require(_0x6374('0xf'));var Papa=require('papaparse');var Redis=require(_0x6374('0x10'));var authService=require(_0x6374('0x11'));var qs=require(_0x6374('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6374('0x13'));var logger=require(_0x6374('0x14'))(_0x6374('0x15'));var utils=require('../../config/utils');var config=require(_0x6374('0x16'));var licenseUtil=require(_0x6374('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x8c230,_0x2b88fa){_0x2b88fa=_0x2b88fa||0xcc;return function(_0xd2ca){if(_0xd2ca){return _0x8c230['sendStatus'](_0x2b88fa);}return _0x8c230[_0x6374('0x18')](_0x2b88fa)[_0x6374('0x19')]();};}function respondWithResult(_0x3916b5,_0x54b408){_0x54b408=_0x54b408||0xc8;return function(_0x202d55){if(_0x202d55){return _0x3916b5['status'](_0x54b408)['json'](_0x202d55);}};}function respondWithFilteredResult(_0x22c866,_0x4ffe00){return function(_0x17d71b){if(_0x17d71b){var _0x3a2b3a=_0x17d71b[_0x6374('0x1a')],_0x1fdaa6=_0x4ffe00[_0x6374('0x1b')],_0x1de4c2=_0x4ffe00[_0x6374('0x1b')]+_0x4ffe00[_0x6374('0x1c')],_0x287981;if(_0x1de4c2>=_0x3a2b3a){_0x1de4c2=_0x3a2b3a;_0x287981=0xc8;}else{_0x287981=0xce;}_0x22c866[_0x6374('0x18')](_0x287981);return _0x22c866[_0x6374('0x1d')](_0x6374('0x1e'),_0x1fdaa6+'-'+_0x1de4c2+'/'+_0x3a2b3a)[_0x6374('0x1f')](_0x17d71b);}return null;};}function patchUpdates(_0x7f4ea3){return function(_0x435ab6){try{jsonpatch[_0x6374('0x20')](_0x435ab6,_0x7f4ea3,!![]);}catch(_0x46fdc2){return BPromise[_0x6374('0x21')](_0x46fdc2);}return _0x435ab6[_0x6374('0x22')]();};}function saveUpdates(_0x101d49,_0x499fa1){return function(_0x4f6542){if(_0x4f6542){return _0x4f6542[_0x6374('0x23')](_0x101d49)['then'](function(_0x465c25){return _0x465c25;});}return null;};}function removeEntity(_0x43d559,_0x16bfd5){return function(_0x2741b4){if(_0x2741b4){return _0x2741b4['destroy']()[_0x6374('0x24')](function(){_0x43d559[_0x6374('0x18')](0xcc)[_0x6374('0x19')]();});}};}function handleEntityNotFound(_0x1148e5,_0x293cf2){return function(_0xd0a6b5){if(!_0xd0a6b5){_0x1148e5[_0x6374('0x25')](0x194);}return _0xd0a6b5;};}function handleError(_0x1a8808,_0x549da1){_0x549da1=_0x549da1||0x1f4;return function(_0x115729){logger[_0x6374('0x26')](_0x115729[_0x6374('0x27')]);if(_0x115729['name']){delete _0x115729[_0x6374('0x28')];}_0x1a8808['status'](_0x549da1)[_0x6374('0x29')](_0x115729);};}exports[_0x6374('0x2a')]=function(_0x8d5419,_0x1cb029){var _0x42bc95={},_0x3cf16d={},_0x3bf066={'count':0x0,'rows':[]};var _0xf032e3=_[_0x6374('0x2b')](db['ServicenowField'][_0x6374('0x2c')],function(_0x37b74a){return{'name':_0x37b74a[_0x6374('0x2d')],'type':_0x37b74a['type'][_0x6374('0x2e')]};});_0x3cf16d[_0x6374('0x2f')]=_['map'](_0xf032e3,_0x6374('0x28'));_0x3cf16d['query']=_['keys'](_0x8d5419['query']);_0x3cf16d['filters']=_['intersection'](_0x3cf16d[_0x6374('0x2f')],_0x3cf16d['query']);_0x42bc95['attributes']=_[_0x6374('0x30')](_0x3cf16d[_0x6374('0x2f')],qs[_0x6374('0x31')](_0x8d5419[_0x6374('0x32')]['fields']));_0x42bc95[_0x6374('0x33')]=_0x42bc95['attributes'][_0x6374('0x34')]?_0x42bc95[_0x6374('0x33')]:_0x3cf16d[_0x6374('0x2f')];if(!_0x8d5419[_0x6374('0x32')][_0x6374('0x35')](_0x6374('0x36'))){_0x42bc95[_0x6374('0x1c')]=qs[_0x6374('0x1c')](_0x8d5419[_0x6374('0x32')]['limit']);_0x42bc95[_0x6374('0x1b')]=qs[_0x6374('0x1b')](_0x8d5419['query'][_0x6374('0x1b')]);}_0x42bc95[_0x6374('0x37')]=qs[_0x6374('0x38')](_0x8d5419[_0x6374('0x32')][_0x6374('0x38')]);_0x42bc95[_0x6374('0x39')]=qs['filters'](_[_0x6374('0x3a')](_0x8d5419[_0x6374('0x32')],_0x3cf16d[_0x6374('0x3b')]),_0xf032e3);if(_0x8d5419[_0x6374('0x32')][_0x6374('0x3c')]){_0x42bc95[_0x6374('0x39')]=_[_0x6374('0x3d')](_0x42bc95['where'],{'$or':_[_0x6374('0x2b')](_0xf032e3,function(_0x366aaf){if(_0x366aaf[_0x6374('0x3e')]!=='VIRTUAL'){var _0x3a11f6={};_0x3a11f6[_0x366aaf[_0x6374('0x28')]]={'$like':'%'+_0x8d5419['query'][_0x6374('0x3c')]+'%'};return _0x3a11f6;}})});}_0x42bc95=_[_0x6374('0x3d')]({},_0x42bc95,_0x8d5419[_0x6374('0x3f')]);var _0x1de6aa={'where':_0x42bc95[_0x6374('0x39')]};return db['ServicenowField'][_0x6374('0x1a')](_0x1de6aa)[_0x6374('0x24')](function(_0x1cc134){_0x3bf066['count']=_0x1cc134;if(_0x8d5419[_0x6374('0x32')][_0x6374('0x40')]){_0x42bc95[_0x6374('0x41')]=[{'all':!![]}];}return db['ServicenowField'][_0x6374('0x42')](_0x42bc95);})['then'](function(_0x100d53){_0x3bf066['rows']=_0x100d53;return _0x3bf066;})['then'](respondWithFilteredResult(_0x1cb029,_0x42bc95))[_0x6374('0x43')](handleError(_0x1cb029,null));};exports[_0x6374('0x44')]=function(_0x5e1c80,_0x6c4f80){var _0xcd5411={'raw':!![],'where':{'id':_0x5e1c80[_0x6374('0x45')]['id']}},_0x4e530d={};_0x4e530d[_0x6374('0x2f')]=_[_0x6374('0x46')](db[_0x6374('0x47')][_0x6374('0x2c')]);_0x4e530d[_0x6374('0x32')]=_[_0x6374('0x46')](_0x5e1c80['query']);_0x4e530d['filters']=_['intersection'](_0x4e530d['model'],_0x4e530d['query']);_0xcd5411['attributes']=_[_0x6374('0x30')](_0x4e530d['model'],qs[_0x6374('0x31')](_0x5e1c80[_0x6374('0x32')]['fields']));_0xcd5411[_0x6374('0x33')]=_0xcd5411[_0x6374('0x33')][_0x6374('0x34')]?_0xcd5411[_0x6374('0x33')]:_0x4e530d[_0x6374('0x2f')];if(_0x5e1c80[_0x6374('0x32')]['includeAll']){_0xcd5411[_0x6374('0x41')]=[{'all':!![]}];}_0xcd5411=_[_0x6374('0x3d')]({},_0xcd5411,_0x5e1c80[_0x6374('0x3f')]);return db[_0x6374('0x47')]['find'](_0xcd5411)[_0x6374('0x24')](handleEntityNotFound(_0x6c4f80,null))['then'](respondWithResult(_0x6c4f80,null))[_0x6374('0x43')](handleError(_0x6c4f80,null));};exports['create']=function(_0x3877b0,_0x5cdb59){return db[_0x6374('0x47')][_0x6374('0x48')](_0x3877b0['body'],{})[_0x6374('0x24')](respondWithResult(_0x5cdb59,0xc9))[_0x6374('0x43')](handleError(_0x5cdb59,null));};exports[_0x6374('0x23')]=function(_0x2c052b,_0x2f94d0){if(_0x2c052b[_0x6374('0x49')]['id']){delete _0x2c052b[_0x6374('0x49')]['id'];}return db[_0x6374('0x47')][_0x6374('0x4a')]({'where':{'id':_0x2c052b[_0x6374('0x45')]['id']}})[_0x6374('0x24')](handleEntityNotFound(_0x2f94d0,null))[_0x6374('0x24')](saveUpdates(_0x2c052b[_0x6374('0x49')],null))[_0x6374('0x24')](respondWithResult(_0x2f94d0,null))['catch'](handleError(_0x2f94d0,null));};exports['destroy']=function(_0x55dcc2,_0x11c98b){return db[_0x6374('0x47')][_0x6374('0x4a')]({'where':{'id':_0x55dcc2[_0x6374('0x45')]['id']}})[_0x6374('0x24')](handleEntityNotFound(_0x11c98b,null))[_0x6374('0x24')](removeEntity(_0x11c98b,null))['catch'](handleError(_0x11c98b,null));};