thread-master/old/backend/internal/library/storage/public_asset.go

19 lines
459 B
Go
Raw Normal View History

2026-07-09 03:45:28 +00:00
package storage
import "strings"
const AvatarKeyPrefix = "avatars/"
// IsPublicAssetKey reports whether an object key may be served without auth.
func IsPublicAssetKey(key string) bool {
key = strings.TrimSpace(key)
if key == "" {
return false
}
if strings.Contains(key, "..") {
return false
}
return strings.HasPrefix(key, PublishAttachmentKeyPrefix) ||
strings.HasPrefix(key, AvatarKeyPrefix) ||
strings.HasPrefix(key, EphemeralKeyPrefix)
}