Enforce ownership

This commit is contained in:
2022-01-09 01:44:02 +02:00
parent 0062afddcf
commit f29ba94860
7 changed files with 388 additions and 47 deletions

View File

@@ -1,5 +1,5 @@
const express = require('express');
const req = require('express/lib/request');
const { Op } = require('sequelize')
module.exports = function (options) {
const db = options.db;
@@ -7,13 +7,77 @@ module.exports = function (options) {
router.route('/')
.get(function(request, response, next) {
db.Artifact.findAll({
}).then(artifacts => {
Promise.all([
db.Artifact.findAll({
include: [
{
association: db.Artifact.Owner,
required: true,
include: [
{
association: db.Owner.OwnerEntities,
required: true,
include: [
{
association: db.OwnerEntity.Entity,
required: true,
include: [
{
association: db.Entity.EntityUsers,
required: true,
where: {
userId: request.user.id
}
}
]
}
]
}
]
}
]
}),
db.TranslationArtifactVersion.findAll({
where: {
forkedFromId: {
[Op.ne]: null,
}
},
include: [
{
association: db.TranslationArtifactVersion.Owner,
required: true,
include: [
{
association: db.Owner.OwnerEntities,
required: true,
include: [
{
association: db.OwnerEntity.Entity,
required: true,
include: [
{
association: db.Entity.EntityUsers,
required: true,
where: {
userId: request.user.id
}
}
]
}
]
}
]
}
]
})
])
.then(results => {
response.display("library", {
user: request.user,
pageTitle: "Library - Mantra",
artifacts: artifacts
artifacts: results[0],
translationArtifactVersions: results[1],
})
}).catch(error => {
next(error)