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:
@@ -8,6 +8,7 @@ import (
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5"
|
||||
|
||||
"git.warky.dev/wdevs/amcs/internal/generatedmodels"
|
||||
thoughttypes "git.warky.dev/wdevs/amcs/internal/types"
|
||||
)
|
||||
|
||||
@@ -18,11 +19,11 @@ func (db *DB) CreateProject(ctx context.Context, name, description string) (thou
|
||||
returning guid, name, description, created_at, last_active_at
|
||||
`, name, description)
|
||||
|
||||
var project thoughttypes.Project
|
||||
if err := row.Scan(&project.ID, &project.Name, &project.Description, &project.CreatedAt, &project.LastActiveAt); err != nil {
|
||||
var model generatedmodels.ModelPublicProjects
|
||||
if err := row.Scan(&model.GUID, &model.Name, &model.Description, &model.CreatedAt, &model.LastActiveAt); err != nil {
|
||||
return thoughttypes.Project{}, fmt.Errorf("create project: %w", err)
|
||||
}
|
||||
return project, nil
|
||||
return projectFromModel(model), nil
|
||||
}
|
||||
|
||||
func (db *DB) GetProject(ctx context.Context, nameOrID string) (thoughttypes.Project, error) {
|
||||
@@ -62,14 +63,14 @@ func (db *DB) getProjectByName(ctx context.Context, name string) (thoughttypes.P
|
||||
}
|
||||
|
||||
func scanProject(row pgx.Row) (thoughttypes.Project, error) {
|
||||
var project thoughttypes.Project
|
||||
if err := row.Scan(&project.ID, &project.Name, &project.Description, &project.CreatedAt, &project.LastActiveAt); err != nil {
|
||||
var model generatedmodels.ModelPublicProjects
|
||||
if err := row.Scan(&model.GUID, &model.Name, &model.Description, &model.CreatedAt, &model.LastActiveAt); err != nil {
|
||||
if err == pgx.ErrNoRows {
|
||||
return thoughttypes.Project{}, err
|
||||
}
|
||||
return thoughttypes.Project{}, fmt.Errorf("get project: %w", err)
|
||||
}
|
||||
return project, nil
|
||||
return projectFromModel(model), nil
|
||||
}
|
||||
|
||||
func (db *DB) ListProjects(ctx context.Context) ([]thoughttypes.ProjectSummary, error) {
|
||||
@@ -87,11 +88,15 @@ func (db *DB) ListProjects(ctx context.Context) ([]thoughttypes.ProjectSummary,
|
||||
|
||||
projects := make([]thoughttypes.ProjectSummary, 0)
|
||||
for rows.Next() {
|
||||
var project thoughttypes.ProjectSummary
|
||||
if err := rows.Scan(&project.ID, &project.Name, &project.Description, &project.CreatedAt, &project.LastActiveAt, &project.ThoughtCount); err != nil {
|
||||
var model generatedmodels.ModelPublicProjects
|
||||
var thoughtCount int
|
||||
if err := rows.Scan(&model.GUID, &model.Name, &model.Description, &model.CreatedAt, &model.LastActiveAt, &thoughtCount); err != nil {
|
||||
return nil, fmt.Errorf("scan project summary: %w", err)
|
||||
}
|
||||
projects = append(projects, project)
|
||||
projects = append(projects, thoughttypes.ProjectSummary{
|
||||
Project: projectFromModel(model),
|
||||
ThoughtCount: thoughtCount,
|
||||
})
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, fmt.Errorf("iterate projects: %w", err)
|
||||
|
||||
Reference in New Issue
Block a user