diff --git a/src/models/article.js b/src/models/article.js index e9013f5..1773c70 100644 --- a/src/models/article.js +++ b/src/models/article.js @@ -9,17 +9,26 @@ const ArticleSchema = new Schema({ }, slug: { type: String, required: true, index: { unique: true } }, created_at: { type: Date, default: Date.now }, - html: { type: Blob, required: true }, + html: { type: String, required: true }, comments: [{ content: { type: String, required: true }, author: { type: String, required: true }, created_at: { type: Date, default: Date.now }, votes: { type: Number, default: 0 } }], + views: { type: Number, default: 0 }, votes: { type: Number, default: 0 } }); +ArticleSchema.methods.genSlug = () => this.title.toLowerCase().replace(/\W+/g, '-'); + +ArticleSchema.pre('findOne', next => { + var article = this; + article.views++; + next(); +}); + ArticleSchema.pre('save', next => { var article = this; // only gen the slug if title has been modified (or is new) @@ -29,6 +38,4 @@ ArticleSchema.pre('save', next => { next(); }); -ArticleSchema.methods.genSlug = () => this.title.toLowerCase().replace(/\W+/g, '-'); - export default mongoose.model('Article', ArticleSchema); diff --git a/src/routes/cms/register.svelte b/src/routes/cms/_register.svelte similarity index 100% rename from src/routes/cms/register.svelte rename to src/routes/cms/_register.svelte diff --git a/src/routes/cms/index.svelte b/src/routes/cms/index.svelte new file mode 100644 index 0000000..d67f65c --- /dev/null +++ b/src/routes/cms/index.svelte @@ -0,0 +1,18 @@ + + +