Compare commits
No commits in common. "796075d9f29bb3b4b9e380e37632d7dc5e03c8ac" and "0ca262c2ea155ef26ec0472da6b05d3255540ec4" have entirely different histories.
796075d9f2
...
0ca262c2ea
@ -14,22 +14,12 @@ type Record struct {
|
|||||||
|
|
||||||
// AppContext is the application data store that holds Records
|
// AppContext is the application data store that holds Records
|
||||||
type AppContext struct {
|
type AppContext struct {
|
||||||
Records []Record
|
Records []Record
|
||||||
dataPath string
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewContext(dataPath string) (AppContext, error) {
|
|
||||||
ctx := AppContext{dataPath: dataPath}
|
|
||||||
err := ctx.LoadRecords()
|
|
||||||
if err != nil {
|
|
||||||
return AppContext{}, err
|
|
||||||
}
|
|
||||||
return ctx, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoadRecords will load records from file
|
// LoadRecords will load records from file
|
||||||
func (ctx *AppContext) LoadRecords() error {
|
func (ctx *AppContext) LoadRecords(filename string) error {
|
||||||
data, err := os.ReadFile(ctx.dataPath)
|
data, err := os.ReadFile(filename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -37,12 +27,12 @@ func (ctx *AppContext) LoadRecords() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SaveRecords will save records to a file
|
// SaveRecords will save records to a file
|
||||||
func (ctx *AppContext) SaveRecords() error {
|
func (ctx *AppContext) SaveRecords(filename string) error {
|
||||||
jsonData, err := json.Marshal(ctx.Records)
|
jsonData, err := json.Marshal(ctx.Records)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return os.WriteFile(ctx.dataPath, jsonData, 0660)
|
return os.WriteFile(filename, jsonData, 0660)
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddReading will add a Reading to the AppContext
|
// AddReading will add a Reading to the AppContext
|
||||||
|
12
main.go
12
main.go
@ -9,7 +9,6 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"ketotrack/config"
|
|
||||||
"ketotrack/data"
|
"ketotrack/data"
|
||||||
"ketotrack/model"
|
"ketotrack/model"
|
||||||
)
|
)
|
||||||
@ -39,14 +38,9 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
appConfig := config.Load()
|
var appCtx data.AppContext
|
||||||
appCtx, err := data.NewContext(appConfig.DataPath)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("Error initializing application context: %s\n", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := appCtx.LoadRecords(); err != nil {
|
if err := appCtx.LoadRecords(recordsFilename); err != nil {
|
||||||
fmt.Printf("Error loading records from file: %s\n", err)
|
fmt.Printf("Error loading records from file: %s\n", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,7 +79,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Save Records before exiting
|
// Save Records before exiting
|
||||||
if err := appCtx.SaveRecords(); err != nil {
|
if err := appCtx.SaveRecords(recordsFilename); err != nil {
|
||||||
fmt.Printf("Error saving records to file: %s\n", err)
|
fmt.Printf("Error saving records to file: %s\n", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user