118 lines
2.2 KiB
Go
118 lines
2.2 KiB
Go
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"`
|
|
Alias string `json:"alias"`
|
|
}
|
|
|
|
type TrackCredit struct {
|
|
Person PersonBrief `json:"person"`
|
|
Role Role `json:"role"`
|
|
Alias string `json:"alias"`
|
|
}
|
|
|
|
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"`
|
|
Info string `json:"info"`
|
|
}
|
|
|
|
type ArtistBrief struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type Artist struct {
|
|
ArtistBrief
|
|
Info string `json:"info"`
|
|
}
|
|
|
|
type TrackBrief struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
Duration float32 `json:"duration"`
|
|
ReleaseDate string `json:"release_date"`
|
|
AcquireDatetime time.Time `json:"acquire_datetime"`
|
|
ISRC string `json:"isrc"`
|
|
}
|
|
|
|
type Track struct {
|
|
TrackBrief
|
|
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
|