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:
@@ -5,10 +5,10 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
|
||||
"git.warky.dev/wdevs/amcs/internal/generatedmodels"
|
||||
ext "git.warky.dev/wdevs/amcs/internal/types"
|
||||
)
|
||||
|
||||
@@ -25,9 +25,13 @@ func (db *DB) AddHouseholdItem(ctx context.Context, item ext.HouseholdItem) (ext
|
||||
`, item.Name, nullStr(item.Category), nullStr(item.Location), details, nullStr(item.Notes))
|
||||
|
||||
created := item
|
||||
if err := row.Scan(&created.ID, &created.CreatedAt, &created.UpdatedAt); err != nil {
|
||||
var model generatedmodels.ModelPublicHouseholdItems
|
||||
if err := row.Scan(&model.ID, &model.CreatedAt, &model.UpdatedAt); err != nil {
|
||||
return ext.HouseholdItem{}, fmt.Errorf("insert household item: %w", err)
|
||||
}
|
||||
created.ID = model.ID.UUID()
|
||||
created.CreatedAt = model.CreatedAt.Time()
|
||||
created.UpdatedAt = model.UpdatedAt.Time()
|
||||
return created, nil
|
||||
}
|
||||
|
||||
@@ -62,19 +66,11 @@ func (db *DB) SearchHouseholdItems(ctx context.Context, query, category, locatio
|
||||
|
||||
var items []ext.HouseholdItem
|
||||
for rows.Next() {
|
||||
var item ext.HouseholdItem
|
||||
var detailsBytes []byte
|
||||
var category, location, notes *string
|
||||
if err := rows.Scan(&item.ID, &item.Name, &category, &location, &detailsBytes, ¬es, &item.CreatedAt, &item.UpdatedAt); err != nil {
|
||||
var model generatedmodels.ModelPublicHouseholdItems
|
||||
if err := rows.Scan(&model.ID, &model.Name, &model.Category, &model.Location, &model.Details, &model.Notes, &model.CreatedAt, &model.UpdatedAt); err != nil {
|
||||
return nil, fmt.Errorf("scan household item: %w", err)
|
||||
}
|
||||
item.Category = strVal(category)
|
||||
item.Location = strVal(location)
|
||||
item.Notes = strVal(notes)
|
||||
if err := json.Unmarshal(detailsBytes, &item.Details); err != nil {
|
||||
item.Details = map[string]any{}
|
||||
}
|
||||
items = append(items, item)
|
||||
items = append(items, householdItemFromModel(model))
|
||||
}
|
||||
return items, rows.Err()
|
||||
}
|
||||
@@ -85,19 +81,11 @@ func (db *DB) GetHouseholdItem(ctx context.Context, id uuid.UUID) (ext.Household
|
||||
from household_items where id = $1
|
||||
`, id)
|
||||
|
||||
var item ext.HouseholdItem
|
||||
var detailsBytes []byte
|
||||
var category, location, notes *string
|
||||
if err := row.Scan(&item.ID, &item.Name, &category, &location, &detailsBytes, ¬es, &item.CreatedAt, &item.UpdatedAt); err != nil {
|
||||
var model generatedmodels.ModelPublicHouseholdItems
|
||||
if err := row.Scan(&model.ID, &model.Name, &model.Category, &model.Location, &model.Details, &model.Notes, &model.CreatedAt, &model.UpdatedAt); err != nil {
|
||||
return ext.HouseholdItem{}, fmt.Errorf("get household item: %w", err)
|
||||
}
|
||||
item.Category = strVal(category)
|
||||
item.Location = strVal(location)
|
||||
item.Notes = strVal(notes)
|
||||
if err := json.Unmarshal(detailsBytes, &item.Details); err != nil {
|
||||
item.Details = map[string]any{}
|
||||
}
|
||||
return item, nil
|
||||
return householdItemFromModel(model), nil
|
||||
}
|
||||
|
||||
func (db *DB) AddVendor(ctx context.Context, v ext.HouseholdVendor) (ext.HouseholdVendor, error) {
|
||||
@@ -109,9 +97,12 @@ func (db *DB) AddVendor(ctx context.Context, v ext.HouseholdVendor) (ext.Househo
|
||||
nullStr(v.Website), nullStr(v.Notes), v.Rating, v.LastUsed)
|
||||
|
||||
created := v
|
||||
if err := row.Scan(&created.ID, &created.CreatedAt); err != nil {
|
||||
var model generatedmodels.ModelPublicHouseholdVendors
|
||||
if err := row.Scan(&model.ID, &model.CreatedAt); err != nil {
|
||||
return ext.HouseholdVendor{}, fmt.Errorf("insert vendor: %w", err)
|
||||
}
|
||||
created.ID = model.ID.UUID()
|
||||
created.CreatedAt = model.CreatedAt.Time()
|
||||
return created, nil
|
||||
}
|
||||
|
||||
@@ -132,19 +123,11 @@ func (db *DB) ListVendors(ctx context.Context, serviceType string) ([]ext.Househ
|
||||
|
||||
var vendors []ext.HouseholdVendor
|
||||
for rows.Next() {
|
||||
var v ext.HouseholdVendor
|
||||
var serviceType, phone, email, website, notes *string
|
||||
var lastUsed *time.Time
|
||||
if err := rows.Scan(&v.ID, &v.Name, &serviceType, &phone, &email, &website, ¬es, &v.Rating, &lastUsed, &v.CreatedAt); err != nil {
|
||||
var model generatedmodels.ModelPublicHouseholdVendors
|
||||
if err := rows.Scan(&model.ID, &model.Name, &model.ServiceType, &model.Phone, &model.Email, &model.Website, &model.Notes, &model.Rating, &model.LastUsed, &model.CreatedAt); err != nil {
|
||||
return nil, fmt.Errorf("scan vendor: %w", err)
|
||||
}
|
||||
v.ServiceType = strVal(serviceType)
|
||||
v.Phone = strVal(phone)
|
||||
v.Email = strVal(email)
|
||||
v.Website = strVal(website)
|
||||
v.Notes = strVal(notes)
|
||||
v.LastUsed = lastUsed
|
||||
vendors = append(vendors, v)
|
||||
vendors = append(vendors, householdVendorFromModel(model))
|
||||
}
|
||||
return vendors, rows.Err()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user