- Move box ID validation, file listing/pathing, manifest creation, and uploads to `boxstore` - Use shared helpers for safe filenames and polling interval env parsing - Add file status constants to `models` to avoid duplicated magic strings across handlersrefactor(server): use boxstore helpers and file status consts - Move box ID validation, file listing/pathing, manifest creation, and uploads to `boxstore` - Use shared helpers for safe filenames and polling interval env parsing - Add file status constants to `models` to avoid duplicated magic strings across handlers
21 lines
371 B
Go
21 lines
371 B
Go
package helpers
|
|
|
|
import "fmt"
|
|
|
|
func FormatBytes(bytes int64) string {
|
|
units := []string{"B", "KB", "MB", "GB"}
|
|
size := float64(bytes)
|
|
unitIndex := 0
|
|
|
|
for size >= 1024 && unitIndex < len(units)-1 {
|
|
size /= 1024
|
|
unitIndex++
|
|
}
|
|
|
|
if unitIndex == 0 {
|
|
return fmt.Sprintf("%d %s", bytes, units[unitIndex])
|
|
}
|
|
|
|
return fmt.Sprintf("%.1f %s", size, units[unitIndex])
|
|
}
|