Compare commits

..

No commits in common. "57137a08d370fbd57a28ffbc227849dbd2d378c6" and "b3057e185ca05b8b8164c1f99729ab501e8744e0" have entirely different histories.

11 changed files with 606 additions and 596 deletions

View file

@ -1,6 +1,7 @@
package routes
import (
"encoding/base64"
"os"
"path/filepath"
"strings"
@ -41,9 +42,8 @@ func RegisterFileRoutes(cfg *types.StereoConfig, api *gin.RouterGroup) {
return
}
if file.Size <= 0 {
c.JSON(400, gin.H{"error": "file size must be greater than zero"})
return
b64, err := convertToBase64(filePath)
if err != nil {
}
fileMeta := types.File{
@ -51,7 +51,7 @@ func RegisterFileRoutes(cfg *types.StereoConfig, api *gin.RouterGroup) {
Path: filePath,
Owner: uid,
CreatedAt: time.Now(),
Size: file.Size,
Base64: b64,
}
if err := cfg.Database.Create(&fileMeta).Error; err != nil {
@ -142,3 +142,13 @@ func RegisterFileRoutes(cfg *types.StereoConfig, api *gin.RouterGroup) {
c.JSON(200, files)
})
}
func convertToBase64(filePath string) (string, error) {
file, err := os.ReadFile(filePath)
if err != nil {
return "", err
}
b64 := base64.StdEncoding.EncodeToString(file)
return b64, nil
}

View file

@ -26,6 +26,6 @@ type File struct {
ID string `gorm:"primaryKey"`
Path string `gorm:"not null;index"`
Owner string `gorm:"not null;index"`
Size int64 `gorm:"not null;type:bigint"`
CreatedAt time.Time `gorm:"autoCreateTime"`
Base64 string `gorm:"type:text"`
}