models

package
v0.0.0-...-0ae60ed Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2022 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TrackStatusReady   = "READY"
	TrackStatusUnknown = "UNKNOWN"
	TrackStatusPending = "PENDING"
	TrackStatusInvalid = "INVALID"
)

Variables

This section is empty.

Functions

func DeleteAlbum

func DeleteAlbum(ctx context.Context, id string) error

func DeleteArtist

func DeleteArtist(ctx context.Context, id string) error

func DeleteTrack

func DeleteTrack(ctx context.Context, id string) error

func Init

func Init(ctx context.Context)

Types

type Album

type Album struct {
	ID        primitive.ObjectID   `json:"id"                   bson:"_id"                  validate:"required"`
	MBID      *string              `json:"mbid"                 bson:"mbid"                 validate:"required,min=1"`
	Name      string               `json:"name"                 bson:"name"                 validate:"required,min=1"`
	ArtistIDs []primitive.ObjectID `json:"artist_ids,omitempty" bson:"artist_ids,omitempty" validate:"omitempty"`
	TrackIDs  []primitive.ObjectID `json:"track_ids,omitempty"  bson:"track_ids,omitempty"  validate:"omitempty"`
	Metadata  map[string]string    `json:"metadata,omitempty"   bson:"metadata,omitempty"   validate:"omitempty"`
	CreatedAt int64                `json:"created_at"           bson:"created_at"           validate:"required"`
	UpdatedAt int64                `json:"updated_at"           bson:"updated_at"           validate:"required,gtefield=CreatedAt"`
}

func CreateAlbum

func CreateAlbum(ctx context.Context, a *Album) (*Album, error)

func ListAlbums

func ListAlbums(ctx context.Context) ([]Album, error)

func ReadAlbum

func ReadAlbum(ctx context.Context, id string) (*Album, error)

func UpdateAlbum

func UpdateAlbum(ctx context.Context, id string, a *Album) (*Album, error)

type Artist

type Artist struct {
	ID        primitive.ObjectID `json:"id"                 bson:"_id"                validate:"required"`
	MBID      *string            `json:"mbid,omitempty"     bson:"mbid,omitempty"     validate:"omitempty"`
	Name      string             `json:"name"               bson:"name"               validate:"required,min=1"`
	Metadata  map[string]string  `json:"metadata,omitempty" bson:"metadata,omitempty" validate:"omitempty"`
	CreatedAt int64              `json:"created_at"         bson:"created_at"         validate:"required"`
	UpdatedAt int64              `json:"updated_at"         bson:"updated_at"         validate:"required,gtefield=CreatedAt"`
}

func CreateArtist

func CreateArtist(ctx context.Context, a *Artist) (*Artist, error)

func ListArtists

func ListArtists(ctx context.Context) ([]Artist, error)

func ReadArtist

func ReadArtist(ctx context.Context, id string) (*Artist, error)

func UpdateArtist

func UpdateArtist(ctx context.Context, id string, a *Artist) (*Artist, error)

type Track

type Track struct {
	ID          primitive.ObjectID   `json:"id"                     bson:"_id"                    validate:"required"`
	MBID        *string              `json:"mbid"                   bson:"mbid"                   validate:"required,min=1"`
	SourceURL   *string              `json:"source_url"             bson:"source_url"             validate:"required,url"`
	Name        string               `json:"title"                  bson:"title"                  validate:"required,min=3"`
	Duration    *int64               `json:"duration,omitempty"     bson:"duration,omitempty"     validate:"omitempty"`
	DataKey     *string              `json:"data_key,omitempty"     bson:"data_key,omitempty"     validate:"omitempty"`
	ArtistIDs   []primitive.ObjectID `json:"artist_ids,omitempty"   bson:"artist_ids,omitempty"   validate:"omitempty"`
	Metadata    map[string]string    `json:"metadata,omitempty"     bson:"metadata,omitempty"     validate:"omitempty"`
	TrackStatus *string              `json:"track_status,omitempty" bson:"track_status,omitempty" validate:"omitempty,oneof=UNKNOWN PENDING INVALID READY"`
	AccessedAt  int64                `json:"accessed_at"            bson:"accessed_at"            validate:"required"`
	CreatedAt   int64                `json:"created_at"             bson:"created_at"             validate:"required"`
	UpdatedAt   int64                `json:"updated_at"             bson:"updated_at"             validate:"required,gtefield=CreatedAt"`
}

func CreateTrack

func CreateTrack(ctx context.Context, t *Track) (*Track, error)

func ListTracks

func ListTracks(ctx context.Context) ([]Track, error)

func ReadTrack

func ReadTrack(ctx context.Context, id string) (*Track, error)

func UpdateTrack

func UpdateTrack(ctx context.Context, id string, t *Track) (*Track, error)

Jump to

Keyboard shortcuts

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