dal

package
v0.0.0-...-7708c96 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2019 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StartDB

func StartDB() (conn *pgx.Conn)

StartDB opens a connection to psql database.

Types

type Album

type Album struct {
	ID          int       `json:"id"`
	Title       string    `json:"title"`
	ArtistID    int       `json:"artist_id"`
	ReleaseDate time.Time `json:"date"`
}

Album of an artist.

type AlbumStore

type AlbumStore struct {
	DB *pgx.Conn
}

AlbumStore database access.

func NewAlbumStore

func NewAlbumStore(db *pgx.Conn) AlbumStore

NewAlbumStore returns a new connection to an album store

func (*AlbumStore) GetAlbumsByArtistID

func (as *AlbumStore) GetAlbumsByArtistID(artistID int) (a []Album, err error)

GetAlbumsByArtistID returns all the albums that are linked to an artist.

type Artist

type Artist struct {
	ID           int    `db:"id" json:"id"`
	Name         string `db:"name" json:"name"`
	Location     ` db:"hometown" json:"location"`
	Genre        string `db:"genre" json:"genre"`
	SpotifyID    string `db:"spotify_id" json:"spotify_id"`
	WikipediaURL string `db:"wikipedia_url" json:"wikipedia_url"`
}

Artist data type including some basic information and location.

type ArtistStore

type ArtistStore struct {
	DB *pgx.Conn
}

ArtistStore database access.

func NewArtistStore

func NewArtistStore(db *pgx.Conn) ArtistStore

NewArtistStore returns a new connection to an Artist store

func (*ArtistStore) AddArtist

func (as *ArtistStore) AddArtist(artist Artist) (artistID int, err error)

AddArtist saves an artist to the database.

func (*ArtistStore) GetArtistByID

func (as *ArtistStore) GetArtistByID(artistID int) (artist Artist, err error)

GetArtistByID returns the artist with a matching id.

func (*ArtistStore) GetArtistBySpotifyID

func (as *ArtistStore) GetArtistBySpotifyID(spotifyID string) (artist Artist, err error)

GetArtistBySpotifyID returns the artist with a matching spotify id.

func (*ArtistStore) GetArtistsByName

func (as *ArtistStore) GetArtistsByName(artistName string) (artists []Artist, err error)

GetArtistsByName returns the artist with a matching name.

func (*ArtistStore) UpdateArtist

func (as *ArtistStore) UpdateArtist(artist Artist) (artistId int, err error)

UpdateArtist updates an existing artist.

type Location

type Location struct {
	ID            int     `json:"id"`
	City          string  `json:"city"`
	State         string  `json:"state"`
	Country       string  `json:"country"`
	FullLocation  string  `json:"location_string"`
	GooglePlaceID string  `json:"google_place_id"`
	Latitude      float64 `json:"latitude"`
	Longitude     float64 `json:"longitude"`
}

Location of an artist or band.

type LocationStore

type LocationStore struct {
	DB *pgx.Conn
}

LocationStore database access.

func NewLocationStore

func NewLocationStore(db *pgx.Conn) LocationStore

NewLocationStore returns a new connection to an Location store

func (*LocationStore) AddLocation

func (ls *LocationStore) AddLocation(location Location) (locationID int, err error)

func (*LocationStore) CheckForExistingLocation

func (ls *LocationStore) CheckForExistingLocation(locationToCheck Location) (bool, Location)

func (*LocationStore) GetArtistsByLocationID

func (ls *LocationStore) GetArtistsByLocationID(locationID int) (artists []Artist, err error)

func (*LocationStore) GetLocationByGoogleID

func (ls *LocationStore) GetLocationByGoogleID(locationID string) (location Location, err error)

func (*LocationStore) GetLocationByID

func (ls *LocationStore) GetLocationByID(locationID int) (location Location, err error)

func (*LocationStore) UpdateLocation

func (ls *LocationStore) UpdateLocation(location Location) (locationID int, err error)

Jump to

Keyboard shortcuts

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