sojorn/go-backend/internal/models/moderation.go

38 lines
1.1 KiB
Go

package models
import (
"time"
"github.com/google/uuid"
)
type Report struct {
ID uuid.UUID `json:"id"`
ReporterID uuid.UUID `json:"reporter_id"`
TargetUserID uuid.UUID `json:"target_user_id"`
PostID *uuid.UUID `json:"post_id,omitempty"`
CommentID *uuid.UUID `json:"comment_id,omitempty"`
ViolationType string `json:"violation_type"`
Description string `json:"description"`
Status string `json:"status"`
CreatedAt time.Time `json:"created_at"`
}
type AbuseLog struct {
ID uuid.UUID `json:"id"`
ActorID *uuid.UUID `json:"actor_id,omitempty"`
BlockedID uuid.UUID `json:"blocked_id"`
BlockedHandle string `json:"blocked_handle"`
ActorIP string `json:"actor_ip"`
CreatedAt time.Time `json:"created_at"`
}
type ModerationFlag struct {
ID uuid.UUID `json:"id"`
PostID *uuid.UUID `json:"post_id,omitempty"`
CommentID *uuid.UUID `json:"comment_id,omitempty"`
FlagReason string `json:"flag_reason"`
Scores map[string]float64 `json:"scores"`
CreatedAt time.Time `json:"created_at"`
}