model

package
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const TableNameArtist = "artist"
View Source
const TableNameArtistAlias = "artist_alias"
View Source
const TableNameArtistGroup = "artist_group"
View Source
const TableNameArtistNameVariation = "artist_name_variation"
View Source
const TableNameArtistURL = "artist_url"
View Source
const TableNameDatum = "data"
View Source
const TableNameGenre = "genre"
View Source
const TableNameLabel = "label"
View Source
const TableNameLabelRelease = "label_release"
View Source
const TableNameLabelURL = "label_url"
View Source
const TableNameMaster = "master"
View Source
const TableNameMasterArtist = "master_artist"
View Source
const TableNameMasterGenre = "master_genre"
View Source
const TableNameMasterStyle = "master_style"
View Source
const TableNameMasterVideo = "master_video"
View Source
const TableNameRelease = "release"
View Source
const TableNameReleaseArtist = "release_artist"
View Source
const TableNameReleaseContract = "release_contract"
View Source
const TableNameReleaseCreditedArtist = "release_credited_artist"
View Source
const TableNameReleaseFormat = "release_format"
View Source
const TableNameReleaseGenre = "release_genre"
View Source
const TableNameReleaseIdentifier = "release_identifier"
View Source
const TableNameReleaseImage = "release_image"
View Source
const TableNameReleaseStyle = "release_style"
View Source
const TableNameReleaseTrack = "release_track"
View Source
const TableNameReleaseVideo = "release_video"
View Source
const TableNameStyle = "style"

Variables

This section is empty.

Functions

This section is empty.

Types

type Artist

type Artist struct {
	ID          int32   `gorm:"column:id;type:integer;primaryKey" json:"id"`
	DataQuality *string `gorm:"column:data_quality;type:character varying(100)" json:"data_quality"`
	Name        *string `gorm:"column:name;type:character varying(1000)" json:"name"`
	Profile     *string `gorm:"column:profile;type:text" json:"profile"`
	RealName    *string `gorm:"column:real_name;type:character varying(2000)" json:"real_name"`
}

Artist mapped from table <artist>

func (*Artist) TableName

func (*Artist) TableName() string

TableName Artist's table name

type ArtistAlias

type ArtistAlias struct {
	ArtistID int32 `gorm:"column:artist_id;type:integer;primaryKey" json:"artist_id"`
	AliasID  int32 `gorm:"column:alias_id;type:integer;primaryKey" json:"alias_id"`
}

ArtistAlias mapped from table <artist_alias>

func (*ArtistAlias) References

func (a *ArtistAlias) References() []reference.Reference

func (*ArtistAlias) TableName

func (*ArtistAlias) TableName() string

TableName ArtistAlias's table name

type ArtistGroup

type ArtistGroup struct {
	ArtistID int32 `gorm:"column:artist_id;type:integer;primaryKey" json:"artist_id"`
	GroupID  int32 `gorm:"column:group_id;type:integer;primaryKey" json:"group_id"`
}

ArtistGroup mapped from table <artist_group>

func (*ArtistGroup) References

func (g *ArtistGroup) References() []reference.Reference

func (*ArtistGroup) TableName

func (*ArtistGroup) TableName() string

TableName ArtistGroup's table name

type ArtistNameVariation

type ArtistNameVariation struct {
	ArtistID          int32  `gorm:"column:artist_id;type:integer;primaryKey" json:"artist_id"`
	NameVariation     string `gorm:"column:name_variation;type:character varying(2000);not null" json:"name_variation"`
	NameVariationHash int64  `gorm:"column:name_variation_hash;type:bigint;primaryKey" json:"name_variation_hash"` // fnv32 encoded hash from name_variation
}

ArtistNameVariation mapped from table <artist_name_variation>

func (*ArtistNameVariation) TableName

func (*ArtistNameVariation) TableName() string

TableName ArtistNameVariation's table name

type ArtistURL

type ArtistURL struct {
	ArtistID int32  `gorm:"column:artist_id;type:integer;primaryKey" json:"artist_id"`
	URLHash  int64  `gorm:"column:url_hash;type:bigint;primaryKey" json:"url_hash"` // fnv32 encoded hash from url
	URL      string `gorm:"column:url;type:character varying(2048);not null" json:"url"`
}

ArtistURL mapped from table <artist_url>

func (*ArtistURL) TableName

func (*ArtistURL) TableName() string

TableName ArtistURL's table name

type Data

type Data struct {
	Etag        string    `gorm:"column:etag;type:character varying(200);primaryKey" json:"etag"`                    // ETag representing this data being unique. Used for updating idcache.
	GeneratedAt time.Time `gorm:"column:generated_at;type:timestamp without time zone;not null" json:"generated_at"` // Date this data is generated at.
	Checksum    string    `gorm:"column:checksum;type:character varying(200);not null" json:"checksum"`              // Checksum to validate when fetching dump source.
	/*
		Type of data. Referred as artists, labels, masters, release.
		Always uppercase.
	*/
	TargetType string `gorm:"column:target_type;type:character varying(20);not null" json:"target_type"`
	URI        string `gorm:"column:uri;type:character varying(2048);not null" json:"uri"` // URI to download dump data file.
}

Data mapped from table <data>

func (*Data) TableName

func (*Data) TableName() string

TableName Data's table name

type Genre

type Genre struct {
	ID   int32  `gorm:"column:id;type:integer;primaryKey;autoIncrement:true" json:"id"`
	Name string `gorm:"column:name;type:character varying(50);not null;uniqueIndex:genre_name_key,priority:1" json:"name"`
}

Genre mapped from table <genre>

func (*Genre) AfterCreate added in v1.1.0

func (g *Genre) AfterCreate(_ *gorm.DB) (err error)

func (*Genre) AfterUpdate added in v1.1.0

func (g *Genre) AfterUpdate(_ *gorm.DB) (err error)

func (*Genre) TableName

func (*Genre) TableName() string

TableName Genre's table name

type Label

type Label struct {
	ID          int32   `gorm:"column:id;type:integer;primaryKey" json:"id"`
	ContactInfo *string `gorm:"column:contact_info;type:text" json:"contact_info"`
	DataQuality *string `gorm:"column:data_quality;type:character varying(100)" json:"data_quality"`
	Name        *string `gorm:"column:name;type:character varying(300)" json:"name"`
	Profile     *string `gorm:"column:profile;type:text" json:"profile"`
	ParentID    *int32  `gorm:"column:parent_id;type:integer" json:"parent_id"`
}

Label mapped from table <label>

func (*Label) TableName

func (*Label) TableName() string

TableName Label's table name

type LabelRelease

type LabelRelease struct {
	LabelID          int32   `gorm:"column:label_id;type:integer;primaryKey" json:"label_id"`
	ReleaseID        int32   `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	CategoryNotation *string `gorm:"column:category_notation;type:character varying(1000)" json:"category_notation"`
}

LabelRelease mapped from table <label_release>

func (*LabelRelease) References

func (r *LabelRelease) References() []reference.Reference

func (*LabelRelease) TableName

func (*LabelRelease) TableName() string

TableName LabelRelease's table name

type LabelURL

type LabelURL struct {
	LabelID int32  `gorm:"column:label_id;type:integer;primaryKey" json:"label_id"`
	URLHash int64  `gorm:"column:url_hash;type:bigint;primaryKey" json:"url_hash"` // fnv32 encoded hash from url
	URL     string `gorm:"column:url;type:character varying(2048);not null" json:"url"`
}

LabelURL mapped from table <label_url>

func (*LabelURL) TableName

func (*LabelURL) TableName() string

TableName LabelURL's table name

type Master

type Master struct {
	ID           int32   `gorm:"column:id;type:integer;primaryKey" json:"id"`
	DataQuality  *string `gorm:"column:data_quality;type:character varying(100)" json:"data_quality"`
	Title        *string `gorm:"column:title;type:character varying(2000)" json:"title"`
	ReleasedYear *int16  `gorm:"column:released_year;type:smallint" json:"released_year"`
}

Master mapped from table <master>

func (*Master) AfterCreate added in v1.1.0

func (m *Master) AfterCreate(_ *gorm.DB) (err error)

func (*Master) AfterUpdate added in v1.1.0

func (m *Master) AfterUpdate(_ *gorm.DB) (err error)

func (*Master) TableName

func (*Master) TableName() string

TableName Master's table name

type MasterArtist

type MasterArtist struct {
	ArtistID int32 `gorm:"column:artist_id;type:integer;primaryKey" json:"artist_id"`
	MasterID int32 `gorm:"column:master_id;type:integer;primaryKey" json:"master_id"`
}

MasterArtist mapped from table <master_artist>

func (*MasterArtist) References

func (a *MasterArtist) References() []reference.Reference

func (*MasterArtist) TableName

func (*MasterArtist) TableName() string

TableName MasterArtist's table name

type MasterGenre

type MasterGenre struct {
	MasterID int32 `gorm:"column:master_id;type:integer;primaryKey" json:"master_id"`
	GenreID  int32 `gorm:"column:genre_id;type:integer;primaryKey" json:"genre_id"`
}

MasterGenre mapped from table <master_genre>

func (*MasterGenre) References

func (g *MasterGenre) References() []reference.Reference

func (*MasterGenre) TableName

func (*MasterGenre) TableName() string

TableName MasterGenre's table name

type MasterStyle

type MasterStyle struct {
	MasterID int32 `gorm:"column:master_id;type:integer;primaryKey" json:"master_id"`
	StyleID  int32 `gorm:"column:style_id;type:integer;primaryKey" json:"style_id"`
}

MasterStyle mapped from table <master_style>

func (*MasterStyle) References

func (s *MasterStyle) References() []reference.Reference

func (*MasterStyle) TableName

func (*MasterStyle) TableName() string

TableName MasterStyle's table name

type MasterVideo

type MasterVideo struct {
	MasterID    int32   `gorm:"column:master_id;type:integer;primaryKey" json:"master_id"`
	URLHash     int64   `gorm:"column:url_hash;type:bigint;primaryKey" json:"url_hash"` // fnv32 encoded hash from url
	URL         string  `gorm:"column:url;type:character varying(2048);not null" json:"url"`
	Description *string `gorm:"column:description;type:character varying(4000)" json:"description"`
	Title       *string `gorm:"column:title;type:character varying(1000)" json:"title"`
}

MasterVideo mapped from table <master_video>

func (*MasterVideo) TableName

func (*MasterVideo) TableName() string

TableName MasterVideo's table name

type Reference

type Reference struct {
	ID  int32
	TYP types.Model
}

func (*Reference) GetID

func (r *Reference) GetID() int32

func (*Reference) GetType

func (r *Reference) GetType() types.Model

type Release

type Release struct {
	ID                int32   `gorm:"column:id;type:integer;primaryKey" json:"id"`
	Title             *string `gorm:"column:title;type:character varying(10000)" json:"title"`
	Country           *string `gorm:"column:country;type:character varying(100)" json:"country"`
	DataQuality       *string `gorm:"column:data_quality;type:character varying(100)" json:"data_quality"`
	ReleasedYear      *int16  `gorm:"column:released_year;type:smallint" json:"released_year"`
	ReleasedMonth     *int16  `gorm:"column:released_month;type:smallint" json:"released_month"`
	ReleasedDay       *int16  `gorm:"column:released_day;type:smallint" json:"released_day"`
	ListedReleaseDate *string `gorm:"column:listed_release_date;type:character varying(255)" json:"listed_release_date"`
	MasterID          *int32  `gorm:"column:master_id;type:integer" json:"master_id"`
	IsMaster          *bool   `gorm:"column:is_master;type:boolean" json:"is_master"`
	Notes             *string `gorm:"column:notes;type:text" json:"notes"`
	Status            *string `gorm:"column:status;type:character varying(255)" json:"status"`
}

Release mapped from table <release>

func (*Release) TableName

func (*Release) TableName() string

TableName Release's table name

type ReleaseArtist

type ReleaseArtist struct {
	ReleaseID int32 `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	ArtistID  int32 `gorm:"column:artist_id;type:integer;primaryKey" json:"artist_id"`
}

ReleaseArtist mapped from table <release_artist>

func (*ReleaseArtist) TableName

func (*ReleaseArtist) TableName() string

TableName ReleaseArtist's table name

type ReleaseContract

type ReleaseContract struct {
	ReleaseID    int32  `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	LabelID      int32  `gorm:"column:label_id;type:integer;primaryKey" json:"label_id"`
	ContractHash int64  `gorm:"column:contract_hash;type:bigint;primaryKey" json:"contract_hash"` // fnv32 encoded hash from contract
	Contract     string `gorm:"column:contract;type:character varying(5000);not null" json:"contract"`
}

ReleaseContract mapped from table <release_contract>

func (*ReleaseContract) TableName

func (*ReleaseContract) TableName() string

TableName ReleaseContract's table name

type ReleaseCreditedArtist

type ReleaseCreditedArtist struct {
	ReleaseID int32   `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	ArtistID  int32   `gorm:"column:artist_id;type:integer;primaryKey" json:"artist_id"`
	RoleHash  int64   `gorm:"column:role_hash;type:bigint;primaryKey" json:"role_hash"` // fnv32 encoded hash from role
	Role      *string `gorm:"column:role;type:character varying(10000)" json:"role"`    // role of an artist for a release
}

ReleaseCreditedArtist mapped from table <release_credited_artist>

func (*ReleaseCreditedArtist) References

func (a *ReleaseCreditedArtist) References() []reference.Reference

func (*ReleaseCreditedArtist) TableName

func (*ReleaseCreditedArtist) TableName() string

TableName ReleaseCreditedArtist's table name

type ReleaseFormat

type ReleaseFormat struct {
	ReleaseID   int32   `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	Description *string `gorm:"column:description;type:character varying(10000)" json:"description"`
	Name        *string `gorm:"column:name;type:character varying(255)" json:"name"`
	Quantity    *int32  `gorm:"column:quantity;type:integer" json:"quantity"`
	Text        *string `gorm:"column:text;type:character varying(5000)" json:"text"`
	FormatHash  int64   `gorm:"column:format_hash;type:bigint;primaryKey" json:"format_hash"` // fnv32 encoded hash from string which is description, name, quantity, text appended in order
}

ReleaseFormat mapped from table <release_format>

func (*ReleaseFormat) TableName

func (*ReleaseFormat) TableName() string

TableName ReleaseFormat's table name

type ReleaseGenre

type ReleaseGenre struct {
	ReleaseID int32 `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	GenreID   int32 `gorm:"column:genre_id;type:integer;primaryKey" json:"genre_id"`
}

ReleaseGenre mapped from table <release_genre>

func (*ReleaseGenre) TableName

func (*ReleaseGenre) TableName() string

TableName ReleaseGenre's table name

type ReleaseIdentifier

type ReleaseIdentifier struct {
	ReleaseID      int32   `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	Description    *string `gorm:"column:description;type:text" json:"description"`
	Type           *string `gorm:"column:type;type:character varying(2500)" json:"type"`
	Value          *string `gorm:"column:value;type:text" json:"value"`
	IdentifierHash int64   `gorm:"column:identifier_hash;type:bigint;primaryKey" json:"identifier_hash"` // fnv32 encoded hash from string which is description, type, value appended in order
}

ReleaseIdentifier mapped from table <release_identifier>

func (*ReleaseIdentifier) TableName

func (*ReleaseIdentifier) TableName() string

TableName ReleaseIdentifier's table name

type ReleaseImage

type ReleaseImage struct {
	ReleaseID int32  `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	URLHash   int64  `gorm:"column:url_hash;type:bigint;primaryKey" json:"url_hash"` // fnv32 encoded hash from url
	URL       string `gorm:"column:url;type:character varying(2048);not null" json:"url"`
}

ReleaseImage mapped from table <release_image>

func (*ReleaseImage) TableName

func (*ReleaseImage) TableName() string

TableName ReleaseImage's table name

type ReleaseStyle

type ReleaseStyle struct {
	ReleaseID int32 `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	StyleID   int32 `gorm:"column:style_id;type:integer;primaryKey" json:"style_id"`
}

ReleaseStyle mapped from table <release_style>

func (*ReleaseStyle) TableName

func (*ReleaseStyle) TableName() string

TableName ReleaseStyle's table name

type ReleaseTrack

type ReleaseTrack struct {
	ReleaseID int32   `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	Duration  *string `gorm:"column:duration;type:character varying(1500)" json:"duration"`
	Position  *string `gorm:"column:position;type:character varying(1500)" json:"position"`
	Title     *string `gorm:"column:title;type:character varying(10000)" json:"title"`
	TitleHash int64   `gorm:"column:title_hash;type:bigint;primaryKey" json:"title_hash"` // fnv32 encoded hash from title
}

ReleaseTrack mapped from table <release_track>

func (*ReleaseTrack) TableName

func (*ReleaseTrack) TableName() string

TableName ReleaseTrack's table name

type ReleaseVideo

type ReleaseVideo struct {
	ReleaseID   int32   `gorm:"column:release_id;type:integer;primaryKey" json:"release_id"`
	Description *string `gorm:"column:description;type:character varying(4000)" json:"description"`
	Title       *string `gorm:"column:title;type:character varying(1000)" json:"title"`
	URL         string  `gorm:"column:url;type:character varying(2048);not null" json:"url"`
	URLHash     int64   `gorm:"column:url_hash;type:bigint;primaryKey" json:"url_hash"` // fnv32 encoded hash from url
}

ReleaseVideo mapped from table <release_video>

func (*ReleaseVideo) TableName

func (*ReleaseVideo) TableName() string

TableName ReleaseVideo's table name

type Style

type Style struct {
	ID   int32  `gorm:"column:id;type:integer;primaryKey;autoIncrement:true;index:pk_style,priority:1" json:"id"`
	Name string `gorm:"column:name;type:character varying(50);not null;uniqueIndex:style_name_key,priority:1" json:"name"`
}

Style mapped from table <style>

func (*Style) AfterCreate added in v1.1.0

func (s *Style) AfterCreate(_ *gorm.DB) (err error)

func (*Style) AfterUpdate added in v1.1.0

func (s *Style) AfterUpdate(_ *gorm.DB) (err error)

func (*Style) TableName

func (*Style) TableName() string

TableName Style's table name

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL