package model

import "time"

// PostReadLog 文章阅读记录（已登录用户每篇文章只记录一次）
type PostReadLog struct {
	ID     uint      `gorm:"primarykey" json:"id"`
	UserID uint      `gorm:"uniqueIndex:idx_user_post_read;not null" json:"user_id"`
	PostID uint      `gorm:"uniqueIndex:idx_user_post_read;not null" json:"post_id"`
	ReadAt time.Time `gorm:"autoCreateTime" json:"read_at"`
}

// PostGuestReadLog 访客阅读记录（未登录用户，基于 Cookie 标识去重）
type PostGuestReadLog struct {
	ID        uint      `gorm:"primarykey" json:"id"`
	VisitorID string    `gorm:"uniqueIndex:idx_visitor_post_read;type:varchar(64);not null" json:"visitor_id"`
	PostID    uint      `gorm:"uniqueIndex:idx_visitor_post_read;not null" json:"post_id"`
	ReadAt    time.Time `gorm:"autoCreateTime" json:"read_at"`
}

