23 lines
842 B
Go
23 lines
842 B
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
// PostCategoryView tracks visits to post categories.
|
|
type PostCategoryView struct {
|
|
ID uuid.UUID `gorm:"type:uuid;default:gen_random_uuid();primaryKey" json:"id"`
|
|
CategoryID uuid.UUID `gorm:"not null;index:idx_post_category_views,priority:1" json:"category_id"`
|
|
Category PostCategory `gorm:"foreignKey:CategoryID" json:"category"`
|
|
IPAddress string `gorm:"type:varchar(64);not null;index:idx_post_category_views,priority:2" json:"ip_address"`
|
|
UserAgent string `gorm:"type:text" json:"user_agent,omitempty"`
|
|
CreatedAt time.Time `gorm:"index:idx_post_category_views,priority:3" json:"created_at"`
|
|
}
|
|
|
|
// TableName overrides the table name used by PostCategoryView.
|
|
func (PostCategoryView) TableName() string {
|
|
return "post_category_views"
|
|
}
|