Move Audio to media package
This commit is contained in:
16
handlers.go
16
handlers.go
@@ -495,7 +495,7 @@ func processOriginal(originalID uint) {
|
||||
hasOriginalVideo := true
|
||||
hasOriginalAudio := true
|
||||
var video media.Video
|
||||
var audio Audio
|
||||
var audio media.Audio
|
||||
err := db.Where("source = ?", "original").Where("original_id = ?", originalID).First(&video).Error
|
||||
if err == gorm.ErrRecordNotFound {
|
||||
hasOriginalVideo = false
|
||||
@@ -604,7 +604,7 @@ func startDownload(originalID uint, videoURL string, audioOnly bool) {
|
||||
return
|
||||
}
|
||||
|
||||
audio := Audio{
|
||||
audio := media.Audio{
|
||||
OriginalID: originalID,
|
||||
Filename: dlFilename,
|
||||
Source: "original",
|
||||
@@ -731,7 +731,7 @@ func videoHandler(c echo.Context) error {
|
||||
Order("CASE WHEN source = 'original' THEN 0 ELSE 1 END, height ASC").
|
||||
Find(&videos)
|
||||
|
||||
var audios []Audio
|
||||
var audios []media.Audio
|
||||
db.Where("original_id = ?", id).
|
||||
Order("CASE WHEN source = 'original' THEN 0 ELSE 1 END, bps ASC").
|
||||
Find(&audios)
|
||||
@@ -843,7 +843,7 @@ func deleteOriginalVideos(originalID int) {
|
||||
}
|
||||
|
||||
func deleteAudiosWithSource(originalID int, source string) {
|
||||
var audios []Audio
|
||||
var audios []media.Audio
|
||||
db.Where("original_id = ?", originalID).Where("source = ?", source).Find(&audios)
|
||||
for _, audio := range audios {
|
||||
path := filepath.Join(getDataDir(), audio.Filename)
|
||||
@@ -853,7 +853,7 @@ func deleteAudiosWithSource(originalID int, source string) {
|
||||
log.Errorln("error removing", path, err)
|
||||
}
|
||||
}
|
||||
db.Delete(&Audio{}, "original_id = ? AND source = ?", originalID, source)
|
||||
db.Delete(&media.Audio{}, "original_id = ? AND source = ?", originalID, source)
|
||||
}
|
||||
|
||||
func deleteOriginalHandler(c echo.Context) error {
|
||||
@@ -907,7 +907,7 @@ func deleteAudioHandler(c echo.Context) error {
|
||||
referrer = "/"
|
||||
}
|
||||
|
||||
var audio Audio
|
||||
var audio media.Audio
|
||||
result := db.First(&audio, id)
|
||||
if result.Error != nil {
|
||||
log.Errorln("error retrieving audio", id, result.Error)
|
||||
@@ -921,7 +921,7 @@ func deleteAudioHandler(c echo.Context) error {
|
||||
log.Errorln("coudn't remove", filePath, err)
|
||||
}
|
||||
|
||||
if err := db.Delete(&Audio{}, id).Error; err != nil {
|
||||
if err := db.Delete(&media.Audio{}, id).Error; err != nil {
|
||||
log.Errorln("error deleting audio record", id, err)
|
||||
}
|
||||
return c.Redirect(http.StatusSeeOther, referrer)
|
||||
@@ -958,7 +958,7 @@ func transcodeToAudioHandler(c echo.Context) error {
|
||||
hasOriginalVideo := true
|
||||
hasOriginalAudio := true
|
||||
var video media.Video
|
||||
var audio Audio
|
||||
var audio media.Audio
|
||||
err := db.Where("source = ?", "original").Where("original_id = ?", originalId).First(&video).Error
|
||||
if err == gorm.ErrRecordNotFound {
|
||||
hasOriginalVideo = false
|
||||
|
2
main.go
2
main.go
@@ -80,7 +80,7 @@ func main() {
|
||||
sqlDB.SetMaxOpenConns(1)
|
||||
|
||||
// Migrate the schema
|
||||
db.AutoMigrate(&Original{}, &media.Video{}, &Audio{}, &User{}, &TempURL{}, &Transcode{})
|
||||
db.AutoMigrate(&Original{}, &media.Video{}, &media.Audio{}, &User{}, &TempURL{}, &Transcode{})
|
||||
go PeriodicCleanup()
|
||||
|
||||
// create a user
|
||||
|
@@ -5,9 +5,25 @@ import "gorm.io/gorm"
|
||||
type Status string
|
||||
|
||||
const (
|
||||
Pending Status = "pending"
|
||||
Transcoding Status = "transcoding"
|
||||
Completed Status = "completed"
|
||||
Failed Status = "failed"
|
||||
)
|
||||
|
||||
type Audio struct {
|
||||
gorm.Model
|
||||
OriginalID uint // Original.ID
|
||||
Source string // "original", "transcode"
|
||||
Bps uint
|
||||
Length float64
|
||||
Size int64
|
||||
Type string
|
||||
Codec string
|
||||
Filename string
|
||||
Status Status
|
||||
}
|
||||
|
||||
type Video struct {
|
||||
gorm.Model
|
||||
OriginalID uint // Original.ID
|
||||
@@ -20,4 +36,5 @@ type Video struct {
|
||||
Size int64
|
||||
Type string
|
||||
Codec string
|
||||
Status Status
|
||||
}
|
||||
|
13
models.go
13
models.go
@@ -53,19 +53,6 @@ type Transcode struct {
|
||||
Rate uint
|
||||
}
|
||||
|
||||
type Audio struct {
|
||||
gorm.Model
|
||||
OriginalID uint // Original.ID
|
||||
Source string // "original", "transcode"
|
||||
Bps uint
|
||||
Length float64
|
||||
Size int64
|
||||
Type string
|
||||
Codec string
|
||||
Filename string
|
||||
Status string // "pending", "completed", "failed"
|
||||
}
|
||||
|
||||
type User struct {
|
||||
gorm.Model
|
||||
Username string `gorm:"unique"`
|
||||
|
@@ -133,7 +133,7 @@ func videoToAudio(transID uint, kbps uint, videoFilepath string) {
|
||||
db.First(&orig, "id = ?", trans.OriginalID)
|
||||
|
||||
// create audio record
|
||||
audio := Audio{OriginalID: orig.ID,
|
||||
audio := media.Audio{OriginalID: orig.ID,
|
||||
Filename: audioFilename,
|
||||
Bps: kbps * 1000,
|
||||
Source: "transcode",
|
||||
@@ -191,7 +191,7 @@ func audioToAudio(transID uint, kbps uint, srcFilepath string) {
|
||||
db.First(&orig, "id = ?", trans.OriginalID)
|
||||
|
||||
// create audio record
|
||||
audio := Audio{
|
||||
audio := media.Audio{
|
||||
OriginalID: orig.ID,
|
||||
Filename: dstFilename,
|
||||
Bps: kbps * 1000,
|
||||
@@ -282,7 +282,7 @@ func transcodePending() {
|
||||
}
|
||||
} else if trans.SrcKind == "audio" {
|
||||
|
||||
var srcAudio Audio
|
||||
var srcAudio media.Audio
|
||||
err = db.First(&srcAudio, "id = ?", trans.SrcID).Error
|
||||
if err != nil {
|
||||
fmt.Println("no such source audio for audio Transcode", trans)
|
||||
|
Reference in New Issue
Block a user