first commit backend
This commit is contained in:
70
app/controller/event.js
Normal file
70
app/controller/event.js
Normal file
@@ -0,0 +1,70 @@
|
||||
const jwt = require('jsonwebtoken')
|
||||
const { User, Event, Comment, Tag, Place } = require('../model')
|
||||
const config = require('../config')
|
||||
const mail = require('../mail')
|
||||
const moment = require('moment')
|
||||
const Sequelize = require('sequelize')
|
||||
|
||||
const eventController = {
|
||||
|
||||
async addComment (req, res) {
|
||||
// comment could be added to an event or to another comment
|
||||
let event = await Event.findOne({where: {activitypub_id: req.body.id}})
|
||||
if (!event) {
|
||||
const comment = await Comment.findOne({where: {activitypub_id: req.body.id}, include: Event})
|
||||
event = comment.event
|
||||
}
|
||||
const comment = new Comment(req.body)
|
||||
event.addComment(comment)
|
||||
res.json(comment)
|
||||
},
|
||||
|
||||
// async boost (req, res) {
|
||||
// const event = await Event.findById(req.body.id)
|
||||
// req.user.addBoost(event)
|
||||
// res.status(200)
|
||||
// },
|
||||
|
||||
async getMeta(req, res) {
|
||||
const places = await Place.findAll()
|
||||
const tags = await Tag.findAll()
|
||||
res.json({tags, places})
|
||||
},
|
||||
|
||||
async updateTag (req, res) {
|
||||
const tag = await Tag.findByPk(req.body.tag)
|
||||
console.log(tag)
|
||||
if (tag) {
|
||||
res.json(await tag.update(req.body))
|
||||
} else {
|
||||
res.send(404)
|
||||
}
|
||||
},
|
||||
|
||||
async get(req, res) {
|
||||
const id = req.params.event_id
|
||||
const event = await Event.findByPk(id, { include: [User, Tag, Comment, Place]})
|
||||
res.json(event)
|
||||
},
|
||||
|
||||
async getAll (req, res) {
|
||||
const start = moment().year(req.params.year).month(req.params.month).startOf('month').subtract(1, 'week')
|
||||
const end = moment().year(req.params.year).month(req.params.month).endOf('month').add(1, 'week')
|
||||
console.log('start', start)
|
||||
console.log('end', end)
|
||||
const events = await Event.findAll({
|
||||
where: {
|
||||
[Sequelize.Op.and]: [
|
||||
{ start_datetime: { [Sequelize.Op.gte]: start } },
|
||||
{ start_datetime: { [Sequelize.Op.lte]: end } }
|
||||
]
|
||||
},
|
||||
order: [['createdAt', 'ASC']],
|
||||
include: [User, Comment, Tag, Place]
|
||||
})
|
||||
res.json(events)
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
module.exports = eventController
|
||||
Reference in New Issue
Block a user