Allow selecting a TeX Live image for a project

This commit is contained in:
yu-i-i
2025-01-26 15:53:38 +01:00
parent e992cfca64
commit 1fbbfe176f
5 changed files with 14 additions and 15 deletions
@@ -38,10 +38,7 @@ module.exports = ProjectEditorHandler = {
),
members: [],
invites: this.buildInvitesView(invites),
imageName:
project.imageName != null
? Path.basename(project.imageName)
: undefined,
imageName: project.imageName,
}
;({ owner, ownerFeatures, members } =
@@ -22,7 +22,6 @@ const ProjectOptionsHandler = {
if (!imageName || !Array.isArray(settings.allowedImageNames)) {
return
}
imageName = imageName.toLowerCase()
const isAllowed = settings.allowedImageNames.find(
allowed => imageName === allowed.imageName
)
@@ -30,7 +29,7 @@ const ProjectOptionsHandler = {
throw new Error(`invalid imageName: ${imageName}`)
}
const conditions = { _id: projectId }
const update = { imageName: settings.imageRoot + '/' + imageName }
const update = { imageName: imageName }
return Project.updateOne(conditions, update, {})
},
+9
View File
@@ -1019,6 +1019,15 @@ module.exports = {
managedUsers: {
enabled: false,
},
allowedImageNames: process.env.SANDBOXED_COMPILES === 'true'
? parseTextExtensions(process.env.ALL_TEX_LIVE_DOCKER_IMAGES)
.map((imageName, index) => ({
imageName,
imageDesc: parseTextExtensions(process.env.ALL_TEX_LIVE_DOCKER_IMAGE_NAMES)[index]
|| imageName.split(':')[1],
}))
: undefined,
}
module.exports.mergeWith = function (overrides) {