package model

import "time"

// Movie represents a full-length movie/DVD
type Movie struct {
	ID           int64     `json:"id"`
	Title        string    `json:"title"`
	Date         string    `json:"date,omitempty"`        // Release date
	StudioID     *int64    `json:"studio_id,omitempty"`
	Description  string    `json:"description,omitempty"`
	Director     string    `json:"director,omitempty"`
	Duration     int       `json:"duration,omitempty"`    // Duration in minutes
	ImagePath    string    `json:"image_path,omitempty"`
	ImageURL     string    `json:"image_url,omitempty"`
	BackImageURL string    `json:"back_image_url,omitempty"` // Back cover
	URL          string    `json:"url,omitempty"`
	Source       string    `json:"source,omitempty"`
	SourceID     string    `json:"source_id,omitempty"`
	CreatedAt    time.Time `json:"created_at"`
	UpdatedAt    time.Time `json:"updated_at"`

	// Relationships
	Scenes     []Scene     `json:"scenes,omitempty"`
	Performers []Performer `json:"performers,omitempty"`
	Tags       []Tag       `json:"tags,omitempty"`
	Studio     *Studio     `json:"studio,omitempty"`
}
