From 0742146481044585baade81f949203082cd52c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chif=20Gerg=C5=91?= <chif@sch.bme.hu> Date: Sun, 23 Feb 2020 16:49:12 +0100 Subject: [PATCH] Start using mongodb. [WIP] --- src/middlewares/news/getNewsList.ts | 22 ++++++++------------ src/models/NewsSchema.ts | 31 +++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 14 deletions(-) create mode 100644 src/models/NewsSchema.ts diff --git a/src/middlewares/news/getNewsList.ts b/src/middlewares/news/getNewsList.ts index b615a06b..6ab121d1 100644 --- a/src/middlewares/news/getNewsList.ts +++ b/src/middlewares/news/getNewsList.ts @@ -1,21 +1,15 @@ import { Request, Response, NextFunction } from 'express'; -import { News } from '../../models/News.interface'; +import News from '../../models/NewsSchema'; + const getNewsListMiddleware = () => { return (req: Request, res: Response, next: NextFunction) => { - const NewsArray: News[] = []; - - NewsArray.push({ - author: { - userName: 'Chif', - _id: 0, - }, - title: 'Chif news', - text: 'asdasdasdasd', - publishDate: new Date(), - }); - - res.json({ news: NewsArray}); + News.find({}, (err, news) => { + if(!err){ + console.log(news); + res.json({ news: news}); + } + }); } } diff --git a/src/models/NewsSchema.ts b/src/models/NewsSchema.ts new file mode 100644 index 00000000..192d2f32 --- /dev/null +++ b/src/models/NewsSchema.ts @@ -0,0 +1,31 @@ +import { Document, Schema, model } from 'mongoose'; + +interface INews extends Document { + title : string + text : string + /* author : { + // id: IUser["_id"], + userName: string, + }, + editedBy?: { + // id: IUser["_id"], + userName: string, + }, */ + publishedAt: Date +} + +const NewsSchema = new Schema({ + title : { type: String, required: true }, + text : { type: String, required: true }, + /* author : { + id: { type: Schema.Types.ObjectId, required: true }, + userName: { type: String, required: true } + }, + editedBy: { + id: { type: Schema.Types.ObjectId, required: true }, + userName: { type: String, required: true } + }, */ + publishedAt: { type: Date, required: true }, +}); + +export default model<INews>('News', NewsSchema); \ No newline at end of file -- GitLab