refactor(store): replace project and skill models with generated models
Some checks failed
CI / build-and-test (push) Failing after -31m25s
Some checks failed
CI / build-and-test (push) Failing after -31m25s
* Update project creation and retrieval to use generated models * Modify skill addition and listing to utilize generated models * Refactor thought handling to incorporate generated models * Adjust tool annotations to align with new model structure * Update API calls in the UI to use new ResolveSpec-based endpoints * Enhance stats retrieval logic to aggregate thought metadata
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.warky.dev/wdevs/amcs/internal/generatedmodels"
|
||||
ext "git.warky.dev/wdevs/amcs/internal/types"
|
||||
)
|
||||
|
||||
@@ -17,9 +18,13 @@ func (db *DB) AddMaintenanceTask(ctx context.Context, t ext.MaintenanceTask) (ex
|
||||
`, t.Name, nullStr(t.Category), t.FrequencyDays, t.NextDue, t.Priority, nullStr(t.Notes))
|
||||
|
||||
created := t
|
||||
if err := row.Scan(&created.ID, &created.CreatedAt, &created.UpdatedAt); err != nil {
|
||||
var model generatedmodels.ModelPublicMaintenanceTasks
|
||||
if err := row.Scan(&model.ID, &model.CreatedAt, &model.UpdatedAt); err != nil {
|
||||
return ext.MaintenanceTask{}, fmt.Errorf("insert maintenance task: %w", err)
|
||||
}
|
||||
created.ID = model.ID.UUID()
|
||||
created.CreatedAt = model.CreatedAt.Time()
|
||||
created.UpdatedAt = model.UpdatedAt.Time()
|
||||
return created, nil
|
||||
}
|
||||
|
||||
@@ -37,9 +42,11 @@ func (db *DB) LogMaintenance(ctx context.Context, log ext.MaintenanceLog) (ext.M
|
||||
|
||||
created := log
|
||||
created.CompletedAt = completedAt
|
||||
if err := row.Scan(&created.ID); err != nil {
|
||||
var model generatedmodels.ModelPublicMaintenanceLogs
|
||||
if err := row.Scan(&model.ID); err != nil {
|
||||
return ext.MaintenanceLog{}, fmt.Errorf("insert maintenance log: %w", err)
|
||||
}
|
||||
created.ID = model.ID.UUID()
|
||||
return created, nil
|
||||
}
|
||||
|
||||
@@ -60,7 +67,15 @@ func (db *DB) GetUpcomingMaintenance(ctx context.Context, daysAhead int) ([]ext.
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
return scanMaintenanceTasks(rows)
|
||||
tasks := make([]ext.MaintenanceTask, 0)
|
||||
for rows.Next() {
|
||||
var model generatedmodels.ModelPublicMaintenanceTasks
|
||||
if err := rows.Scan(&model.ID, &model.Name, &model.Category, &model.FrequencyDays, &model.LastCompleted, &model.NextDue, &model.Priority, &model.Notes, &model.CreatedAt, &model.UpdatedAt); err != nil {
|
||||
return nil, fmt.Errorf("scan maintenance task: %w", err)
|
||||
}
|
||||
tasks = append(tasks, maintenanceTaskFromModel(model))
|
||||
}
|
||||
return tasks, rows.Err()
|
||||
}
|
||||
|
||||
func (db *DB) SearchMaintenanceHistory(ctx context.Context, query, category string, start, end *time.Time) ([]ext.MaintenanceLogWithTask, error) {
|
||||
@@ -103,40 +118,20 @@ func (db *DB) SearchMaintenanceHistory(ctx context.Context, query, category stri
|
||||
|
||||
var logs []ext.MaintenanceLogWithTask
|
||||
for rows.Next() {
|
||||
var l ext.MaintenanceLogWithTask
|
||||
var performedBy, notes, nextAction, taskCategory *string
|
||||
var model generatedmodels.ModelPublicMaintenanceLogs
|
||||
var taskName, taskCategory string
|
||||
if err := rows.Scan(
|
||||
&l.ID, &l.TaskID, &l.CompletedAt, &performedBy, &l.Cost, ¬es, &nextAction,
|
||||
&l.TaskName, &taskCategory,
|
||||
&model.ID, &model.TaskID, &model.CompletedAt, &model.PerformedBy, &model.Cost, &model.Notes, &model.NextAction,
|
||||
&taskName, &taskCategory,
|
||||
); err != nil {
|
||||
return nil, fmt.Errorf("scan maintenance log: %w", err)
|
||||
}
|
||||
l.PerformedBy = strVal(performedBy)
|
||||
l.Notes = strVal(notes)
|
||||
l.NextAction = strVal(nextAction)
|
||||
l.TaskCategory = strVal(taskCategory)
|
||||
l := ext.MaintenanceLogWithTask{
|
||||
MaintenanceLog: maintenanceLogFromModel(model),
|
||||
TaskName: taskName,
|
||||
TaskCategory: taskCategory,
|
||||
}
|
||||
logs = append(logs, l)
|
||||
}
|
||||
return logs, rows.Err()
|
||||
}
|
||||
|
||||
func scanMaintenanceTasks(rows interface {
|
||||
Next() bool
|
||||
Scan(...any) error
|
||||
Err() error
|
||||
Close()
|
||||
}) ([]ext.MaintenanceTask, error) {
|
||||
defer rows.Close()
|
||||
var tasks []ext.MaintenanceTask
|
||||
for rows.Next() {
|
||||
var t ext.MaintenanceTask
|
||||
var category, notes *string
|
||||
if err := rows.Scan(&t.ID, &t.Name, &category, &t.FrequencyDays, &t.LastCompleted, &t.NextDue, &t.Priority, ¬es, &t.CreatedAt, &t.UpdatedAt); err != nil {
|
||||
return nil, fmt.Errorf("scan maintenance task: %w", err)
|
||||
}
|
||||
t.Category = strVal(category)
|
||||
t.Notes = strVal(notes)
|
||||
tasks = append(tasks, t)
|
||||
}
|
||||
return tasks, rows.Err()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user