// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.

package model

import (
	"time"

	"github.com/bitmagnet-io/bitmagnet/internal/protocol"
)

const TableNameTorrentHint = "torrent_hints"

// TorrentHint mapped from table <torrent_hints>
type TorrentHint struct {
	InfoHash        protocol.ID         `gorm:"column:info_hash;primaryKey;<-:create" json:"infoHash"`
	ContentType     ContentType         `gorm:"column:content_type;not null" json:"contentType"`
	ContentSource   NullString          `gorm:"column:content_source" json:"contentSource"`
	ContentID       NullString          `gorm:"column:content_id" json:"contentId"`
	Title           NullString          `gorm:"column:title" json:"title"`
	ReleaseYear     Year                `gorm:"column:release_year" json:"releaseYear"`
	Languages       Languages           `gorm:"column:languages;serializer:json" json:"languages"`
	Episodes        Episodes            `gorm:"column:episodes;serializer:json" json:"episodes"`
	VideoResolution NullVideoResolution `gorm:"column:video_resolution" json:"videoResolution"`
	VideoSource     NullVideoSource     `gorm:"column:video_source" json:"videoSource"`
	VideoCodec      NullVideoCodec      `gorm:"column:video_codec" json:"videoCodec"`
	Video3D         NullVideo3D         `gorm:"column:video_3d" json:"video3D"`
	VideoModifier   NullVideoModifier   `gorm:"column:video_modifier" json:"videoModifier"`
	ReleaseGroup    NullString          `gorm:"column:release_group" json:"releaseGroup"`
	CreatedAt       time.Time           `gorm:"column:created_at;not null;<-:create" json:"createdAt"`
	UpdatedAt       time.Time           `gorm:"column:updated_at;not null" json:"updatedAt"`
}

// TableName TorrentHint's table name
func (*TorrentHint) TableName() string {
	return TableNameTorrentHint
}
