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

50 lines
1.3 KiB
JavaScript
Raw Normal View History

2020-06-27 02:10:10 +02:00
const Resource = require('../models/resource')
2021-07-01 12:19:44 +02:00
const APUser = require('../models/ap_user')
const Event = require('../models/event')
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)
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)
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
},
ap_user: {
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