2020-02-05 16:14:21 +01:00
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
|
|
|
"database/sql"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Album struct {
|
|
|
|
AlbumID int
|
|
|
|
Title string
|
|
|
|
ParentAlbum *int
|
|
|
|
OwnerID int
|
|
|
|
Path string
|
|
|
|
}
|
|
|
|
|
2020-02-09 21:25:33 +01:00
|
|
|
func (a *Album) ID() int {
|
|
|
|
return a.AlbumID
|
2020-02-05 16:14:21 +01:00
|
|
|
}
|
|
|
|
|
2020-03-07 16:19:27 +01:00
|
|
|
func (a *Album) FilePath() string {
|
|
|
|
return a.Path
|
|
|
|
}
|
|
|
|
|
2020-02-05 16:14:21 +01:00
|
|
|
func NewAlbumFromRow(row *sql.Row) (*Album, error) {
|
|
|
|
album := Album{}
|
|
|
|
|
|
|
|
if err := row.Scan(&album.AlbumID, &album.Title, &album.ParentAlbum, &album.OwnerID, &album.Path); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return &album, nil
|
|
|
|
}
|
2020-02-09 15:26:59 +01:00
|
|
|
|
|
|
|
func NewAlbumsFromRows(rows *sql.Rows) ([]*Album, error) {
|
|
|
|
albums := make([]*Album, 0)
|
|
|
|
|
|
|
|
for rows.Next() {
|
|
|
|
var album Album
|
|
|
|
if err := rows.Scan(&album.AlbumID, &album.Title, &album.ParentAlbum, &album.OwnerID, &album.Path); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
albums = append(albums, &album)
|
|
|
|
}
|
|
|
|
|
2020-02-28 20:57:46 +01:00
|
|
|
rows.Close()
|
|
|
|
|
2020-02-09 15:26:59 +01:00
|
|
|
return albums, nil
|
|
|
|
}
|