diff --git a/client/admin/admin.jsx b/client/admin/admin.jsx
index 9708b458a..966cb8b63 100644
--- a/client/admin/admin.jsx
+++ b/client/admin/admin.jsx
@@ -4,7 +4,6 @@ const createClass = require('create-react-class');
const BrewCleanup = require('./brewCleanup/brewCleanup.jsx');
const BrewLookup = require('./brewLookup/brewLookup.jsx');
-const BrewCompress = require ('./brewCompress/brewCompress.jsx');
const Stats = require('./stats/stats.jsx');
const Admin = createClass({
@@ -27,8 +26,6 @@ const Admin = createClass({
-
-
;
}
diff --git a/client/admin/brewCompress/brewCompress.jsx b/client/admin/brewCompress/brewCompress.jsx
deleted file mode 100644
index a43fd52c2..000000000
--- a/client/admin/brewCompress/brewCompress.jsx
+++ /dev/null
@@ -1,75 +0,0 @@
-const React = require('react');
-const createClass = require('create-react-class');
-const cx = require('classnames');
-
-const request = require('superagent');
-
-
-const BrewCompress = createClass({
- displayName : 'BrewCompress',
- getDefaultProps(){
- return {};
- },
- getInitialState() {
- return {
- count : 0,
-
- pending : false,
- primed : false,
- err : null,
- ids : null
- };
- },
- prime(){
- this.setState({ pending: true });
-
- request.get('/admin/finduncompressed')
- .then((res)=>this.setState({ count: res.body.count, primed: true, ids: res.body.ids }))
- .catch((err)=>this.setState({ error: err }))
- .finally(()=>this.setState({ pending: false }));
- },
- cleanup(){
- this.setState({ pending: true });
- this.state.ids.forEach((id)=>{
- request.put(`/admin/compress/${id}`)
- .catch((err)=>this.setState({ error: err }))
- .finally(()=>this.setState({ pending: false, primed: false }));
- });
- },
- renderPrimed(){
- if(!this.state.primed) return;
-
- if(!this.state.count){
- return No Matching Brews found.
;
- }
- return
-
- Found {this.state.count} Brews that could be compressed.
-
;
- },
- render(){
- return
-
Brew Compression
-
Compresses the text in brews to binary
-
-
- {this.renderPrimed()}
-
- {this.state.error
- &&
{this.state.error.toString()}
- }
-
;
- }
-});
-
-module.exports = BrewCompress;
\ No newline at end of file
diff --git a/client/admin/brewCompress/brewCompress.less b/client/admin/brewCompress/brewCompress.less
deleted file mode 100644
index 2a2bf42ea..000000000
--- a/client/admin/brewCompress/brewCompress.less
+++ /dev/null
@@ -1,10 +0,0 @@
-.BrewCompress{
- .removeBox{
- margin-top: 20px;
- button{
- background-color: @red;
- margin-right: 10px;
- }
- }
-
-}
\ No newline at end of file
diff --git a/server/admin.api.js b/server/admin.api.js
index 99d42f5ec..a6486a618 100644
--- a/server/admin.api.js
+++ b/server/admin.api.js
@@ -3,7 +3,6 @@ const router = require('express').Router();
const Moment = require('moment');
const render = require('vitreum/steps/render');
const templateFn = require('../client/template.js');
-const zlib = require('zlib');
process.env.ADMIN_USER = process.env.ADMIN_USER || 'admin';
process.env.ADMIN_PASS = process.env.ADMIN_PASS || 'password3';
@@ -27,7 +26,7 @@ const mw = {
};
-/* Search for brews that are older than 3 days and that are shorter than a tweet */
+/* Removes all empty brews that are older than 3 days and that are shorter than a tweet */
const junkBrewQuery = HomebrewModel.find({
'$where' : 'this.text.length < 140',
createdAt : {
@@ -35,11 +34,6 @@ const junkBrewQuery = HomebrewModel.find({
}
}).limit(100).maxTime(60000);
-/* Search for brews that aren't compressed (missing the compressed text field) */
-const uncompressedBrewQuery = HomebrewModel.find({
- 'textBin' : null
-}).limit(50).distinct('_id');
-
router.get('/admin/cleanup', mw.adminOnly, (req, res)=>{
junkBrewQuery.exec((err, objs)=>{
if(err) return res.status(500).send(err);
@@ -64,32 +58,6 @@ router.get('/admin/lookup/:id', mw.adminOnly, (req, res, next)=>{
});
});
-/* Find 50 brews that aren't compressed yet */
-router.get('/admin/finduncompressed', mw.adminOnly, (req, res)=>{
- uncompressedBrewQuery.exec((err, objs)=>{
- if(err) return res.status(500).send(err);
- return res.json({ count: objs.length, ids: objs });
- });
-});
-
-/* Compresses the "text" field of a brew to binary */
-router.put('/admin/compress/:id', (req, res)=>{
- HomebrewModel.get({ _id: req.params.id })
- .then((brew)=>{
- brew.textBin = zlib.deflateRawSync(brew.text); // Compress brew text to binary before saving
- brew.text = undefined; // Delete the non-binary text field since it's not needed anymore
-
- brew.save((err, obj)=>{
- if(err) throw err;
- return res.status(200).send(obj);
- });
- })
- .catch((err)=>{
- console.log(err);
- return res.status(500).send('Error while saving');
- });
-});
-
router.get('/admin/stats', mw.adminOnly, (req, res)=>{
HomebrewModel.count({}, (err, count)=>{
return res.json({
diff --git a/server/homebrew.api.js b/server/homebrew.api.js
index 9966865b1..1a028f7f6 100644
--- a/server/homebrew.api.js
+++ b/server/homebrew.api.js
@@ -38,7 +38,7 @@ router.post('/api', (req, res)=>{
}
newHomebrew.textBin = zlib.deflateRawSync(newHomebrew.text); // Compress brew text to binary before saving
- newHomebrew.text = undefined; // Delete the non-binary text field since it's not needed anymore
+ newHomebrew.text = ''; // Clear out the non-binary text field so its not saved twice
newHomebrew.save((err, obj)=>{
if(err){
@@ -53,8 +53,8 @@ router.put('/api/update/:id', (req, res)=>{
HomebrewModel.get({ editId: req.params.id })
.then((brew)=>{
brew = _.merge(brew, req.body);
- brew.textBin = zlib.deflateRawSync(req.body.text); // Compress brew text to binary before saving
- brew.text = undefined; // Clear out the non-binary text field so its not saved twice
+ brew.textBin = zlib.deflateRawSync(req.body.text); // Compress brew text to binary before saving
+ brew.text = ''; // Clear out the non-binary text field so its not saved twice
brew.updatedAt = new Date();
if(req.account) brew.authors = _.uniq(_.concat(brew.authors, req.account.username));
diff --git a/server/homebrew.model.js b/server/homebrew.model.js
index 25c7a38e1..e8d857982 100644
--- a/server/homebrew.model.js
+++ b/server/homebrew.model.js
@@ -53,7 +53,7 @@ HomebrewSchema.statics.get = function(query){
return new Promise((resolve, reject)=>{
Homebrew.find(query, (err, brews)=>{
if(err || !brews.length) return reject('Can not find brew');
- if(!_.isNil(brews[0].textBin)) { // Uncompress zipped text field
+ if(!_.isUndefined(brews[0].textBin)) { // Uncompress zipped text field
unzipped = zlib.inflateRawSync(brews[0].textBin);
brews[0].text = unzipped.toString();
}