gancio-upstream/server/api/controller/resource.js

56 lines
1.4 KiB
JavaScript
Raw Normal View History

const { Resource, APUser, Event } = require('../models/models')
2021-07-01 12:19:44 +02:00
const get = require('lodash/get')
2019-12-04 01:18:05 +01:00
const resourceController = {
async hide (req, res) {
const resource_id = req.params.resource_id
const hidden = req.body.hidden
const resource = await Resource.findByPk(resource_id)
if (!resource) {
return res.sendStatus(404)
}
2019-12-04 01:18:05 +01:00
await resource.update({ hidden })
res.json(resource)
},
async remove (req, res) {
const resource_id = req.params.resource_id
const resource = await Resource.findByPk(resource_id)
if (!resource) {
return res.sendStatus(404)
}
2019-12-04 01:18:05 +01:00
await resource.destroy()
res.sendStatus(200)
},
async getAll (req, res) {
2021-07-01 12:19:44 +02:00
const limit = req.body.limit || 1000
2019-12-04 01:18:05 +01:00
// const where = {}
// if (req.params.instanceId) {
// where =
//
2021-07-01 12:19:44 +02:00
let resources = await Resource.findAll({ limit, include: [APUser, Event], order: [['createdAt', 'DESC']] })
resources = resources.map(r => ({
id: r.id,
hidden: r.hidden,
created: r.createdAt,
data: {
content: r.data.content
},
event: {
id: r.event.id,
title: r.event.title,
slug: r.event.slug
2021-07-01 12:19:44 +02:00
},
ap_user: {
url: get(r, 'ap_user.object.url', ''),
2021-07-01 12:19:44 +02:00
ap_id: get(r, 'ap_user.ap_id', ''),
preferredUsername: get(r, 'ap_user.object.preferredUsername', '')
}
}))
2019-12-04 01:18:05 +01:00
res.json(resources)
}
}
module.exports = resourceController