Files
res-downloader/core/storage.go
2025-05-14 17:51:36 +08:00

42 lines
694 B
Go

package core
import (
"os"
"path"
"res-downloader/core/shared"
)
type Storage struct {
fileName string
def []byte
}
func NewStorage(filename string, def []byte) *Storage {
return &Storage{
fileName: path.Join(appOnce.UserDir, filename),
def: def,
}
}
func (l *Storage) Load() ([]byte, error) {
if !shared.FileExist(l.fileName) {
err := os.WriteFile(l.fileName, l.def, 0644)
if err != nil {
return nil, err
}
return l.def, nil
}
d, err := os.ReadFile(l.fileName)
if err != nil {
return nil, err
}
return d, err
}
func (l *Storage) Store(data []byte) error {
if err := os.WriteFile(l.fileName, data, 0644); err != nil {
return err
}
return nil
}