Files
gluetun/internal/storage/storage.go
Quentin McGaw 73479bab26 Code maintenance: OS package for file system
- OS custom internal package for file system interaction
- Remove fileManager external dependency
- Closer API to Go's native API on the OS
- Create directories at startup
- Better testability
- Move Unsetenv to os interface
2020-12-29 00:55:31 +00:00

25 lines
518 B
Go

package storage
import (
"github.com/qdm12/gluetun/internal/models"
"github.com/qdm12/gluetun/internal/os"
"github.com/qdm12/golibs/logging"
)
type Storage interface {
SyncServers(hardcodedServers models.AllServers, write bool) (allServers models.AllServers, err error)
FlushToFile(servers models.AllServers) error
}
type storage struct {
os os.OS
logger logging.Logger
}
func New(logger logging.Logger, os os.OS) Storage {
return &storage{
os: os,
logger: logger.WithPrefix("storage: "),
}
}