Files
ResolveSpec/todo.md
Hein (Warky) 157788b73b
Some checks failed
Build , Vet Test, and Lint / Run Vet Tests (1.24.x) (push) Successful in -32m18s
Build , Vet Test, and Lint / Run Vet Tests (1.23.x) (push) Successful in -31m19s
Build , Vet Test, and Lint / Lint Code (push) Successful in -31m5s
Build , Vet Test, and Lint / Build (push) Successful in -31m53s
Tests / Integration Tests (push) Failing after -32m52s
Tests / Unit Tests (push) Successful in -32m36s
fix(todo): document issue with GormResult.LastInsertId() not returning correct ID
2026-05-05 09:52:31 +02:00

3.3 KiB

ResolveSpec - TODO List

This document tracks incomplete features and improvements for the ResolveSpec project.

In Progress

Database Layer

  • SQLite schema translation (schema.table → schema_table)
  • Driver name normalization across adapters
  • Database Connection Manager (dbmanager) package

Documentation

  • Add dbmanager to README
  • Add WebSocketSpec to top-level intro
  • Add MQTTSpec to top-level intro
  • Remove migration sections from README
  • Complete API reference documentation
  • Add examples for all supported databases

Planned Features

ResolveSpec JS Client Implementation & Testing

  1. ResolveSpec Client API (resolvespec-js)

    • Core API implementation (read, create, update, delete, getMetadata)
    • Unit tests for API functions
    • Integration tests with server
    • Error handling and edge cases
  2. HeaderSpec Client API (resolvespec-js)

    • Client API implementation
    • Unit tests
    • Integration tests with server
  3. FunctionSpec Client API (resolvespec-js)

    • Client API implementation
    • Unit tests
    • Integration tests with server
  4. WebSocketSpec Client API (resolvespec-js)

    • WebSocketClient class implementation (read, create, update, delete, meta, subscribe, unsubscribe)
    • Unit tests for WebSocketClient
    • Connection handling tests
    • Subscription tests
    • Integration tests with server
  5. resolvespec-js Testing Infrastructure

    • Set up test framework (Jest or Vitest)
    • Configure test coverage reporting
    • Add test utilities and mocks
    • Create test documentation

ResolveSpec Python Client Implementation & Testing

See resolvespec-python/todo.md for detailed Python client implementation tasks.

Core Functionality

  1. Enhanced Preload Filtering

    • Column selection for nested preloads
    • Advanced filtering conditions for relations
    • Performance optimization for deep nesting
  2. Advanced Query Features

    • Custom SQL join support
    • Computed column improvements
    • Recursive query support
  3. Testing & Quality

    • Increase test coverage to 70%+
    • Add integration tests for all ORMs
    • Add concurrency tests for thread safety
    • Performance benchmarks

Infrastructure

  • Improved error handling and reporting
  • Enhanced logging capabilities
  • Additional monitoring metrics
  • Performance profiling tools

Documentation Tasks

  • Complete API reference
  • Add troubleshooting guides
  • Create architecture diagrams
  • Expand database adapter documentation

Known Issues

  • Long preload alias names may exceed PostgreSQL identifier limit
  • Some edge cases in computed column handling
  • GormResult.LastInsertId() (pkg/common/adapters/database/gorm.go:936) always returns 0, nil — GORM does not expose last insert ID via sql.Result for most dialects. Auto-generated IDs from GORM inserts are not propagated back through LastInsertId, which breaks the ID-retrieval path in recursive_crud.go. Fix: read the ID back from the model struct after Create() using reflection, or use GORM's Statement.LastInsertId.

Last Updated: 2026-02-07 Updated: Added resolvespec-js client testing and implementation tasks