fix(files): Sanitize `share-types` attribute in download action

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
pull/44834/head
Ferdinand Thiessen 2024-04-15 18:09:09 +07:00
parent fea0278947
commit c821f28014
No known key found for this signature in database
GPG Key ID: 45FAE7268762B400
1 changed files with 2 additions and 1 deletions

@ -48,7 +48,8 @@ const isDownloadable = function(node: Node) {
// If the mount type is a share, ensure it got download permissions.
if (node.attributes['mount-type'] === 'shared') {
const downloadAttribute = JSON.parse(node.attributes['share-attributes']).find((attribute: { scope: string; key: string }) => attribute.scope === 'permissions' && attribute.key === 'download')
const shareAttributes = JSON.parse(node.attributes['share-attributes'] ?? 'null')
const downloadAttribute = shareAttributes?.find?.((attribute: { scope: string; key: string }) => attribute.scope === 'permissions' && attribute.key === 'download')
if (downloadAttribute !== undefined && downloadAttribute.enabled === false) {
return false
}