import React, { useState } from 'react'; import request from 'superagent'; import Moment from 'moment'; const BrewCleanup = ({})=>{ const [junkBrewCollection, setJunkBrewCollection] = useState([]); const [lostBrewCollection, setLostBrewCollection] = useState([]); const [pending, setPending] = useState(false); const [error, setError] = useState(null); const find = async (type)=>{ setPending(true); if(type === 'junk') try { const res = await request.get('/admin/cleanupJunk'); setJunkBrewCollection(res.body.brewCollection); } catch (err) { setError(err); } finally { setPending(false); } if(type === 'lost') try { const res = await request.get('/admin/cleanupLost'); setLostBrewCollection(res.body.brewCollection); } catch (err) { setError(err); } finally { setPending(false); } }; const cleanup = async (type)=>{ setPending(true); if(type === 'junk') try { console.log('deleting junk') const res = await request.post('/admin/cleanupJunk'); } catch (err) { setError(err); } finally { setPending(false); setJunkBrewCollection([]); } if(type === 'lost') try { const res = await request.post('/admin/cleanupLost'); } catch (err) { setError(err); } finally { setPending(false); setLostBrewCollection([]); } }; const renderBrewList = (type)=>{ const brewList = type === 'lost' ? lostBrewCollection : junkBrewCollection; if(!brewList || brewList.length === 0) { console.log(brewList); return null; } return <>

{`Results - ${brewList.length} brews` }

{brewList .sort((a, b)=>{ // Sort brews from most recently updated if(a.updatedAt > b.updatedAt) return -1; return 1; }) .map((brew, idx)=>{ return ; })}
Title Last Update Created Storage
{brew.title || 'No Title'} {Moment(brew.updatedAt).fromNow()} {brew.createdAt ? Moment(brew.createdAt).fromNow() : 'No creation date'} {brew.googleId ? 'Google' : 'Homebrewery'}
; }; const renderFound = (type)=>{ if(type === 'junk' && junkBrewCollection.length === 0 || type === 'lost' && lostBrewCollection.length === 0) return
No Matching Brews found.
; return
{renderBrewList(type)} Found {type === 'junk' ? junkBrewCollection.length : lostBrewCollection.length} Brews that could be removed.
; }; const renderJunkBrewCleanup = ()=>{ return

Junk brews

Removes very short brews to tidy up the database

{renderFound('junk')} {error &&
{error.toString()}
}
; }; const renderLostBrewCleanup = ()=>{ return

Lost brews

Removes very short brews to tidy up the database

{renderFound('lost')} {error &&
{error.toString()}
}
; }; return

Brew Cleanup

{renderJunkBrewCleanup()} {renderLostBrewCleanup()}
; }; export default BrewCleanup;