add routes

This commit is contained in:
sentriz
2019-04-14 15:28:23 +01:00
parent 76ad2ec4eb
commit 87efb3b3c5
11 changed files with 481 additions and 285 deletions

View File

@@ -81,7 +81,7 @@ func handleFolderCompletion(fullPath string, info *godirwalk.Dirent) error {
cover := db.Cover{
Path: cLastAlbum.coverPath,
}
err := tx.Where(cover).First(&cover).Error
err := tx.Where(cover).First(&cover).Error // TODO: swap
if !gorm.IsRecordNotFoundError(err) &&
!cLastAlbum.coverModTime.After(cover.UpdatedAt) {
return nil
@@ -123,7 +123,7 @@ func handleFile(fullPath string, info *godirwalk.Dirent) error {
track := db.Track{
Path: fullPath,
}
err = tx.Where(track).First(&track).Error
err = tx.Where(track).First(&track).Error // TODO: swap
if !gorm.IsRecordNotFoundError(err) &&
!modTime.After(track.UpdatedAt) {
return nil
@@ -136,6 +136,7 @@ func handleFile(fullPath string, info *godirwalk.Dirent) error {
discNumber, TotalDiscs := tags.Disc()
track.Path = fullPath
track.Title = tags.Title()
track.Artist = tags.Artist()
track.DiscNumber = uint(discNumber)
track.TotalDiscs = uint(TotalDiscs)
track.TotalTracks = uint(totalTracks)
@@ -143,25 +144,26 @@ func handleFile(fullPath string, info *godirwalk.Dirent) error {
track.Year = uint(tags.Year())
track.Suffix = extension
track.ContentType = mime
// set artist {
artist := db.Artist{
track.Size = uint(stat.Size())
// set album artist {
albumArtist := db.AlbumArtist{
Name: tags.AlbumArtist(),
}
err = tx.Where(artist).First(&artist).Error
err = tx.Where(albumArtist).First(&albumArtist).Error
if gorm.IsRecordNotFoundError(err) {
artist.Name = tags.AlbumArtist()
tx.Save(&artist)
albumArtist.Name = tags.AlbumArtist()
tx.Save(&albumArtist)
}
track.ArtistID = artist.ID
track.AlbumArtistID = albumArtist.ID
// set album
album := db.Album{
ArtistID: artist.ID,
Title: tags.Album(),
AlbumArtistID: albumArtist.ID,
Title: tags.Album(),
}
err = tx.Where(album).First(&album).Error
if gorm.IsRecordNotFoundError(err) {
album.Title = tags.Album()
album.ArtistID = artist.ID
album.AlbumArtistID = albumArtist.ID
tx.Save(&album)
}
track.AlbumID = album.ID
@@ -181,7 +183,7 @@ func main() {
orm.SetLogger(log.New(os.Stdout, "gorm ", 0))
orm.AutoMigrate(
&db.Album{},
&db.Artist{},
&db.AlbumArtist{},
&db.Track{},
&db.Cover{},
&db.User{},