spark-server/internal/pkg/media/publish.go
DESKTOP-L8OUL9F\gfl0034 715ace7ac6 feat(square): 广场 Bot/RSS 发布与媒体校验
支持广场机器人发帖与媒体类型检查,并补充相关迁移与 i18n。
2026-09-24 23:07:06 +08:00

35 lines
776 B
Go

package media
// ImageMeta is client-declared image metadata on publish.
type ImageMeta struct {
Width int
Height int
Size int64
}
// VideoMeta is client-declared video metadata on publish.
type VideoMeta struct {
Width int
Height int
Size int64
DurationMS int
}
// CheckPublishImages returns the first image violation, if any.
func (p Policy) CheckPublishImages(images []ImageMeta) *Violation {
for _, img := range images {
if v := p.CheckImageMeta(img.Width, img.Height, img.Size); v != nil {
return v
}
}
return nil
}
// CheckPublishVideo returns a video violation, if any.
func (p Policy) CheckPublishVideo(v *VideoMeta) *Violation {
if v == nil {
return nil
}
return p.CheckVideoMeta(v.Width, v.Height, v.Size, v.DurationMS)
}