Add new file box API
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-02-04 09:19:04 -06:00
parent a59255a39b
commit 1545505c22
4 changed files with 326 additions and 0 deletions

View File

@@ -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()
}
}