This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
const { Middleware } = require('libflitter')
|
||||
const { ObjectId } = require('mongodb')
|
||||
|
||||
class DataInjectionMiddleware extends Middleware {
|
||||
static get services() {
|
||||
@@ -103,6 +104,45 @@ class DataInjectionMiddleware extends Middleware {
|
||||
req.form.file_group = file_group
|
||||
}
|
||||
|
||||
// Try to load in the file box
|
||||
if ( req.params.FileBoxId ) {
|
||||
const FileBox = this.models.get('api:files:FileBox')
|
||||
const file_box = await FileBox.findOne({
|
||||
UUID: req.params.FileBoxId,
|
||||
pageId: req.params.PageId,
|
||||
active: true,
|
||||
})
|
||||
|
||||
if ( !file_box ) {
|
||||
return res.status(404)
|
||||
.message('Invalid file box ID.')
|
||||
.api()
|
||||
}
|
||||
|
||||
req.form.file_box = file_box
|
||||
|
||||
if ( req.params.FileBoxFileId ) {
|
||||
const File = this.models.get('upload::File')
|
||||
if ( !file_box.fileIds.includes(req.params.FileBoxFileId) ) {
|
||||
return res.status(400)
|
||||
.message('Invalid file box file ID.')
|
||||
.api()
|
||||
}
|
||||
|
||||
const file = await File.findOne({
|
||||
_id: ObjectId(req.params.FileBoxFileId),
|
||||
})
|
||||
|
||||
if ( !file ) {
|
||||
return res.status(400)
|
||||
.message('Invalid file box file ID.')
|
||||
.api()
|
||||
}
|
||||
|
||||
req.form.file = file
|
||||
}
|
||||
}
|
||||
|
||||
return next()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user