refactor: Use public API structs in persisters

This commit is contained in:
Felicitas Pojtinger
2022-01-02 00:03:01 +01:00
parent cfbb936954
commit 172a6a3f48
20 changed files with 158 additions and 86 deletions

View File

@@ -5,8 +5,61 @@ import (
"encoding/json"
models "github.com/pojntfx/stfs/internal/db/sqlite/models/metadata"
"github.com/pojntfx/stfs/pkg/config"
)
func ConfigHeaderToDBHeader(confighdr *config.Header) *models.Header {
return &models.Header{
Record: confighdr.Record,
Lastknownrecord: confighdr.Lastknownrecord,
Block: confighdr.Block,
Lastknownblock: confighdr.Lastknownblock,
Typeflag: confighdr.Typeflag,
Name: confighdr.Name,
Linkname: confighdr.Linkname,
Size: confighdr.Size,
Mode: confighdr.Mode,
UID: confighdr.UID,
Gid: confighdr.Gid,
Uname: confighdr.Uname,
Gname: confighdr.Gname,
Modtime: confighdr.Modtime,
Accesstime: confighdr.Accesstime,
Changetime: confighdr.Changetime,
Devmajor: confighdr.Devmajor,
Devminor: confighdr.Devminor,
Paxrecords: confighdr.Paxrecords,
Format: confighdr.Format,
Deleted: confighdr.Deleted,
}
}
func DBHeaderToConfigHeader(dbhdr *models.Header) *config.Header {
return &config.Header{
Record: dbhdr.Record,
Lastknownrecord: dbhdr.Lastknownrecord,
Block: dbhdr.Block,
Lastknownblock: dbhdr.Lastknownblock,
Typeflag: dbhdr.Typeflag,
Name: dbhdr.Name,
Linkname: dbhdr.Linkname,
Size: dbhdr.Size,
Mode: dbhdr.Mode,
UID: dbhdr.UID,
Gid: dbhdr.Gid,
Uname: dbhdr.Uname,
Gname: dbhdr.Gname,
Modtime: dbhdr.Modtime,
Accesstime: dbhdr.Accesstime,
Changetime: dbhdr.Changetime,
Devmajor: dbhdr.Devmajor,
Devminor: dbhdr.Devminor,
Paxrecords: dbhdr.Paxrecords,
Format: dbhdr.Format,
Deleted: dbhdr.Deleted,
}
}
func DBHeaderToTarHeader(dbhdr *models.Header) (*tar.Header, error) {
paxRecords := map[string]string{}
if err := json.Unmarshal([]byte(dbhdr.Paxrecords), &paxRecords); err != nil {

View File

@@ -9,7 +9,6 @@ import (
"os"
"sync"
models "github.com/pojntfx/stfs/internal/db/sqlite/models/metadata"
"github.com/pojntfx/stfs/internal/ioext"
"github.com/pojntfx/stfs/pkg/cache"
"github.com/pojntfx/stfs/pkg/config"
@@ -53,7 +52,7 @@ type File struct {
writeBuf cache.WriteCache
cleanWriteBuf func() error
onHeader func(hdr *models.Header)
onHeader func(hdr *config.Header)
log logging.StructuredLogger
}
@@ -74,7 +73,7 @@ func NewFile(
name string,
info os.FileInfo,
onHeader func(hdr *models.Header),
onHeader func(hdr *config.Header),
log logging.StructuredLogger,
) *File {
return &File{

View File

@@ -6,7 +6,6 @@ import (
"os"
"time"
models "github.com/pojntfx/stfs/internal/db/sqlite/models/metadata"
"github.com/pojntfx/stfs/pkg/config"
)
@@ -17,7 +16,7 @@ var (
tarHeaderEventCSV = append([]string{"type", "indexed"}, tarHeaderCSV...)
)
func headerToCSV(hdr *models.Header) []string {
func headerToCSV(hdr *config.Header) []string {
return []string{
fmt.Sprintf("%v", hdr.Record), fmt.Sprintf("%v", hdr.Lastknownrecord), fmt.Sprintf("%v", hdr.Block), fmt.Sprintf("%v", hdr.Lastknownblock), fmt.Sprintf("%v", hdr.Typeflag), hdr.Name, hdr.Linkname, fmt.Sprintf("%v", hdr.Size), fmt.Sprintf("%v", hdr.Mode), fmt.Sprintf("%v", hdr.UID), fmt.Sprintf("%v", hdr.Gid), fmt.Sprintf("%v", hdr.Uname), fmt.Sprintf("%v", hdr.Gname), hdr.Modtime.Format(time.RFC3339), hdr.Accesstime.Format(time.RFC3339), hdr.Changetime.Format(time.RFC3339), fmt.Sprintf("%v", hdr.Devmajor), fmt.Sprintf("%v", hdr.Devminor), fmt.Sprintf("%v", hdr.Paxrecords), fmt.Sprintf("%v", hdr.Format),
}
@@ -35,7 +34,7 @@ func NewCSVLogger() *CSVLogger {
return &CSVLogger{}
}
func (l *CSVLogger) PrintHeader(hdr *models.Header) {
func (l *CSVLogger) PrintHeader(hdr *config.Header) {
w := csv.NewWriter(os.Stdout)
if l.n <= 0 {