38 lines
1.1 KiB
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"`
|
|
}
|