27 lines
547 B
Go
27 lines
547 B
Go
package repository
|
|
|
|
import "database/sql"
|
|
|
|
type MediaRepository struct {
|
|
db *sql.DB
|
|
}
|
|
|
|
func NewMediaRepository(db *sql.DB) *MediaRepository {
|
|
return &MediaRepository{db: db}
|
|
}
|
|
|
|
func (r *MediaRepository) Get(id int) (MediaFile, error) {
|
|
var m MediaFile
|
|
rows, err := r.db.Query("SELECT id, path, library_id FROM media_files WHERE id = $1", id)
|
|
if err != nil {
|
|
return MediaFile{}, err
|
|
}
|
|
defer rows.Close()
|
|
if rows.Next() {
|
|
if err := rows.Scan(&m.ID, &m.Path, &m.LibraryID); err != nil {
|
|
return MediaFile{}, err
|
|
}
|
|
}
|
|
return m, nil
|
|
}
|