|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
const { Controller } = require('libflitter')
|
|
|
|
|
const FakeRequest = require('../../../FakeRequest')
|
|
|
|
|
const { ObjectId } = require('mongodb')
|
|
|
|
|
|
|
|
|
|
class OfflineController extends Controller {
|
|
|
|
|
static get services() {
|
|
|
|
@ -14,6 +15,7 @@ class OfflineController extends Controller {
|
|
|
|
|
const ColumnDef = this.models.get('api:db:ColumnDef')
|
|
|
|
|
const DBEntry = this.models.get('api:db:DBEntry')
|
|
|
|
|
const FileGroup = this.models.get('api:FileGroup')
|
|
|
|
|
const File = this.models.get('upload::File')
|
|
|
|
|
|
|
|
|
|
const pages = (await PageModel.visible_by_user(req.user)).filter(x => x.Active)
|
|
|
|
|
const page_uuids = pages.map(x => x.UUID)
|
|
|
|
@ -29,7 +31,10 @@ class OfflineController extends Controller {
|
|
|
|
|
|
|
|
|
|
const databaseEntries = await DBEntry.find({ DatabaseId: { $in: database_uuids }})
|
|
|
|
|
|
|
|
|
|
const fileGroups = await FileGroup.find({ PageId: { $in: page_uuids }})
|
|
|
|
|
const fileGroups = (await FileGroup.find({ PageId: { $in: page_uuids }}))
|
|
|
|
|
for ( const grp of fileGroups ) {
|
|
|
|
|
grp.files = await File.find({_id: {$in: grp.FileIds.map(x => ObjectId(x))}})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return res.api({
|
|
|
|
|
pages,
|
|
|
|
|