From 9f2b80a92415a6040a0428b454f98ad24dd84328 Mon Sep 17 00:00:00 2001
From: James Shiffer <2191476+scoliono@users.noreply.github.com>
Date: Mon, 22 Jun 2020 11:59:54 -0700
Subject: [PATCH] completed categories feature
---
src/models/category.js | 2 +-
src/routes/c/[slug].json.js | 12 ++++---
src/routes/c/[slug].svelte | 70 ++++++++++++++++++++++++++++++++++++
src/routes/cms/create.svelte | 3 +-
src/routes/index.svelte | 48 +++----------------------
src/server.js | 2 +-
static/global.css | 37 +++++++++++++++++++
7 files changed, 123 insertions(+), 51 deletions(-)
diff --git a/src/models/category.js b/src/models/category.js
index fbec101..05f5f77 100644
--- a/src/models/category.js
+++ b/src/models/category.js
@@ -3,7 +3,7 @@ import mongoose from 'mongoose';
const { Schema } = mongoose;
const CategorySchema = new Schema({
name: { type: String, required: true, index: { unique: true } },
- slug: { type: String, required: true, index: { unique: true } }
+ slug: { type: String, index: { unique: true } }
});
diff --git a/src/routes/c/[slug].json.js b/src/routes/c/[slug].json.js
index 2cef4c2..1b74acd 100644
--- a/src/routes/c/[slug].json.js
+++ b/src/routes/c/[slug].json.js
@@ -4,11 +4,11 @@ import Category from '../../models/category.js';
export async function get(req, res)
{
let { slug } = req.params;
- let articles;
+ let articles, cat;
if (slug === 'all') {
- articles = await Article.find().sort({ created_at: 'desc' });
+ articles = await Article.find().sort({ created_at: 'desc' }).populate({ path: 'category' });
} else {
- let cat = await Category.findOne({ slug });
+ cat = await Category.findOne({ slug });
if (!cat) {
res.writeHead(404, {
'Content-Type': 'application/json'
@@ -18,11 +18,13 @@ export async function get(req, res)
}));
return;
} else {
- articles = await Article.find({ category: cat.id }).sort({ created_at: 'desc' });
+ articles = await Article.find({ category: cat.id })
+ .sort({ created_at: 'desc' })
+ .populate({ path: 'category' });
}
}
res.writeHead(200, {
'Content-Type': 'application/json'
});
- res.end(JSON.stringify(articles));
+ res.end(JSON.stringify({ category: cat, articles }));
}
diff --git a/src/routes/c/[slug].svelte b/src/routes/c/[slug].svelte
index e69de29..88cfa8f 100644
--- a/src/routes/c/[slug].svelte
+++ b/src/routes/c/[slug].svelte
@@ -0,0 +1,70 @@
+
+
+
No articles are in this category :(
+Check back soon!
+ {/each} +No articles have been published yet :(
-Come back soon!
+Chcek back soon!
{/each}