added articles api and desert.txt to the seed
This commit is contained in:
parent
b370724294
commit
f5c3a13fde
35
api/articles.js
Normal file
35
api/articles.js
Normal file
@ -0,0 +1,35 @@
|
||||
const router = require('express').Router()
|
||||
const { Article } = require('../db/models')
|
||||
module.exports = router
|
||||
|
||||
router.get('/', async (req, res, next) => {
|
||||
try {
|
||||
const articles = await Article.findAll()
|
||||
|
||||
res.status(201).send(articles)
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/:id', async (req, res, next) => {
|
||||
try {
|
||||
const article = await Article.findById(req.params.id)
|
||||
console.log(article.title)
|
||||
console.log("by: " + article.author)
|
||||
console.log(article.text)
|
||||
res.status(201).send(article)
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
})
|
||||
|
||||
router.post('/', async (req, res, next) => {
|
||||
const body = req.body
|
||||
try {
|
||||
const article = await Article.create(body)
|
||||
res.redirect(article.id)
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
})
|
@ -2,10 +2,11 @@ const router = require('express').Router()
|
||||
module.exports = router
|
||||
|
||||
router.use('/items', require('./items'))
|
||||
router.use('/articles', require('./articles'))
|
||||
|
||||
router.get('/', async (req, res, next) => {
|
||||
try {
|
||||
res.send('Hello from Express!')
|
||||
res.send('/n-------/nHello from Express!/n--------/n')
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
|
1
api/postcommand
Normal file
1
api/postcommand
Normal file
@ -0,0 +1 @@
|
||||
curl -d {"title":"", "text": ""} -H Content-Type: application/json -X POST http://localhost:1337/api/articles
|
1248
db/desert.txt
Normal file
1248
db/desert.txt
Normal file
File diff suppressed because it is too large
Load Diff
20
db/models/article.js
Normal file
20
db/models/article.js
Normal file
@ -0,0 +1,20 @@
|
||||
const Sequelize = require('sequelize')
|
||||
const db = require('../db')
|
||||
|
||||
const Article = db.define('articles', {
|
||||
title: {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
author: {
|
||||
type: Sequelize.STRING,
|
||||
defaultValue: "anonymous"
|
||||
},
|
||||
|
||||
text: {
|
||||
type: Sequelize.TEXT,
|
||||
allowNull: false
|
||||
},
|
||||
})
|
||||
|
||||
module.exports = Article
|
@ -1,3 +1,4 @@
|
||||
const Item = require('./item')
|
||||
const Article = require('./article')
|
||||
|
||||
module.exports = { Item }
|
||||
module.exports = { Item, Article }
|
||||
|
45
db/seed.js
45
db/seed.js
@ -1,24 +1,37 @@
|
||||
const db = require('../db')
|
||||
const { Item } = require('./models')
|
||||
const fs = require("fs")
|
||||
const { Item, Article } = require('./models')
|
||||
|
||||
const desert = fs.readFileSync("/home/notnull/projex/bootstrap/server/db/desert.txt", "utf8")
|
||||
|
||||
|
||||
const testItem = {
|
||||
name: 'item'
|
||||
name: 'item'
|
||||
}
|
||||
|
||||
const testArticle = {
|
||||
title: "Desert",
|
||||
text: desert
|
||||
|
||||
}
|
||||
|
||||
console.log(Article)
|
||||
async function runSeed() {
|
||||
await db.sync({ force: true })
|
||||
console.log('db synced!')
|
||||
console.log('seeding...')
|
||||
try {
|
||||
await Item.create(testItem)
|
||||
console.log('seeded successfully')
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
process.exitCode = 1
|
||||
} finally {
|
||||
console.log('closing db connection')
|
||||
await db.close()
|
||||
console.log('db connection closed')
|
||||
}
|
||||
await db.sync({ force: true })
|
||||
console.log('db synced!')
|
||||
console.log('seeding...')
|
||||
try {
|
||||
await Item.create(testItem)
|
||||
await Article.create(testArticle)
|
||||
console.log('seeded successfully')
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
process.exitCode = 1
|
||||
} finally {
|
||||
console.log('closing db connection')
|
||||
await db.close()
|
||||
console.log('db connection closed')
|
||||
}
|
||||
}
|
||||
|
||||
runSeed()
|
||||
|
Loading…
Reference in New Issue
Block a user