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
73
api/v1/music/link.go
Normal file
73
api/v1/music/link.go
Normal file
|
@ -0,0 +1,73 @@
|
|||
package music
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
type Link struct {
|
||||
name string
|
||||
url string
|
||||
}
|
||||
|
||||
// GETTERS
|
||||
|
||||
func (link Link) GetName() string {
|
||||
return link.name
|
||||
}
|
||||
|
||||
func (link Link) GetURL() string {
|
||||
return link.url
|
||||
}
|
||||
|
||||
// SETTERS
|
||||
|
||||
func (link Link) SetName(name string) error {
|
||||
// TODO: update DB
|
||||
link.name = name
|
||||
return nil
|
||||
}
|
||||
|
||||
func (link Link) SetURL(url string) error {
|
||||
// TODO: update DB
|
||||
link.url = url
|
||||
return nil
|
||||
}
|
||||
|
||||
// MISC
|
||||
|
||||
func (link Link) NormaliseName() string {
|
||||
rgx := regexp.MustCompile(`[^a-z0-9]`)
|
||||
return strings.ToLower(rgx.ReplaceAllString(link.name, ""))
|
||||
}
|
||||
|
||||
// DATABASE
|
||||
|
||||
func PullReleaseLinks(db *sqlx.DB, releaseID string) ([]Link, error) {
|
||||
var links = []Link{}
|
||||
|
||||
link_rows, err := db.Query("SELECT name, url FROM musiclinks WHERE release=$1", releaseID);
|
||||
if err != nil {
|
||||
return []Link{}, err
|
||||
}
|
||||
|
||||
for link_rows.Next() {
|
||||
var link = Link{}
|
||||
|
||||
err = link_rows.Scan(
|
||||
&link.name,
|
||||
&link.url,
|
||||
)
|
||||
if err != nil {
|
||||
fmt.Printf("Error while pulling link for release %s: %s\n", releaseID, err)
|
||||
continue
|
||||
}
|
||||
|
||||
links = append(links, link)
|
||||
}
|
||||
|
||||
return links, nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue