// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.30.0

package sqlcgen

import (
	"database/sql"
	"time"
)

type Album struct {
	ID                 int64
	Name               string
	ArtistCredit       string
	ArtistID           sql.NullInt64
	Mbid               sql.NullString
	Year               sql.NullInt64
	OriginalYear       sql.NullInt64
	CoverArtID         sql.NullInt64
	PendingReleaseMbid sql.NullString
}

type Artist struct {
	ID   int64
	Name string
	Mbid sql.NullString
}

type ArtistCreditPart struct {
	CreditID     int64
	Position     int64
	ArtistMbid   []byte
	CreditedName string
	JoinPhrase   string
}

type ArtistCreditRef struct {
	Mbid     []byte
	CreditID int64
}

type ArtistEnrichment struct {
	ArtistMbid string
	BrowsedAt  sql.NullTime
	SimilarAt  sql.NullTime
}

type ArtistImage struct {
	ID         int64
	ArtistMbid string
	Source     string
	SourceUrl  string
	FilePath   string
	IsPrimary  int64
	SortOrder  int64
	Width      sql.NullInt64
	Height     sql.NullInt64
	FileSize   sql.NullInt64
	CreatedAt  time.Time
}

type ArtistMetadatum struct {
	Mbid      string
	Source    string
	Data      []byte
	FetchedAt time.Time
}

type AudioFile struct {
	ID                 int64
	FilePath           string
	LibraryID          int64
	FileTypeID         int64
	LengthMilliseconds int64
	SampleRate         int64
	BitDepth           int64
	Channels           int64
	Bitrate            int64
	FileSize           int64
	Title              string
	ArtistCredit       string
	ArtistID           sql.NullInt64
	AlbumID            sql.NullInt64
	TrackNumber        sql.NullInt64
	DiscNumber         sql.NullInt64
	TotalTracks        sql.NullInt64
	Year               sql.NullInt64
	Composer           string
	Comment            string
	RecordingMbid      sql.NullString
	Basename           string
	GroupKey           string
	ModifiedAt         int64
	PlayCount          int64
	LastPlayed         sql.NullTime
	TagStatus          string
}

type CoverArt struct {
	ID         int64
	IsEmbedded bool
	FilePath   string
	MimeType   string
}

type DownloadDownload struct {
	ID               string
	LibraryID        int64
	Source           string
	RequestID        sql.NullInt64
	ReleaseMbid      sql.NullString
	ReleaseGroupMbid sql.NullString
	RecordingMbid    sql.NullString
	Artist           string
	Album            string
	Query            string
	Expected         string
	State            string
	Error            string
	CreatedAt        time.Time
	UpdatedAt        time.Time
}

type DownloadItem struct {
	ID            string
	DownloadID    string
	ProviderID    int64
	TransportID   sql.NullInt64
	ExternalID    string
	Candidate     string
	State         string
	StagingDir    string
	BytesDone     int64
	BytesTotal    int64
	ImportedPaths string
	Error         string
	CreatedAt     time.Time
	UpdatedAt     time.Time
}

type DownloadProvider struct {
	ID        int64
	Kind      string
	Name      string
	Enabled   int64
	Priority  int64
	Settings  string
	CreatedAt time.Time
}

type DownloadRequest struct {
	ID          int64
	Mbid        string
	Entity      string
	LibraryID   int64
	Artist      string
	Title       string
	Scope       string
	Secondary   int64
	State       string
	ParentID    sql.NullInt64
	Attempts    int64
	LastError   string
	LastTriedAt sql.NullTime
	NextTryAt   sql.NullTime
	ExternalIds string
	CreatedAt   time.Time
	UpdatedAt   time.Time
}

type ExcludedPath struct {
	ID         int64
	LibraryID  int64
	FilePath   string
	ExcludedAt time.Time
}

type ExploreChampionFt struct {
	Title      string
	ArtistName string
	Aliases    string
}

type ExploreIndex struct {
	ID                  int64
	EntityType          int64
	Mbid                []byte
	Title               string
	ArtistName          string
	ArtistMbid          []byte
	Aliases             string
	Popularity          int64
	ListenerCount       int64
	Duration            int64
	CaaReleaseMbid      []byte
	ReleaseName         string
	PrimaryType         string
	SecondaryTypes      string
	ReleaseDate         string
	TotalTracks         int64
	ArtistType          string
	Country             string
	Disambiguation      string
	SortName            string
	InLibrary           int64
	IsSimilar           int64
	LocalArtistID       sql.NullInt64
	LocalReleaseGroupID sql.NullInt64
	LocalRecordingID    sql.NullInt64
	DiscogFetched       int64
}

type ExploreIndexFt struct {
	Title      string
	ArtistName string
	Aliases    string
}

type ExploreIndexMetum struct {
	Key   string
	Value string
}

type FileGenre struct {
	AudioFileID int64
	GenreID     int64
}

type FileType struct {
	ID        int64
	Extension string
}

type Genre struct {
	ID   int64
	Name string
}

type HttpCache struct {
	UrlKey     string
	Response   []byte
	ExpiresAt  time.Time
	EntityMbid string
	EntityType string
}

type JobState struct {
	ID       string
	Kind     string
	Title    string
	Subtitle string
	PausedAt string
}

type Library struct {
	ID                  int64
	Name                string
	Path                string
	CreatedAt           time.Time
	AutotagWarningAcked int64
}

type Lyric struct {
	AudioFileID   int64
	Text          string
	Source        string
	RecordingMbid sql.NullString
	FetchedAt     time.Time
}

type LyricsIndex struct {
	Lyrics string
}

type PlayHistory struct {
	ID          int64
	AudioFileID int64
	PlayedAt    time.Time
}

type PlayerState struct {
	ID                  int64
	Volume              int64
	Muted               bool
	LastTrackPath       string
	LastPositionSeconds int64
}

type Playlist struct {
	ID              int64
	Name            string
	IsSmart         int64
	SmartRules      sql.NullString
	SmartSnapshotAt sql.NullTime
	CreatedAt       time.Time
	UpdatedAt       time.Time
}

type PlaylistTrack struct {
	ID                  int64
	PlaylistID          int64
	AudioFileID         sql.NullInt64
	Position            int64
	PhantomTitle        sql.NullString
	PhantomArtist       sql.NullString
	PhantomAlbum        sql.NullString
	PhantomDurationMs   sql.NullInt64
	PhantomGenre        sql.NullString
	PhantomCoverArtPath sql.NullString
	PhantomFilePath     sql.NullString
}

type Queue struct {
	ID               int64
	SourcePlaylistID sql.NullInt64
	CurrentPosition  int64
	ShuffleMode      bool
	RepeatMode       string
	ShuffleOrder     sql.NullString
	SourceType       string
	SourceID         int64
	SourceLabel      string
}

type QueueTrack struct {
	ID          int64
	AudioFileID int64
	Position    int64
}

type ReleaseToRg struct {
	ReleaseMbid string
	RgMbid      string
}

type SearchClick struct {
	Query       string
	EntityMbid  string
	EntityType  string
	ClickCount  int64
	LastClicked time.Time
}

type SearchIndex struct {
	FilePath string
	Title    string
	Artist   string
	Album    string
}

type SimilarArtistMap struct {
	SourceArtistMbid  string
	SimilarArtistMbid string
	SimilarArtistName string
	Score             int64
}

type TaggingCandidate struct {
	GroupKey   string
	Candidates string
	ComputedAt time.Time
}

type TaggingItem struct {
	GroupKey             string
	LibraryID            int64
	TrackCount           int64
	AlbumName            string
	AlbumArtist          string
	DiscNumber           int64
	BestMatchReleaseMbid sql.NullString
	Score                sql.NullFloat64
	LastCheckedAt        sql.NullTime
	Status               string
	ClearedAt            sql.NullTime
	CreatedAt            time.Time
	Synthetic            int64
	ParentGroupKey       string
	AlbumArtistConflict  int64
}

type TrackMetadatum struct {
	ID                 int64
	FilePath           string
	LengthMilliseconds int64
	Title              string
	ArtistName         string
	TrackNumber        sql.NullInt64
	DiscNumber         sql.NullInt64
	Album              string
	Genre              string
	Year               int64
	ReleaseYear        int64
	Composer           string
	FileType           string
	SampleRate         int64
	BitDepth           int64
	Channels           int64
	Bitrate            int64
	FileSize           int64
	LibraryID          int64
	PlayCount          int64
	LastPlayed         sql.NullTime
	CoverArtPath       string
	ArtistMbid         string
	ReleaseGroupMbid   string
	RecordingMbid      string
	AlbumID            sql.NullInt64
	ArtistID           sql.NullInt64
}
