spark-server/internal/module/square/entity/kind.go
2026-09-22 17:07:26 +08:00

84 lines
1.5 KiB
Go

package entity
// Kind is square_posts.kind.
type Kind int16
const (
KindText Kind = 1
KindImage Kind = 2
KindVideo Kind = 3
)
func (k Kind) Valid() bool {
return k == KindText || k == KindImage || k == KindVideo
}
// Visibility matches moment_posts.visibility values.
type Visibility int16
const (
VisibilityPublic Visibility = 0
VisibilityPrivate Visibility = 1
VisibilityInclude Visibility = 2
VisibilityExclude Visibility = 3
)
func (v Visibility) Valid() bool {
return v >= VisibilityPublic && v <= VisibilityExclude
}
func (v Visibility) NeedsAudience() bool {
return v == VisibilityInclude || v == VisibilityExclude
}
// AuditStatus is square_posts.audit_status.
type AuditStatus int16
const (
AuditPending AuditStatus = 0
AuditApproved AuditStatus = 1
AuditRejected AuditStatus = 2
)
// Status is post/comment row status.
type Status int16
const (
StatusNormal Status = 0
StatusDeleted Status = 1
)
// NoticeKind is square_notices.kind.
type NoticeKind int16
const (
NoticeLike NoticeKind = 1
NoticeComment NoticeKind = 2
NoticeReply NoticeKind = 3
)
const (
MaxTextRunes = 1000
MaxImages = 9
MaxAudience = 200
MaxCommentRunes = 500
MaxVideoMS = 30_000
ListDefault = 20
ListMax = 50
Overfetch = 50
OverfetchRounds = 3
LikePreviewMax = 10
CommentPreviewMax = 20
MaxContentBytes = 16 << 10
)
func ClampLimit(limit int) int {
if limit <= 0 {
return ListDefault
}
if limit > ListMax {
return ListMax
}
return limit
}