refactor entire structure
This commit is contained in:
parent
796075d9f2
commit
402bcd35a9
18
cmd/cli/main.go
Normal file
18
cmd/cli/main.go
Normal file
@ -0,0 +1,18 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"ketotrack/config"
|
||||
"ketotrack/data"
|
||||
"ketotrack/ui/cli"
|
||||
)
|
||||
|
||||
func main() {
|
||||
appConfig := config.Load()
|
||||
appCtx, err := data.NewContext(appConfig.DataPath)
|
||||
if err != nil {
|
||||
fmt.Printf("Error initializing application context: %s\n", err)
|
||||
return
|
||||
}
|
||||
cli.Run(&appCtx)
|
||||
}
|
@ -6,15 +6,9 @@ import (
|
||||
"os"
|
||||
)
|
||||
|
||||
// Record holds a pointer to a Reading or Note.
|
||||
type Record struct {
|
||||
Reading *model.Reading `json:"reading,omitempty"`
|
||||
Note *model.Note `json:"note,omitempty"`
|
||||
}
|
||||
|
||||
// AppContext is the application data store that holds Records
|
||||
type AppContext struct {
|
||||
Records []Record
|
||||
Records []model.Record
|
||||
dataPath string
|
||||
}
|
||||
|
||||
@ -47,10 +41,10 @@ func (ctx *AppContext) SaveRecords() error {
|
||||
|
||||
// AddReading will add a Reading to the AppContext
|
||||
func (ctx *AppContext) AddReading(reading model.Reading) {
|
||||
ctx.Records = append(ctx.Records, Record{Reading: &reading})
|
||||
ctx.Records = append(ctx.Records, model.Record{Reading: &reading})
|
||||
}
|
||||
|
||||
// AddNote will a add a Note to the AppContext
|
||||
func (ctx *AppContext) AddNote(note model.Note) {
|
||||
ctx.Records = append(ctx.Records, Record{Note: ¬e})
|
||||
ctx.Records = append(ctx.Records, model.Record{Note: ¬e})
|
||||
}
|
@ -41,3 +41,9 @@ func NewReading(glucose, ketone float64) Reading {
|
||||
GKI: gki,
|
||||
}
|
||||
}
|
||||
|
||||
// Record holds a pointer to a Reading or Note.
|
||||
type Record struct {
|
||||
Reading *Reading `json:"reading,omitempty"`
|
||||
Note *Note `json:"note,omitempty"`
|
||||
}
|
||||
|
@ -1,51 +1,17 @@
|
||||
package main
|
||||
package cli
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"ketotrack/config"
|
||||
"ketotrack/data"
|
||||
"ketotrack/model"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var recordsFilename string
|
||||
|
||||
func init() {
|
||||
// Get user's homeDir directory
|
||||
homeDir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
fmt.Println("Error fetching user's home directory:", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Define the path to the application data directory
|
||||
ketotrackDir := filepath.Join(homeDir, ".ketotrack")
|
||||
|
||||
// Create the directory if it does not exist
|
||||
err = os.MkdirAll(ketotrackDir, 0770)
|
||||
if err != nil {
|
||||
fmt.Println("Error creating .ketotrack directory:", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Set data file path for readings
|
||||
recordsFilename = filepath.Join(ketotrackDir, "records.json")
|
||||
}
|
||||
|
||||
func main() {
|
||||
appConfig := config.Load()
|
||||
appCtx, err := data.NewContext(appConfig.DataPath)
|
||||
if err != nil {
|
||||
fmt.Printf("Error initializing application context: %s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
func Run(appCtx *data.AppContext) {
|
||||
if err := appCtx.LoadRecords(); err != nil {
|
||||
fmt.Printf("Error loading records from file: %s\n", err)
|
||||
}
|
Loading…
Reference in New Issue
Block a user