Files
mantra.press/server/router/pledges/index.js

95 lines
3.3 KiB
JavaScript
Raw Normal View History

2021-12-19 18:17:51 +02:00
const express = require('express')
module.exports = function (options) {
const db = options.db;
var router = express.Router();
router.route('/')
.get(function(request, response, next) {
2022-01-06 19:44:39 +02:00
db.Pledge.findAll({
2022-01-06 21:04:31 +02:00
include: [
{
association: db.Pledge.TranslationArtifactVersionPledges
},
{
2022-01-08 21:24:44 +02:00
association: db.Pledge.Owner,
include: [
{
2022-01-08 22:10:14 +02:00
association: db.Owner.OwnerEntities,
2022-01-08 21:24:44 +02:00
include: [
{
association: db.OwnerEntity.Entity
}
]
}
]
2022-01-06 21:04:31 +02:00
}
]
2022-01-06 19:44:39 +02:00
}).then(pledges => {
if (pledges) {
response.display("pledges", {
user: request.user,
pageTitle: "Pledges - Mantra",
pledges: pledges
})
} else {
next()
}
}).catch(error => {
next(error)
2021-12-19 18:17:51 +02:00
})
2022-01-06 21:04:31 +02:00
})
router.route('/:id')
.get(function(request, response, next) {
db.Pledge.findByPk(request.params.id, {
include: [
{
2022-01-08 21:24:44 +02:00
association: db.Pledge.Owner,
include: [
{
2022-01-08 22:24:51 +02:00
association: db.Owner.OwnerEntities,
2022-01-08 21:24:44 +02:00
include: [
{
association: db.OwnerEntity.Entity
}
]
}
]
2022-01-06 21:04:31 +02:00
},
{
association: db.Pledge.TranslationArtifactVersionPledges,
include: [
{
association: db.TranslationArtifactVersionPledge.TranslationArtifactVersion,
include: [
{
association: db.TranslationArtifactVersion.ArtifactVersion,
include: [
{
association: db.ArtifactVersion.Artifact
}
]
}
]
}
]
}
]
}).then(pledge => {
if (pledge) {
response.display("pledge", {
user: request.user,
pageTitle: "Pledge - Mantra",
pledge: pledge
})
} else {
next()
}
}).catch(error => {
next(error)
})
2022-01-06 19:44:39 +02:00
2021-12-19 18:17:51 +02:00
})
return router;
};