refactoring everything teehee (i'm so glad this isn't a team project)
Signed-off-by: ari melody <ari@arimelody.me>
This commit is contained in:
parent
c684f0c7ae
commit
10f5f51e76
17 changed files with 970 additions and 547 deletions
100
api/v1/music/track.go
Normal file
100
api/v1/music/track.go
Normal file
|
@ -0,0 +1,100 @@
|
|||
package music
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
type Track struct {
|
||||
number int
|
||||
title string
|
||||
description string
|
||||
lyrics string
|
||||
previewURL string
|
||||
}
|
||||
|
||||
// GETTERS
|
||||
|
||||
func (track Track) GetNumber() int {
|
||||
return track.number
|
||||
}
|
||||
|
||||
func (track Track) GetTitle() string {
|
||||
return track.title
|
||||
}
|
||||
|
||||
func (track Track) GetDescription() string {
|
||||
return track.description
|
||||
}
|
||||
|
||||
func (track Track) GetLyrics() string {
|
||||
return track.lyrics
|
||||
}
|
||||
|
||||
func (track Track) GetPreviewURL() string {
|
||||
return track.previewURL
|
||||
}
|
||||
|
||||
// SETTERS
|
||||
|
||||
func (track Track) SetNumber(number int) error {
|
||||
// TODO: update DB
|
||||
track.number = number
|
||||
return nil
|
||||
}
|
||||
|
||||
func (track Track) SetTitle(title string) error {
|
||||
// TODO: update DB
|
||||
track.title = title
|
||||
return nil
|
||||
}
|
||||
|
||||
func (track Track) SetDescription(description string) error {
|
||||
// TODO: update DB
|
||||
track.description = description
|
||||
return nil
|
||||
}
|
||||
|
||||
func (track Track) SetLyrics(lyrics string) error {
|
||||
// TODO: update DB
|
||||
track.lyrics = lyrics
|
||||
return nil
|
||||
}
|
||||
|
||||
func (track Track) SetPreviewURL(previewURL string) error {
|
||||
// TODO: update DB
|
||||
track.previewURL = previewURL
|
||||
return nil
|
||||
}
|
||||
|
||||
// DATABASE
|
||||
|
||||
func PullReleaseTracks(db *sqlx.DB, releaseID string) ([]Track, error) {
|
||||
var tracks = []Track{}
|
||||
|
||||
track_rows, err := db.Query("SELECT number, title, description, lyrics, preview_url FROM musictracks WHERE release=$1", releaseID)
|
||||
if err != nil {
|
||||
return []Track{}, err
|
||||
}
|
||||
|
||||
for track_rows.Next() {
|
||||
var track = Track{}
|
||||
|
||||
err = track_rows.Scan(
|
||||
&track.number,
|
||||
&track.title,
|
||||
&track.description,
|
||||
&track.lyrics,
|
||||
&track.previewURL,
|
||||
)
|
||||
if err != nil {
|
||||
fmt.Printf("Error while pulling track for release %s: %s\n", releaseID, err)
|
||||
continue
|
||||
}
|
||||
|
||||
tracks = append(tracks, track)
|
||||
}
|
||||
|
||||
return tracks, nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue