CRUD and Validations

This commit is contained in:
Eknoor Singh 2025-01-24 11:39:35 +05:30
parent 76f86631af
commit 9c54d1258c
38 changed files with 2618 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
node_modules
# Keep environment variables out of version control
.env

View file

@ -0,0 +1,94 @@
const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
async function createBlog(req, res) {
const { slug, title, body, categoryIDs, tagIDs } = req.body;
const coverImage = req.file ? req.file.path : null;
try {
const newBlog = await prisma.Blog.create({
data: {
slug,
title,
body,
coverImage,
categoryIDs: JSON.parse(categoryIDs),
tagIDs: JSON.parse(tagIDs),
},
});
res.status(201).json(newBlog);
} catch (error) {
console.error("Error creating blog:", error);
res.status(500).json({ message: "Error creating blog" });
}
}
async function getBlogs(req, res) {
try {
const blogs = await prisma.Blog.findMany();
res.json(blogs);
} catch (error) {
console.error("Error getting blogs:", error);
res
.status(500)
.json({ message: "Error getting blogs", error: error.message });
}
}
async function updateBlog(req, res) {
const { slug, title, body, categoryIDs, tagIDs } = req.body;
const id = req.params.id;
try {
const blog = await prisma.Blog.findUnique({
where: { id },
});
if (!blog) {
return res.status(404).send({
message: "Blog not found",
});
}
const updatedBlog = await prisma.Blog.update({
where: { id },
data: {
slug,
title,
body,
categoryIDs,
tagIDs,
},
});
res.status(200).send(updatedBlog);
} catch (error) {
console.error("Error updating blog:", error);
res.status(500).send({
message: "Error updating blog",
error: error.message,
});
}
}
async function deleteBlog(req, res) {
const { id } = req.params;
try {
const blog = await prisma.Blog.delete({
where: { id },
});
res.json(blog);
} catch (error) {
console.error("Error deleting blog:", error);
res
.status(500)
.json({ message: "Error deleting blog", error: error.message });
}
}
module.exports = {
createBlog,
getBlogs,
updateBlog,
deleteBlog,
};

View file

@ -0,0 +1,38 @@
const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
const csv = require("csv-parser");
const fs = require("fs");
async function bulkUploadBlogs(req, res) {
const filePath = req.file.path;
const blogs = [];
fs.createReadStream(filePath)
.pipe(csv())
.on("data", (row) => {
blogs.push(row);
})
.on("end", async () => {
try {
const createdBlogs = await prisma.Blog.createMany({
data: blogs.map((blog) => ({
slug: blog.slug,
title: blog.title,
body: blog.body,
categoryIDs: blog.categoryIDs.split(","),
tagIDs: blog.tagIDs.split(","),
coverImage: blog.coverImage,
})),
});
res.status(201).json(createdBlogs);
} catch (err) {
console.error("Error creating blogs:", err);
res.status(500).json({ message: "Error creating blogs" });
}
});
}
module.exports = {
bulkUploadBlogs,
};

View file

@ -0,0 +1,84 @@
const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
async function createCategory(req, res) {
const { name, blogIDs, blogs } = req.body;
try {
const newCategory = await prisma.Category.create({
data: {
name,
blogIDs,
blogs,
},
});
res.status(201).json(newCategory);
} catch (error) {
console.error("Error creating comment:", error);
res.status(500).json({ message: "Error creating blog" });
}
}
async function getCategory(req, res) {
try {
const categories = await prisma.Category.findMany();
res.json(categories);
} catch (error) {
console.error("Error getting blogs:", error);
res
.status(500)
.json({ message: "Error getting blogs", error: error.message });
}
}
async function updateCategory(req, res) {
const { name, blog, blogIDs } = req.body;
const id = req.params.id;
try {
const Categories = await prisma.Category.findUnique({
where: { id },
});
if (!Categories) {
return res.status(404).send({
message: "Comment not found",
});
}
const updatedCategory = await prisma.Category.update({
where: { id },
data: {
name,
blog,
blogIDs,
},
});
res.status(200).send(updatedCategory);
} catch (error) {
console.error("Error updating Category:", error);
res.status(500).send({
message: "Error updating Category",
error: error.message,
});
}
}
async function deleteCategory(req, res) {
const { id } = req.params;
try {
const delCategory = await prisma.Category.delete({
where: { id },
});
res.json(delCategory);
} catch (error) {
console.error("Error deleting comment:", error);
res
.status(500)
.json({ message: "Error deleting comment", error: error.message });
}
}
module.exports = {
createCategory,
getCategory,
updateCategory,
deleteCategory,
};

View file

@ -0,0 +1,86 @@
const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
async function createComments(req, res) {
const { comment, blogId } = req.body;
try {
const newComment = await prisma.Comment.create({
data: {
comment,
blogId,
},
});
res.status(201).json(newComment);
} catch (error) {
console.error("Error creating comment:", error);
res
.status(500)
.json({ message: "Error creating comment", error: error.message });
}
}
async function getComments(req, res) {
try {
const comments = await prisma.Comment.findMany();
res.json(comments);
} catch (error) {
console.error("Error creating comment:", error);
res
.status(500)
.json({ message: "Error creating comment", error: error.message });
}
}
async function updateComments(req, res) {
const { comment, blog, blogId } = req.body;
const id = req.params.id;
try {
const comments = await prisma.Comment.findUnique({
where: { id },
});
if (!comments) {
return res.status(404).send({
message: "Comment not found",
});
}
const updatedComment = await prisma.Comment.update({
where: { id },
data: {
comment,
blog,
blogId,
},
});
res.status(200).send(updatedComment);
} catch (error) {
console.error("Error updating comment:", error);
res.status(500).send({
message: "Error updating comment",
error: error.message,
});
}
}
async function deleteComments(req, res) {
const { id } = req.params;
try {
const comment = await prisma.Comment.delete({
where: { id },
});
res.json(comment);
} catch (error) {
console.error("Error deleting comment:", error);
res
.status(500)
.json({ message: "Error deleting comment", error: error.message });
}
}
module.exports = {
createComments,
getComments,
updateComments,
deleteComments,
};

View file

@ -0,0 +1,82 @@
const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
async function createTags(req, res) {
const { name, blogIDs, blogs } = req.body;
try {
const newTag = await prisma.Tag.create({
data: {
name,
blogIDs,
blogs,
},
});
res.status(201).json(newTag);
} catch (error) {
console.error("Error creating comment:", error);
res.status(500).json({ message: "Error creating blog" });
}
}
async function getTags(req, res) {
try {
const Tags = await prisma.Tag.findMany();
res.json(Tags);
} catch (error) {
console.error("Error getting blogs:", error);
res
.status(500)
.json({ message: "Error getting blogs", error: error.message });
}
}
async function updateTags(req, res) {
const { name, blog, blogIDs } = req.body;
const id = req.params.id;
try {
const Tags = await prisma.Tag.findUnique({
where: { id },
});
if (!Tags) {
return res.status(404).send({
message: "Comment not found",
});
}
const updatedTags = await prisma.Tag.update({
where: { id },
data: {
name,
blog,
blogIDs,
},
});
res.status(200).send(updatedTags);
} catch (error) {
console.error("Error updating Tag:", error);
res.status(500).send({
message: "Error updating Tag",
error: error.message,
});
}
}
async function deleteTags(req, res) {
const { id } = req.params;
try {
const delTag = await prisma.Tag.delete({
where: { id },
});
res.json(delTag);
} catch (error) {
console.error("Error getting blogs:", error);
res
.status(500)
.json({ message: "Error getting blogs", error: error.message });
}
}
module.exports = {
createTags,
getTags,
updateTags,
deleteTags,
};

57
index.js Normal file
View file

@ -0,0 +1,57 @@
// const { PrismaClient } = require('@prisma/client');
// const prisma = new PrismaClient();
// async function main() {
// await prisma.blog.create({
// data: {
// slug: 'Hello World-90',
// title: 'It is working',
// body: 'Hello It is working...',
// categoryIDs: [],
// tagIDs: [],
// },
// })
// const allBlogs = await prisma.blog.findMany({
// include: {
// comments: true,
// categories: true,
// tags: true,
// },
// })
// console.dir(allBlogs, { depth: null })
// }
// main()
// .catch(async (e) => {
// console.error(e)
// process.exit(1)
// })
// .finally(async () => {
// await prisma.$disconnect()
// })
// async function createBlog(data) {
// return await prisma.blog.create({ data });
// }
// async function getBlogs() {
// return await prisma.blog.findMany({
// include: { comments: true, categories: true, tags: true },
// });
// }
// async function updateBlog(id, data) {
// return await prisma.blog.update({
// where: { id },
// data,
// });
// }
// async function deleteBlog(id) {
// return await prisma.blog.delete({ where: { id } });
// }
// module.exports = { createBlog, getBlogs, updateBlog, deleteBlog };

35
middlewares/upload.js Normal file
View file

@ -0,0 +1,35 @@
const multer = require("multer");
const path = require("path");
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "uploads/");
},
filename: function (req, file, cb) {
cb(null, `${Date.now()}-${file.originalname}`);
},
});
const upload = multer({
storage: storage,
limits: { fileSize: 1000000 },
fileFilter: function (req, file, cb) {
checkFileType(file, cb);
},
});
function checkFileType(file, cb) {
const filetypes = /jpeg|jpg|png|gif|csv/;
const extname = filetypes.test(path.extname(file.originalname).toLowerCase());
const mimetype = filetypes.test(file.mimetype);
console.log(mimetype);
console.log(extname);
if (mimetype && extname) {
return cb(null, true);
} else {
cb("Error: Images and CSV's Only!");
}
}
module.exports = upload;

1790
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

26
package.json Normal file
View file

@ -0,0 +1,26 @@
{
"name": "blog-crud",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "nodemon src/server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"@prisma/client": "^6.2.1",
"body-parser": "^1.20.3",
"csv-parser": "^3.1.0",
"ejs": "^3.1.10",
"express": "^4.21.2",
"fs": "^0.0.1-security",
"joi": "^17.13.3",
"mongodb": "^6.12.0",
"multer": "^1.4.5-lts.1",
"nodemon": "^3.1.9",
"prisma": "^6.2.1"
}
}

48
prisma/schema.prisma Normal file
View file

@ -0,0 +1,48 @@
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
model Blog {
id String @id @default(auto()) @map("_id") @db.ObjectId
slug String @unique
title String
body String
comments Comment[]
coverImage String?
categoryIDs String[] @db.ObjectId
categories Category[] @relation(fields: [categoryIDs], references: [id])
tagIDs String[] @db.ObjectId
tags Tag[] @relation(fields: [tagIDs], references: [id])
}
model Comment {
id String @id @default(auto()) @map("_id") @db.ObjectId
comment String
blog Blog @relation(fields: [blogId], references: [id])
blogId String @db.ObjectId
}
model Category {
id String @id @default(auto()) @map("_id") @db.ObjectId
name String
blogIDs String[] @db.ObjectId
blogs Blog[] @relation(fields: [blogIDs], references: [id])
}
model Tag {
id String @id @default(auto()) @map("_id") @db.ObjectId
name String
blogIDs String[] @db.ObjectId
blogs Blog[] @relation(fields: [blogIDs], references: [id])
}

92
src/server.js Normal file
View file

@ -0,0 +1,92 @@
const express = require("express");
const bodyParser = require("body-parser");
const upload = require('../middlewares/upload');
const blogUserValidater = require('../validations/blogValidations');
const commentValidater = require('../validations/commentsValidation');
const categoryValidater = require('../validations/categoryValidation');
const tagValidater = require('../validations/tagValidation');
const {
createBlog,
getBlogs,
updateBlog,
deleteBlog,
} = require("../controller/blog.controller");
const {
createComments,
getComments,
updateComments,
deleteComments,
} = require("../controller/comments.controller");
const {
createTags,
getTags,
updateTags,
deleteTags,
} = require("../controller/tags.controller");
const {
createCategory,
getCategory,
updateCategory,
deleteCategory,
} = require("../controller/category.controller");
const { bulkUploadBlogs } = require("../controller/bulkUpload.controller");
const app = express();
app.use(bodyParser.json());
const PORT = 3000;
//-----------------------------Blogs-----------------------------
app.post("/blogs", upload.single("coverImage"), blogUserValidater, createBlog);
app.get("/api/blogs", getBlogs);
app.put("/api/blogs/:id", updateBlog);
app.delete("/api/blogs/:id", deleteBlog);
app.post("/api/blogs/bulkBlog", upload.single("file"), bulkUploadBlogs);
//-----------------------------Comments-----------------------------
app.post("/api/comment", commentValidater, createComments);
app.get("/api/comment", getComments);
app.put("/api/comment/:id", updateComments);
app.delete("/api/comment/:id", deleteComments);
//-----------------------------Categories-----------------------------
app.post("/api/category", categoryValidater, createCategory);
app.get("/api/category", getCategory);
app.put("/api/category/:id", updateCategory);
app.delete("/api/category/:id", deleteCategory);
//-----------------------------Tags-----------------------------
app.post("/api/tags", tagValidater, createTags);
app.get("/api/tags", getTags);
app.put("/api/tags/:id", updateTags);
app.delete("/api/tags/:id", deleteTags);
app.listen(PORT, () => {
console.log(
`Your Server is Successfully running on http://localhost:${PORT} `
);
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View file

@ -0,0 +1,21 @@
slug,title,body,categoryIDs,tagIDs
placerat praesent blandit nam nulla integer pede justo lacinia,a odio in hac habitasse platea dictumst maecenas ut,risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum ante ipsum,679228dffc13ae5ec37955d5,679228dffc13ae5ec37955d6
etiam faucibus cursus urna ut tellus nulla,magna bibendum imperdiet nullam orci pede venenatis non sodales sed,pretium iaculis justo in hac habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate,679228dffc13ae5ec37955d7,679228dffc13ae5ec37955d8
at velit eu est congue,duis at velit eu est congue elementum,mi in porttitor pede justo eu massa donec dapibus duis at,679228dffc13ae5ec37955d9,679228dffc13ae5ec37955da
posuere nonummy integer non velit donec diam neque,dolor vel est donec odio justo sollicitudin ut suscipit a,duis bibendum morbi non quam nec dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce,679228e0fc13ae5ec37955db,679228e0fc13ae5ec37955dc
nulla integer pede justo lacinia eget tincidunt eget,vulputate luctus cum sociis natoque penatibus et,non sodales sed tincidunt eu felis fusce posuere felis sed,679228e0fc13ae5ec37955dd,679228e0fc13ae5ec37955de
ultrices libero non mattis pulvinar nulla pede,a suscipit nulla elit ac nulla sed vel enim sit,vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla,679228e0fc13ae5ec37955df,679228e0fc13ae5ec37955e0
sit amet nulla quisque arcu libero rutrum ac,vel nisl duis ac nibh,congue eget semper rutrum nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo odio,679228e0fc13ae5ec37955e1,679228e0fc13ae5ec37955e2
amet sapien dignissim vestibulum vestibulum ante ipsum primis,nibh in lectus pellentesque at nulla suspendisse potenti cras,vestibulum ac est lacinia nisi venenatis tristique fusce congue diam id ornare imperdiet sapien urna pretium nisl,679228e0fc13ae5ec37955e3,679228e0fc13ae5ec37955e4
risus auctor sed tristique in,et ultrices posuere cubilia curae nulla dapibus dolor vel est,quisque erat eros viverra eget congue eget semper rutrum nulla,679228e0fc13ae5ec37955e5,679228e0fc13ae5ec37955e6
sit amet eros suspendisse accumsan tortor quis turpis sed,congue elementum in hac habitasse platea,diam erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis turpis eget elit sodales scelerisque,679228e0fc13ae5ec37955e7,679228e0fc13ae5ec37955e8
ut nunc vestibulum ante ipsum primis,vestibulum sit amet cursus id turpis integer aliquet,porttitor lorem id ligula suspendisse ornare consequat lectus in est risus auctor,679228e0fc13ae5ec37955e9,679228e0fc13ae5ec37955ea
rhoncus mauris enim leo rhoncus sed,mi sit amet lobortis sapien sapien non mi,consequat morbi a ipsum integer a nibh in quis justo maecenas rhoncus aliquam lacus morbi quis tortor,679228e0fc13ae5ec37955eb,679228e0fc13ae5ec37955ec
hac habitasse platea dictumst morbi vestibulum velit id pretium,libero quis orci nullam molestie,sed justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas tristique est et tempus semper est,679228e0fc13ae5ec37955ed,679228e0fc13ae5ec37955ee
duis at velit eu est congue elementum in,integer a nibh in quis justo maecenas rhoncus,nulla tellus in sagittis dui vel nisl duis ac nibh fusce lacus purus aliquet at feugiat non pretium,679228e0fc13ae5ec37955ef,679228e0fc13ae5ec37955f0
elit ac nulla sed vel enim,ante nulla justo aliquam quis turpis eget elit,ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id,679228e0fc13ae5ec37955f1,679228e0fc13ae5ec37955f2
enim blandit mi in porttitor pede justo,quis augue luctus tincidunt nulla mollis molestie lorem quisque ut,turpis sed ante vivamus tortor duis mattis egestas metus aenean fermentum donec ut mauris eget massa tempor convallis,679228e0fc13ae5ec37955f3,679228e0fc13ae5ec37955f4
ipsum primis in faucibus orci,augue quam sollicitudin vitae consectetuer,lorem id ligula suspendisse ornare consequat lectus in est risus auctor sed tristique,679228e0fc13ae5ec37955f5,679228e0fc13ae5ec37955f6
quam a odio in hac habitasse platea,dui proin leo odio porttitor id,turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis at velit eu est congue elementum in,679228e0fc13ae5ec37955f7,679228e0fc13ae5ec37955f8
tellus nisi eu orci mauris lacinia sapien quis libero nullam,ornare imperdiet sapien urna pretium,non sodales sed tincidunt eu felis fusce posuere felis sed lacus morbi sem,679228e0fc13ae5ec37955f9,679228e0fc13ae5ec37955fa
morbi porttitor lorem id ligula suspendisse ornare consequat lectus,rhoncus sed vestibulum sit amet cursus id,nibh in lectus pellentesque at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque,679228e0fc13ae5ec37955fb,679228e0fc13ae5ec37955fc
1 slug title body categoryIDs tagIDs
2 placerat praesent blandit nam nulla integer pede justo lacinia a odio in hac habitasse platea dictumst maecenas ut risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum ante ipsum 679228dffc13ae5ec37955d5 679228dffc13ae5ec37955d6
3 etiam faucibus cursus urna ut tellus nulla magna bibendum imperdiet nullam orci pede venenatis non sodales sed pretium iaculis justo in hac habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate 679228dffc13ae5ec37955d7 679228dffc13ae5ec37955d8
4 at velit eu est congue duis at velit eu est congue elementum mi in porttitor pede justo eu massa donec dapibus duis at 679228dffc13ae5ec37955d9 679228dffc13ae5ec37955da
5 posuere nonummy integer non velit donec diam neque dolor vel est donec odio justo sollicitudin ut suscipit a duis bibendum morbi non quam nec dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce 679228e0fc13ae5ec37955db 679228e0fc13ae5ec37955dc
6 nulla integer pede justo lacinia eget tincidunt eget vulputate luctus cum sociis natoque penatibus et non sodales sed tincidunt eu felis fusce posuere felis sed 679228e0fc13ae5ec37955dd 679228e0fc13ae5ec37955de
7 ultrices libero non mattis pulvinar nulla pede a suscipit nulla elit ac nulla sed vel enim sit vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla 679228e0fc13ae5ec37955df 679228e0fc13ae5ec37955e0
8 sit amet nulla quisque arcu libero rutrum ac vel nisl duis ac nibh congue eget semper rutrum nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo odio 679228e0fc13ae5ec37955e1 679228e0fc13ae5ec37955e2
9 amet sapien dignissim vestibulum vestibulum ante ipsum primis nibh in lectus pellentesque at nulla suspendisse potenti cras vestibulum ac est lacinia nisi venenatis tristique fusce congue diam id ornare imperdiet sapien urna pretium nisl 679228e0fc13ae5ec37955e3 679228e0fc13ae5ec37955e4
10 risus auctor sed tristique in et ultrices posuere cubilia curae nulla dapibus dolor vel est quisque erat eros viverra eget congue eget semper rutrum nulla 679228e0fc13ae5ec37955e5 679228e0fc13ae5ec37955e6
11 sit amet eros suspendisse accumsan tortor quis turpis sed congue elementum in hac habitasse platea diam erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis turpis eget elit sodales scelerisque 679228e0fc13ae5ec37955e7 679228e0fc13ae5ec37955e8
12 ut nunc vestibulum ante ipsum primis vestibulum sit amet cursus id turpis integer aliquet porttitor lorem id ligula suspendisse ornare consequat lectus in est risus auctor 679228e0fc13ae5ec37955e9 679228e0fc13ae5ec37955ea
13 rhoncus mauris enim leo rhoncus sed mi sit amet lobortis sapien sapien non mi consequat morbi a ipsum integer a nibh in quis justo maecenas rhoncus aliquam lacus morbi quis tortor 679228e0fc13ae5ec37955eb 679228e0fc13ae5ec37955ec
14 hac habitasse platea dictumst morbi vestibulum velit id pretium libero quis orci nullam molestie sed justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas tristique est et tempus semper est 679228e0fc13ae5ec37955ed 679228e0fc13ae5ec37955ee
15 duis at velit eu est congue elementum in integer a nibh in quis justo maecenas rhoncus nulla tellus in sagittis dui vel nisl duis ac nibh fusce lacus purus aliquet at feugiat non pretium 679228e0fc13ae5ec37955ef 679228e0fc13ae5ec37955f0
16 elit ac nulla sed vel enim ante nulla justo aliquam quis turpis eget elit ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id 679228e0fc13ae5ec37955f1 679228e0fc13ae5ec37955f2
17 enim blandit mi in porttitor pede justo quis augue luctus tincidunt nulla mollis molestie lorem quisque ut turpis sed ante vivamus tortor duis mattis egestas metus aenean fermentum donec ut mauris eget massa tempor convallis 679228e0fc13ae5ec37955f3 679228e0fc13ae5ec37955f4
18 ipsum primis in faucibus orci augue quam sollicitudin vitae consectetuer lorem id ligula suspendisse ornare consequat lectus in est risus auctor sed tristique 679228e0fc13ae5ec37955f5 679228e0fc13ae5ec37955f6
19 quam a odio in hac habitasse platea dui proin leo odio porttitor id turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis at velit eu est congue elementum in 679228e0fc13ae5ec37955f7 679228e0fc13ae5ec37955f8
20 tellus nisi eu orci mauris lacinia sapien quis libero nullam ornare imperdiet sapien urna pretium non sodales sed tincidunt eu felis fusce posuere felis sed lacus morbi sem 679228e0fc13ae5ec37955f9 679228e0fc13ae5ec37955fa
21 morbi porttitor lorem id ligula suspendisse ornare consequat lectus rhoncus sed vestibulum sit amet cursus id nibh in lectus pellentesque at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque 679228e0fc13ae5ec37955fb 679228e0fc13ae5ec37955fc

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1,11 @@
slug,title,body,catrgoryIDs,tagIDs
eros viverra eget congue eget semper rutrum nulla nunc,pretium iaculis justo in hac habitasse,volutpat eleifend donec ut dolor morbi vel lectus in quam,679314e7fc13ae62bb9b57f2,679314e7fc13ae62bb9b57f3
accumsan tellus nisi eu orci,eu est congue elementum in hac,volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,679314e7fc13ae62bb9b57f4,679314e7fc13ae62bb9b57f5
congue vivamus metus arcu adipiscing molestie hendrerit at vulputate,penatibus et magnis dis parturient,maecenas tristique est et tempus semper est quam pharetra magna ac consequat,679314e7fc13ae62bb9b57f6,679314e7fc13ae62bb9b57f7
id luctus nec molestie sed justo pellentesque,in magna bibendum imperdiet nullam,volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea,679314e7fc13ae62bb9b57f8,679314e7fc13ae62bb9b57f9
augue vestibulum rutrum rutrum neque aenean auctor gravida sem,integer a nibh in quis justo maecenas rhoncus,eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget,679314e7fc13ae62bb9b57fa,679314e7fc13ae62bb9b57fb
ipsum primis in faucibus orci,in lectus pellentesque at nulla suspendisse potenti,velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue,679314e7fc13ae62bb9b57fc,679314e7fc13ae62bb9b57fd
est congue elementum in hac habitasse platea dictumst morbi vestibulum,ut massa quis augue luctus tincidunt,libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti cras,679314e7fc13ae62bb9b57fe,679314e7fc13ae62bb9b57ff
sit amet sapien dignissim vestibulum vestibulum,eros vestibulum ac est lacinia nisi venenatis tristique,sem duis aliquam convallis nunc proin at turpis a pede,679314e7fc13ae62bb9b5800,679314e7fc13ae62bb9b5801
sit amet cursus id turpis integer aliquet massa,convallis tortor risus dapibus augue vel accumsan tellus,vulputate elementum nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas,679314e7fc13ae62bb9b5802,679314e7fc13ae62bb9b5803
suspendisse potenti cras in purus eu magna vulputate,pulvinar sed nisl nunc rhoncus dui vel sem,habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius,679314e7fc13ae62bb9b5804,679314e7fc13ae62bb9b5805
1 slug title body catrgoryIDs tagIDs
2 eros viverra eget congue eget semper rutrum nulla nunc pretium iaculis justo in hac habitasse volutpat eleifend donec ut dolor morbi vel lectus in quam 679314e7fc13ae62bb9b57f2 679314e7fc13ae62bb9b57f3
3 accumsan tellus nisi eu orci eu est congue elementum in hac volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium 679314e7fc13ae62bb9b57f4 679314e7fc13ae62bb9b57f5
4 congue vivamus metus arcu adipiscing molestie hendrerit at vulputate penatibus et magnis dis parturient maecenas tristique est et tempus semper est quam pharetra magna ac consequat 679314e7fc13ae62bb9b57f6 679314e7fc13ae62bb9b57f7
5 id luctus nec molestie sed justo pellentesque in magna bibendum imperdiet nullam volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea 679314e7fc13ae62bb9b57f8 679314e7fc13ae62bb9b57f9
6 augue vestibulum rutrum rutrum neque aenean auctor gravida sem integer a nibh in quis justo maecenas rhoncus eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget 679314e7fc13ae62bb9b57fa 679314e7fc13ae62bb9b57fb
7 ipsum primis in faucibus orci in lectus pellentesque at nulla suspendisse potenti velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue 679314e7fc13ae62bb9b57fc 679314e7fc13ae62bb9b57fd
8 est congue elementum in hac habitasse platea dictumst morbi vestibulum ut massa quis augue luctus tincidunt libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti cras 679314e7fc13ae62bb9b57fe 679314e7fc13ae62bb9b57ff
9 sit amet sapien dignissim vestibulum vestibulum eros vestibulum ac est lacinia nisi venenatis tristique sem duis aliquam convallis nunc proin at turpis a pede 679314e7fc13ae62bb9b5800 679314e7fc13ae62bb9b5801
10 sit amet cursus id turpis integer aliquet massa convallis tortor risus dapibus augue vel accumsan tellus vulputate elementum nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas 679314e7fc13ae62bb9b5802 679314e7fc13ae62bb9b5803
11 suspendisse potenti cras in purus eu magna vulputate pulvinar sed nisl nunc rhoncus dui vel sem habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius 679314e7fc13ae62bb9b5804 679314e7fc13ae62bb9b5805

View file

@ -0,0 +1,11 @@
slug,title,body,catrgoryIDs,tagIDs
eros viverra eget congue eget semper rutrum nulla nunc,pretium iaculis justo in hac habitasse,volutpat eleifend donec ut dolor morbi vel lectus in quam,679314e7fc13ae62bb9b57f2,679314e7fc13ae62bb9b57f3
accumsan tellus nisi eu orci,eu est congue elementum in hac,volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,679314e7fc13ae62bb9b57f4,679314e7fc13ae62bb9b57f5
congue vivamus metus arcu adipiscing molestie hendrerit at vulputate,penatibus et magnis dis parturient,maecenas tristique est et tempus semper est quam pharetra magna ac consequat,679314e7fc13ae62bb9b57f6,679314e7fc13ae62bb9b57f7
id luctus nec molestie sed justo pellentesque,in magna bibendum imperdiet nullam,volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea,679314e7fc13ae62bb9b57f8,679314e7fc13ae62bb9b57f9
augue vestibulum rutrum rutrum neque aenean auctor gravida sem,integer a nibh in quis justo maecenas rhoncus,eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget,679314e7fc13ae62bb9b57fa,679314e7fc13ae62bb9b57fb
ipsum primis in faucibus orci,in lectus pellentesque at nulla suspendisse potenti,velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue,679314e7fc13ae62bb9b57fc,679314e7fc13ae62bb9b57fd
est congue elementum in hac habitasse platea dictumst morbi vestibulum,ut massa quis augue luctus tincidunt,libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti cras,679314e7fc13ae62bb9b57fe,679314e7fc13ae62bb9b57ff
sit amet sapien dignissim vestibulum vestibulum,eros vestibulum ac est lacinia nisi venenatis tristique,sem duis aliquam convallis nunc proin at turpis a pede,679314e7fc13ae62bb9b5800,679314e7fc13ae62bb9b5801
sit amet cursus id turpis integer aliquet massa,convallis tortor risus dapibus augue vel accumsan tellus,vulputate elementum nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas,679314e7fc13ae62bb9b5802,679314e7fc13ae62bb9b5803
suspendisse potenti cras in purus eu magna vulputate,pulvinar sed nisl nunc rhoncus dui vel sem,habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius,679314e7fc13ae62bb9b5804,679314e7fc13ae62bb9b5805
1 slug title body catrgoryIDs tagIDs
2 eros viverra eget congue eget semper rutrum nulla nunc pretium iaculis justo in hac habitasse volutpat eleifend donec ut dolor morbi vel lectus in quam 679314e7fc13ae62bb9b57f2 679314e7fc13ae62bb9b57f3
3 accumsan tellus nisi eu orci eu est congue elementum in hac volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium 679314e7fc13ae62bb9b57f4 679314e7fc13ae62bb9b57f5
4 congue vivamus metus arcu adipiscing molestie hendrerit at vulputate penatibus et magnis dis parturient maecenas tristique est et tempus semper est quam pharetra magna ac consequat 679314e7fc13ae62bb9b57f6 679314e7fc13ae62bb9b57f7
5 id luctus nec molestie sed justo pellentesque in magna bibendum imperdiet nullam volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea 679314e7fc13ae62bb9b57f8 679314e7fc13ae62bb9b57f9
6 augue vestibulum rutrum rutrum neque aenean auctor gravida sem integer a nibh in quis justo maecenas rhoncus eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget 679314e7fc13ae62bb9b57fa 679314e7fc13ae62bb9b57fb
7 ipsum primis in faucibus orci in lectus pellentesque at nulla suspendisse potenti velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue 679314e7fc13ae62bb9b57fc 679314e7fc13ae62bb9b57fd
8 est congue elementum in hac habitasse platea dictumst morbi vestibulum ut massa quis augue luctus tincidunt libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti cras 679314e7fc13ae62bb9b57fe 679314e7fc13ae62bb9b57ff
9 sit amet sapien dignissim vestibulum vestibulum eros vestibulum ac est lacinia nisi venenatis tristique sem duis aliquam convallis nunc proin at turpis a pede 679314e7fc13ae62bb9b5800 679314e7fc13ae62bb9b5801
10 sit amet cursus id turpis integer aliquet massa convallis tortor risus dapibus augue vel accumsan tellus vulputate elementum nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas 679314e7fc13ae62bb9b5802 679314e7fc13ae62bb9b5803
11 suspendisse potenti cras in purus eu magna vulputate pulvinar sed nisl nunc rhoncus dui vel sem habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius 679314e7fc13ae62bb9b5804 679314e7fc13ae62bb9b5805

View file

@ -0,0 +1,11 @@
slug,title,body,catrgoryIDs,tagIDs
eros viverra eget congue eget semper rutrum nulla nunc,pretium iaculis justo in hac habitasse,volutpat eleifend donec ut dolor morbi vel lectus in quam,679314e7fc13ae62bb9b57f2,679314e7fc13ae62bb9b57f3
accumsan tellus nisi eu orci,eu est congue elementum in hac,volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,679314e7fc13ae62bb9b57f4,679314e7fc13ae62bb9b57f5
congue vivamus metus arcu adipiscing molestie hendrerit at vulputate,penatibus et magnis dis parturient,maecenas tristique est et tempus semper est quam pharetra magna ac consequat,679314e7fc13ae62bb9b57f6,679314e7fc13ae62bb9b57f7
id luctus nec molestie sed justo pellentesque,in magna bibendum imperdiet nullam,volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea,679314e7fc13ae62bb9b57f8,679314e7fc13ae62bb9b57f9
augue vestibulum rutrum rutrum neque aenean auctor gravida sem,integer a nibh in quis justo maecenas rhoncus,eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget,679314e7fc13ae62bb9b57fa,679314e7fc13ae62bb9b57fb
ipsum primis in faucibus orci,in lectus pellentesque at nulla suspendisse potenti,velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue,679314e7fc13ae62bb9b57fc,679314e7fc13ae62bb9b57fd
est congue elementum in hac habitasse platea dictumst morbi vestibulum,ut massa quis augue luctus tincidunt,libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti cras,679314e7fc13ae62bb9b57fe,679314e7fc13ae62bb9b57ff
sit amet sapien dignissim vestibulum vestibulum,eros vestibulum ac est lacinia nisi venenatis tristique,sem duis aliquam convallis nunc proin at turpis a pede,679314e7fc13ae62bb9b5800,679314e7fc13ae62bb9b5801
sit amet cursus id turpis integer aliquet massa,convallis tortor risus dapibus augue vel accumsan tellus,vulputate elementum nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas,679314e7fc13ae62bb9b5802,679314e7fc13ae62bb9b5803
suspendisse potenti cras in purus eu magna vulputate,pulvinar sed nisl nunc rhoncus dui vel sem,habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius,679314e7fc13ae62bb9b5804,679314e7fc13ae62bb9b5805
1 slug title body catrgoryIDs tagIDs
2 eros viverra eget congue eget semper rutrum nulla nunc pretium iaculis justo in hac habitasse volutpat eleifend donec ut dolor morbi vel lectus in quam 679314e7fc13ae62bb9b57f2 679314e7fc13ae62bb9b57f3
3 accumsan tellus nisi eu orci eu est congue elementum in hac volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium 679314e7fc13ae62bb9b57f4 679314e7fc13ae62bb9b57f5
4 congue vivamus metus arcu adipiscing molestie hendrerit at vulputate penatibus et magnis dis parturient maecenas tristique est et tempus semper est quam pharetra magna ac consequat 679314e7fc13ae62bb9b57f6 679314e7fc13ae62bb9b57f7
5 id luctus nec molestie sed justo pellentesque in magna bibendum imperdiet nullam volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea 679314e7fc13ae62bb9b57f8 679314e7fc13ae62bb9b57f9
6 augue vestibulum rutrum rutrum neque aenean auctor gravida sem integer a nibh in quis justo maecenas rhoncus eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget 679314e7fc13ae62bb9b57fa 679314e7fc13ae62bb9b57fb
7 ipsum primis in faucibus orci in lectus pellentesque at nulla suspendisse potenti velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue 679314e7fc13ae62bb9b57fc 679314e7fc13ae62bb9b57fd
8 est congue elementum in hac habitasse platea dictumst morbi vestibulum ut massa quis augue luctus tincidunt libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti cras 679314e7fc13ae62bb9b57fe 679314e7fc13ae62bb9b57ff
9 sit amet sapien dignissim vestibulum vestibulum eros vestibulum ac est lacinia nisi venenatis tristique sem duis aliquam convallis nunc proin at turpis a pede 679314e7fc13ae62bb9b5800 679314e7fc13ae62bb9b5801
10 sit amet cursus id turpis integer aliquet massa convallis tortor risus dapibus augue vel accumsan tellus vulputate elementum nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas 679314e7fc13ae62bb9b5802 679314e7fc13ae62bb9b5803
11 suspendisse potenti cras in purus eu magna vulputate pulvinar sed nisl nunc rhoncus dui vel sem habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius 679314e7fc13ae62bb9b5804 679314e7fc13ae62bb9b5805

View file

@ -0,0 +1,11 @@
slug,title,body,categoryIDs,tagIDs
tortor duis mattis egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla neque libero convallis eget,tortor sollicitudin mi sit amet lobortis sapien sapien non mi,iaculis congue vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec quis orci,67931922fc13ae66029b57f2,67931922fc13ae66029b57f3
velit id pretium iaculis diam erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis,eget massa tempor convallis nulla neque libero convallis eget eleifend luctus ultricies eu nibh quisque id justo sit,rutrum nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo odio porttitor id consequat,67931922fc13ae66029b57f4,67931922fc13ae66029b57f5
fringilla rhoncus mauris enim leo rhoncus sed vestibulum sit amet cursus id turpis integer,sodales sed tincidunt eu felis fusce posuere felis sed lacus morbi sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl,ligula vehicula consequat morbi a ipsum integer a nibh in quis justo maecenas rhoncus aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo odio,67931922fc13ae66029b57f6,67931922fc13ae66029b57f7
curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat et eros vestibulum ac est,rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl,tellus nisi eu orci mauris lacinia sapien quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in quis,67931922fc13ae66029b57f8,67931922fc13ae66029b57f9
lobortis est phasellus sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu mi nulla,feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac habitasse platea,turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis at velit eu est congue elementum in hac habitasse platea,67931922fc13ae66029b57fa,67931922fc13ae66029b57fb
vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat,eget vulputate ut ultrices vel augue vestibulum ante ipsum primis in,posuere metus vitae ipsum aliquam non mauris morbi non lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci pede venenatis non sodales sed tincidunt eu felis fusce,67931922fc13ae66029b57fc,67931922fc13ae66029b57fd
maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat,dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida,odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse,67931922fc13ae66029b57fe,67931922fc13ae66029b57ff
sapien sapien non mi integer ac neque duis bibendum morbi non quam nec dui,velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque,in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque,67931922fc13ae66029b5800,67931922fc13ae66029b5801
elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum,semper porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh,pede justo eu massa donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum justo nec,67931922fc13ae66029b5802,67931922fc13ae66029b5803
mattis pulvinar nulla pede ullamcorper augue a suscipit nulla elit ac,justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit,mattis odio donec vitae nisi nam ultrices libero non mattis pulvinar nulla pede ullamcorper augue a suscipit nulla elit ac nulla sed,67931922fc13ae66029b5804,67931922fc13ae66029b5805
1 slug title body categoryIDs tagIDs
2 tortor duis mattis egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla neque libero convallis eget tortor sollicitudin mi sit amet lobortis sapien sapien non mi iaculis congue vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec quis orci 67931922fc13ae66029b57f2 67931922fc13ae66029b57f3
3 velit id pretium iaculis diam erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis eget massa tempor convallis nulla neque libero convallis eget eleifend luctus ultricies eu nibh quisque id justo sit rutrum nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo odio porttitor id consequat 67931922fc13ae66029b57f4 67931922fc13ae66029b57f5
4 fringilla rhoncus mauris enim leo rhoncus sed vestibulum sit amet cursus id turpis integer sodales sed tincidunt eu felis fusce posuere felis sed lacus morbi sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl ligula vehicula consequat morbi a ipsum integer a nibh in quis justo maecenas rhoncus aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo odio 67931922fc13ae66029b57f6 67931922fc13ae66029b57f7
5 curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat et eros vestibulum ac est rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl tellus nisi eu orci mauris lacinia sapien quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in quis 67931922fc13ae66029b57f8 67931922fc13ae66029b57f9
6 lobortis est phasellus sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu mi nulla feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac habitasse platea turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis at velit eu est congue elementum in hac habitasse platea 67931922fc13ae66029b57fa 67931922fc13ae66029b57fb
7 vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eget vulputate ut ultrices vel augue vestibulum ante ipsum primis in posuere metus vitae ipsum aliquam non mauris morbi non lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci pede venenatis non sodales sed tincidunt eu felis fusce 67931922fc13ae66029b57fc 67931922fc13ae66029b57fd
8 maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse 67931922fc13ae66029b57fe 67931922fc13ae66029b57ff
9 sapien sapien non mi integer ac neque duis bibendum morbi non quam nec dui velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque 67931922fc13ae66029b5800 67931922fc13ae66029b5801
10 elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum semper porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh pede justo eu massa donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum justo nec 67931922fc13ae66029b5802 67931922fc13ae66029b5803
11 mattis pulvinar nulla pede ullamcorper augue a suscipit nulla elit ac justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit mattis odio donec vitae nisi nam ultrices libero non mattis pulvinar nulla pede ullamcorper augue a suscipit nulla elit ac nulla sed 67931922fc13ae66029b5804 67931922fc13ae66029b5805

View file

@ -0,0 +1,11 @@
slug,title,body,catrgoryIDs,tagIDs
eros viverra eget congue eget semper rutrum nulla nunc,pretium iaculis justo in hac habitasse,volutpat eleifend donec ut dolor morbi vel lectus in quam,679314e7fc13ae62bb9b57f2,679314e7fc13ae62bb9b57f3
accumsan tellus nisi eu orci,eu est congue elementum in hac,volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,679314e7fc13ae62bb9b57f4,679314e7fc13ae62bb9b57f5
congue vivamus metus arcu adipiscing molestie hendrerit at vulputate,penatibus et magnis dis parturient,maecenas tristique est et tempus semper est quam pharetra magna ac consequat,679314e7fc13ae62bb9b57f6,679314e7fc13ae62bb9b57f7
id luctus nec molestie sed justo pellentesque,in magna bibendum imperdiet nullam,volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea,679314e7fc13ae62bb9b57f8,679314e7fc13ae62bb9b57f9
augue vestibulum rutrum rutrum neque aenean auctor gravida sem,integer a nibh in quis justo maecenas rhoncus,eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget,679314e7fc13ae62bb9b57fa,679314e7fc13ae62bb9b57fb
ipsum primis in faucibus orci,in lectus pellentesque at nulla suspendisse potenti,velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue,679314e7fc13ae62bb9b57fc,679314e7fc13ae62bb9b57fd
est congue elementum in hac habitasse platea dictumst morbi vestibulum,ut massa quis augue luctus tincidunt,libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti cras,679314e7fc13ae62bb9b57fe,679314e7fc13ae62bb9b57ff
sit amet sapien dignissim vestibulum vestibulum,eros vestibulum ac est lacinia nisi venenatis tristique,sem duis aliquam convallis nunc proin at turpis a pede,679314e7fc13ae62bb9b5800,679314e7fc13ae62bb9b5801
sit amet cursus id turpis integer aliquet massa,convallis tortor risus dapibus augue vel accumsan tellus,vulputate elementum nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas,679314e7fc13ae62bb9b5802,679314e7fc13ae62bb9b5803
suspendisse potenti cras in purus eu magna vulputate,pulvinar sed nisl nunc rhoncus dui vel sem,habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius,679314e7fc13ae62bb9b5804,679314e7fc13ae62bb9b5805
1 slug title body catrgoryIDs tagIDs
2 eros viverra eget congue eget semper rutrum nulla nunc pretium iaculis justo in hac habitasse volutpat eleifend donec ut dolor morbi vel lectus in quam 679314e7fc13ae62bb9b57f2 679314e7fc13ae62bb9b57f3
3 accumsan tellus nisi eu orci eu est congue elementum in hac volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium 679314e7fc13ae62bb9b57f4 679314e7fc13ae62bb9b57f5
4 congue vivamus metus arcu adipiscing molestie hendrerit at vulputate penatibus et magnis dis parturient maecenas tristique est et tempus semper est quam pharetra magna ac consequat 679314e7fc13ae62bb9b57f6 679314e7fc13ae62bb9b57f7
5 id luctus nec molestie sed justo pellentesque in magna bibendum imperdiet nullam volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea 679314e7fc13ae62bb9b57f8 679314e7fc13ae62bb9b57f9
6 augue vestibulum rutrum rutrum neque aenean auctor gravida sem integer a nibh in quis justo maecenas rhoncus eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget 679314e7fc13ae62bb9b57fa 679314e7fc13ae62bb9b57fb
7 ipsum primis in faucibus orci in lectus pellentesque at nulla suspendisse potenti velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue 679314e7fc13ae62bb9b57fc 679314e7fc13ae62bb9b57fd
8 est congue elementum in hac habitasse platea dictumst morbi vestibulum ut massa quis augue luctus tincidunt libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti cras 679314e7fc13ae62bb9b57fe 679314e7fc13ae62bb9b57ff
9 sit amet sapien dignissim vestibulum vestibulum eros vestibulum ac est lacinia nisi venenatis tristique sem duis aliquam convallis nunc proin at turpis a pede 679314e7fc13ae62bb9b5800 679314e7fc13ae62bb9b5801
10 sit amet cursus id turpis integer aliquet massa convallis tortor risus dapibus augue vel accumsan tellus vulputate elementum nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas 679314e7fc13ae62bb9b5802 679314e7fc13ae62bb9b5803
11 suspendisse potenti cras in purus eu magna vulputate pulvinar sed nisl nunc rhoncus dui vel sem habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris vulputate elementum nullam varius 679314e7fc13ae62bb9b5804 679314e7fc13ae62bb9b5805

View file

@ -0,0 +1,11 @@
slug,title,body,categoryIDs,tagIDs
odio porttitor id consequat in consequat ut nulla sed accumsan felis ut,lacinia eget tincidunt eget tempus vel pede morbi porttitor lorem id ligula suspendisse ornare consequat lectus,habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac,67931fa1fc13ae64a69b57f2,67931fa1fc13ae64a69b57f3
in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum,ut erat curabitur gravida nisi at nibh in hac habitasse platea,ultrices posuere cubilia curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat et eros vestibulum ac est lacinia nisi venenatis tristique fusce congue diam,67931fa1fc13ae64a69b57f4,67931fa1fc13ae64a69b57f5
nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo odio porttitor,rhoncus aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo odio condimentum,id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus dolor vel est donec odio,67931fa1fc13ae64a69b57f6,67931fa1fc13ae64a69b57f7
nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel,nisl aenean lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur,ut ultrices vel augue vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit amet lobortis,67931fa1fc13ae64a69b57f8,67931fa1fc13ae64a69b57f9
est donec odio justo sollicitudin ut suscipit a feugiat et,nibh fusce lacus purus aliquet at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a,id consequat in consequat ut nulla sed accumsan felis ut at dolor quis odio consequat varius integer ac leo pellentesque ultrices mattis,67931fa1fc13ae64a69b57fa,67931fa1fc13ae64a69b57fb
vel pede morbi porttitor lorem id ligula suspendisse ornare consequat lectus in est risus,sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu mi,purus phasellus in felis donec semper sapien a libero nam dui proin leo odio porttitor id consequat in consequat ut nulla sed accumsan felis ut,67931fa1fc13ae64a69b57fc,67931fa1fc13ae64a69b57fd
blandit lacinia erat vestibulum sed magna at nunc commodo placerat praesent blandit nam nulla integer,pede libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti,morbi odio odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu,67931fa1fc13ae64a69b57fe,67931fa1fc13ae64a69b57ff
sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem,ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere,primis in faucibus orci luctus et ultrices posuere cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit amet,67931fa1fc13ae64a69b5800,67931fa1fc13ae64a69b5801
sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam,dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris,justo aliquam quis turpis eget elit sodales scelerisque mauris sit amet eros suspendisse accumsan tortor quis turpis sed ante vivamus tortor duis,67931fa1fc13ae64a69b5802,67931fa1fc13ae64a69b5803
quisque id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus,vestibulum ac est lacinia nisi venenatis tristique fusce congue diam id ornare imperdiet sapien urna pretium nisl ut,curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit,67931fa1fc13ae64a69b5804,67931fa1fc13ae64a69b5805
1 slug title body categoryIDs tagIDs
2 odio porttitor id consequat in consequat ut nulla sed accumsan felis ut lacinia eget tincidunt eget tempus vel pede morbi porttitor lorem id ligula suspendisse ornare consequat lectus habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac 67931fa1fc13ae64a69b57f2 67931fa1fc13ae64a69b57f3
3 in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum ut erat curabitur gravida nisi at nibh in hac habitasse platea ultrices posuere cubilia curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat et eros vestibulum ac est lacinia nisi venenatis tristique fusce congue diam 67931fa1fc13ae64a69b57f4 67931fa1fc13ae64a69b57f5
4 nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo odio porttitor rhoncus aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo odio condimentum id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus dolor vel est donec odio 67931fa1fc13ae64a69b57f6 67931fa1fc13ae64a69b57f7
5 nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nisl aenean lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur ut ultrices vel augue vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit amet lobortis 67931fa1fc13ae64a69b57f8 67931fa1fc13ae64a69b57f9
6 est donec odio justo sollicitudin ut suscipit a feugiat et nibh fusce lacus purus aliquet at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a id consequat in consequat ut nulla sed accumsan felis ut at dolor quis odio consequat varius integer ac leo pellentesque ultrices mattis 67931fa1fc13ae64a69b57fa 67931fa1fc13ae64a69b57fb
7 vel pede morbi porttitor lorem id ligula suspendisse ornare consequat lectus in est risus sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu mi purus phasellus in felis donec semper sapien a libero nam dui proin leo odio porttitor id consequat in consequat ut nulla sed accumsan felis ut 67931fa1fc13ae64a69b57fc 67931fa1fc13ae64a69b57fd
8 blandit lacinia erat vestibulum sed magna at nunc commodo placerat praesent blandit nam nulla integer pede libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti morbi odio odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu 67931fa1fc13ae64a69b57fe 67931fa1fc13ae64a69b57ff
9 sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere primis in faucibus orci luctus et ultrices posuere cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit amet 67931fa1fc13ae64a69b5800 67931fa1fc13ae64a69b5801
10 sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris justo aliquam quis turpis eget elit sodales scelerisque mauris sit amet eros suspendisse accumsan tortor quis turpis sed ante vivamus tortor duis 67931fa1fc13ae64a69b5802 67931fa1fc13ae64a69b5803
11 quisque id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus vestibulum ac est lacinia nisi venenatis tristique fusce congue diam id ornare imperdiet sapien urna pretium nisl ut curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit 67931fa1fc13ae64a69b5804 67931fa1fc13ae64a69b5805

View file

@ -0,0 +1,11 @@
slug,title,body,categoryIDs,tagIDs
tortor risus dapibus augue vel accumsan tellus nisi eu orci mauris lacinia sapien,volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in lectus pellentesque at,lacus purus aliquet at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac habitasse platea dictumst maecenas ut massa quis augue,67932a05fc13ae63219b57f2,67932a05fc13ae63219b57f3
sapien iaculis congue vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc,nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at,mi pede malesuada in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices,67932a05fc13ae63219b57f4,67932a05fc13ae63219b57f5
vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam,mus vivamus vestibulum sagittis sapien cum sociis natoque penatibus et magnis dis parturient,felis eu sapien cursus vestibulum proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing,67932a05fc13ae63219b57f6,67932a05fc13ae63219b57f7
consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede,in quis justo maecenas rhoncus aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo,amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis,67932a05fc13ae63219b57f8,67932a05fc13ae63219b57f9
ac est lacinia nisi venenatis tristique fusce congue diam id,pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo,in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer,67932a05fc13ae63219b57fa,67932a05fc13ae63219b57fb
eget nunc donec quis orci eget orci vehicula condimentum curabitur in libero ut massa,ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula,in lacus curabitur at ipsum ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at,67932a05fc13ae63219b57fc,67932a05fc13ae63219b57fd
lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer,ut nunc vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam,in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea,67932a05fc13ae63219b57fe,67932a05fc13ae63219b57ff
lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci pede venenatis non sodales sed tincidunt eu,nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et,venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit,67932a05fc13ae63219b5800,67932a05fc13ae63219b5801
sit amet consectetuer adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum,id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et,suspendisse potenti in eleifend quam a odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis,67932a05fc13ae63219b5802,67932a05fc13ae63219b5803
consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis,libero rutrum ac lobortis vel dapibus at diam nam tristique tortor,tempus sit amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus,67932a05fc13ae63219b5804,67932a05fc13ae63219b5805
1 slug title body categoryIDs tagIDs
2 tortor risus dapibus augue vel accumsan tellus nisi eu orci mauris lacinia sapien volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in lectus pellentesque at lacus purus aliquet at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac habitasse platea dictumst maecenas ut massa quis augue 67932a05fc13ae63219b57f2 67932a05fc13ae63219b57f3
3 sapien iaculis congue vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at mi pede malesuada in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices 67932a05fc13ae63219b57f4 67932a05fc13ae63219b57f5
4 vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam mus vivamus vestibulum sagittis sapien cum sociis natoque penatibus et magnis dis parturient felis eu sapien cursus vestibulum proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing 67932a05fc13ae63219b57f6 67932a05fc13ae63219b57f7
5 consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede in quis justo maecenas rhoncus aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis 67932a05fc13ae63219b57f8 67932a05fc13ae63219b57f9
6 ac est lacinia nisi venenatis tristique fusce congue diam id pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer 67932a05fc13ae63219b57fa 67932a05fc13ae63219b57fb
7 eget nunc donec quis orci eget orci vehicula condimentum curabitur in libero ut massa ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula in lacus curabitur at ipsum ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at 67932a05fc13ae63219b57fc 67932a05fc13ae63219b57fd
8 lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer ut nunc vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea 67932a05fc13ae63219b57fe 67932a05fc13ae63219b57ff
9 lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci pede venenatis non sodales sed tincidunt eu nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit 67932a05fc13ae63219b5800 67932a05fc13ae63219b5801
10 sit amet consectetuer adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et suspendisse potenti in eleifend quam a odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis 67932a05fc13ae63219b5802 67932a05fc13ae63219b5803
11 consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis libero rutrum ac lobortis vel dapibus at diam nam tristique tortor tempus sit amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus 67932a05fc13ae63219b5804 67932a05fc13ae63219b5805

View file

@ -0,0 +1,11 @@
slug,title,body,categoryIDs,tagIDs
tortor risus dapibus augue vel accumsan tellus nisi eu orci mauris lacinia sapien,volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in lectus pellentesque at,lacus purus aliquet at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac habitasse platea dictumst maecenas ut massa quis augue,67932a05fc13ae63219b57f2,67932a05fc13ae63219b57f3
sapien iaculis congue vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc,nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at,mi pede malesuada in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices,67932a05fc13ae63219b57f4,67932a05fc13ae63219b57f5
vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam,mus vivamus vestibulum sagittis sapien cum sociis natoque penatibus et magnis dis parturient,felis eu sapien cursus vestibulum proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing,67932a05fc13ae63219b57f6,67932a05fc13ae63219b57f7
consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede,in quis justo maecenas rhoncus aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo,amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis,67932a05fc13ae63219b57f8,67932a05fc13ae63219b57f9
ac est lacinia nisi venenatis tristique fusce congue diam id,pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo,in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer,67932a05fc13ae63219b57fa,67932a05fc13ae63219b57fb
eget nunc donec quis orci eget orci vehicula condimentum curabitur in libero ut massa,ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula,in lacus curabitur at ipsum ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at,67932a05fc13ae63219b57fc,67932a05fc13ae63219b57fd
lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer,ut nunc vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam,in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea,67932a05fc13ae63219b57fe,67932a05fc13ae63219b57ff
lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci pede venenatis non sodales sed tincidunt eu,nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et,venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit,67932a05fc13ae63219b5800,67932a05fc13ae63219b5801
sit amet consectetuer adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum,id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et,suspendisse potenti in eleifend quam a odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis,67932a05fc13ae63219b5802,67932a05fc13ae63219b5803
consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis,libero rutrum ac lobortis vel dapibus at diam nam tristique tortor,tempus sit amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus,67932a05fc13ae63219b5804,67932a05fc13ae63219b5805
1 slug title body categoryIDs tagIDs
2 tortor risus dapibus augue vel accumsan tellus nisi eu orci mauris lacinia sapien volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in lectus pellentesque at lacus purus aliquet at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac habitasse platea dictumst maecenas ut massa quis augue 67932a05fc13ae63219b57f2 67932a05fc13ae63219b57f3
3 sapien iaculis congue vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc nullam varius nulla facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at mi pede malesuada in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices 67932a05fc13ae63219b57f4 67932a05fc13ae63219b57f5
4 vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam mus vivamus vestibulum sagittis sapien cum sociis natoque penatibus et magnis dis parturient felis eu sapien cursus vestibulum proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing 67932a05fc13ae63219b57f6 67932a05fc13ae63219b57f7
5 consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede in quis justo maecenas rhoncus aliquam lacus morbi quis tortor id nulla ultrices aliquet maecenas leo amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis 67932a05fc13ae63219b57f8 67932a05fc13ae63219b57f9
6 ac est lacinia nisi venenatis tristique fusce congue diam id pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer 67932a05fc13ae63219b57fa 67932a05fc13ae63219b57fb
7 eget nunc donec quis orci eget orci vehicula condimentum curabitur in libero ut massa ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula in lacus curabitur at ipsum ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at 67932a05fc13ae63219b57fc 67932a05fc13ae63219b57fd
8 lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer ut nunc vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur gravida nisi at nibh in hac habitasse platea 67932a05fc13ae63219b57fe 67932a05fc13ae63219b57ff
9 lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci pede venenatis non sodales sed tincidunt eu nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit ultrices enim lorem ipsum dolor sit 67932a05fc13ae63219b5800 67932a05fc13ae63219b5801
10 sit amet consectetuer adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et suspendisse potenti in eleifend quam a odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis 67932a05fc13ae63219b5802 67932a05fc13ae63219b5803
11 consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis libero rutrum ac lobortis vel dapibus at diam nam tristique tortor tempus sit amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus 67932a05fc13ae63219b5804 67932a05fc13ae63219b5805

View file

@ -0,0 +1,21 @@
const Joi = require("joi");
const validation = Joi.object({
slug: Joi.string().required(),
title: Joi.string().required(),
body: Joi.string().required(),
categoryIDs: Joi.string().required(),
tagIDs: Joi.string().required(),
coverImage: Joi.string().optional(),
});
function blogUserValidater(req, res, next) {
const { error } = validation.validate(req.body);
if (error) {
res.status(406).json({ msg: "Blog is not valid", details: error.details });
} else {
next();
}
}
module.exports = blogUserValidater;

View file

@ -0,0 +1,17 @@
const Joi = require("joi");
const validation = Joi.object({
name: Joi.string().required(),
blogIDs: Joi.string().required()
});
function categoryValidater(req, res, next) {
const { error } = validation.validate(req.body);
if (error) {
res.status(406).json({ msg: "Category is not valid", details: error.details });
} else {
next();
}
}
module.exports = categoryValidater;

View file

@ -0,0 +1,17 @@
const Joi = require("joi");
const validation = Joi.object({
comment: Joi.string().required(),
blogId: Joi.string().required()
});
function commentValidater(req, res, next) {
const { error } = validation.validate(req.body);
if (error) {
res.status(406).json({ msg: "Comment is not valid", details: error.details });
} else {
next();
}
}
module.exports = commentValidater;

View file

@ -0,0 +1,19 @@
const Joi = require("joi");
const validation = Joi.object({
name: Joi.string().required(),
blogIDs: Joi.string().required(),
});
function tagValidater(req, res, next) {
const { error } = validation.validate(req.body);
if (error) {
res
.status(406)
.json({ msg: "Category is not valid", details: error.details });
} else {
next();
}
}
module.exports = tagValidater;