diff --git a/src/containers/ContentContainer.js b/src/containers/ContentContainer.js index de7d9a8..b668c87 100644 --- a/src/containers/ContentContainer.js +++ b/src/containers/ContentContainer.js @@ -18,8 +18,6 @@ export default class ContentContainer extends Component { delete window.__INITIAL_DATA__ } - console.log('ContentContainer: ', data) - this.state = { isLoading: !data, type: data[0].type, diff --git a/src/server.js b/src/server.js index 0b051af..980756b 100644 --- a/src/server.js +++ b/src/server.js @@ -7,7 +7,6 @@ import mongoose from 'mongoose' import jsonfile from 'jsonfile' import { ServerRenderer } from './utils/serverRender' import { Scanner } from './utils/scanner' -import { DataHolder } from './utils/dataHolder' import { FileStorage } from './utils/storage/file' import { MongoStorage } from './utils/storage/mongo' @@ -49,15 +48,14 @@ if (head == null) { let storage if (config.storage === 'file') { - storage = new FileStorage() + storage = new FileStorage(config) } else if (config.storage === 'mongo') { - storage = new MongoStorage() + storage = new MongoStorage(config) } -const dataHolder = new DataHolder(storage) -const scanner = new Scanner(config, dataHolder) +const scanner = new Scanner(config, storage) -const serverRenderer = new ServerRenderer(head, config, dataHolder) +const serverRenderer = new ServerRenderer(head, config, storage) app.get('*', serverRenderer.render.bind(serverRenderer)) if (config.storage === 'mongo') { diff --git a/src/utils/dataHolder.js b/src/utils/dataHolder.js deleted file mode 100644 index 86dc285..0000000 --- a/src/utils/dataHolder.js +++ /dev/null @@ -1,22 +0,0 @@ - -export class DataHolder { - constructor (storage) { - this.storage = storage - } - - addPost (post) { - this.storage.addPost(post) - } - - addOther (filename, data) { - this.storage.addOther(filename, data) - } - - deleteFile (filepath) { - this.storage.deleteFile(filepath) - } - - getData (reqPath) { - return this.storage.getData(reqPath) - } -} diff --git a/src/utils/storage/file.js b/src/utils/storage/file.js index 8fdc21c..b3ba1bd 100644 --- a/src/utils/storage/file.js +++ b/src/utils/storage/file.js @@ -2,7 +2,8 @@ import fs from 'fs' import path from 'path' export class FileStorage { - constructor () { + constructor (config) { + this.config = config this.data = { posts: [], other: {} diff --git a/src/utils/storage/mongo.js b/src/utils/storage/mongo.js index 42a9a93..47e867b 100644 --- a/src/utils/storage/mongo.js +++ b/src/utils/storage/mongo.js @@ -1,7 +1,9 @@ import mongoose, { Schema } from 'mongoose' export class MongoStorage { - constructor () { + constructor (config) { + this.config = config + const PostSchema = new Schema({ filename: String, published: String, @@ -49,7 +51,17 @@ export class MongoStorage { } deleteFile (filepath) { - // + const filename = filepath.split('/').pop() + const basename = filename.split('.')[0] + if (this.config['non-content-files'].indexOf(filename) === -1) { + this.Post.findOneAndDelete({ filename: basename }, (err) => { + if (err) throw err + }) + } else { + this.Other.findOneAndDelete({ filename: basename }, (err) => { + if (err) throw err + }) + } } getData (reqPath) {