package models

import (
	"time"

	"github.com/google/uuid"
	"github.com/uptrace/bun"
)

type Blog struct {
	bun.BaseModel `bun:"table:blogs"`

	BlogID    uuid.UUID `bun:"blog_id,type:uuid,pk,default:gen_random_uuid()" json:"blogID"`
	Slug      string    `bun:"slug,unique,notnull" json:"slug"`
	Content   string    `bun:"content,notnull" json:"content"`
	Title     string    `bun:"title,notnull" json:"title"`
	AuthorID  uuid.UUID `bun:"author_id,type:uuid,notnull" json:"authorID"`
	Published time.Time `bun:"published,default:current_timestamp" json:"published"`
	Summary   string    `bun:"summary" json:"summary"`
	Image     string    `bun:"image" json:"image"`
	Category  string    `bun:"category" json:"category,omitempty"`

	Author User `bun:"rel:belongs-to,join:author_id=user_id" json:"author"`
}
