package models import ( "time" ) //#region Objects type Role struct { ID string `json:"id"` Name string `json:"name"` } type PersonCredit struct { Track TrackBrief `json:"track"` Role Role `json:"role"` } type TrackCredit struct { Person PersonBrief `json:"person"` Role Role `json:"role"` } type PersonBrief struct { ID string `json:"id"` Name string `json:"name"` SortName string `json:"sortName"` } type Person struct { PersonBrief Birthdate string `json:"birthdate"` Deathdate string `json:"deathdate"` Credits []PersonCredit `json:"credits"` Info string `json:"info"` } type ArtistBrief struct { ID string `json:"id"` Name string `json:"name"` } type Artist struct { ArtistBrief Tracks []TrackBrief `json:"tracks"` Info string `json:"info"` } type TrackBrief struct { ID string `json:"id"` Name string `json:"name"` Artists []ArtistBrief `json:"artists"` Duration float32 `json:"duration"` ReleaseDate string `json:"release_date"` AcquireDatetime time.Time `json:"acquire_datetime"` ISRC string `json:"isrc"` } type Track struct { TrackBrief Credits []TrackCredit `json:"credits"` Lyrics string `json:"lyrics"` Info string `json:"info"` } type Alias struct { ID string `json:"id"` TrackID string `json:"track_id"` Name string `json:"name"` Artist string `json:"artist"` } type Kiroku struct { Alias Alias `json:"alias"` Datetime time.Time `json:"datetime"` } //#endregion Objects //#region Sets type Pagination struct { Total int `json:"total"` Offset int `json:"offset"` Limit int `json:"limit"` Count int `json:"count"` } type Persons struct { Pagination Pagination `json:"pagination"` Persons []PersonBrief `json:"persons"` } type Roles struct { Pagination Pagination `json:"pagination"` Roles []Role `json:"roles"` } type Artists struct { Pagination Pagination `json:"pagination"` Artists []ArtistBrief `json:"artists"` } type Tracks struct { Pagination Pagination `json:"pagination"` Tracks []TrackBrief `json:"tracks"` } type Aliases struct { Pagination Pagination `json:"pagination"` Aliases []Alias `json:"aliases"` } type Kirokus struct { Pagination Pagination `json:"pagination"` Kirokus []Kiroku `json:"kirokus"` } //#endregion Sets