Commit Graph
7 Commits
Author SHA1 Message Date
john-okeefe 8ed0bdb040 Merge branch 'main' of ssh://git.linuxhg.com:2222/Bookhoard/bookhoard 2026-02-13 18:53:54 -05:00
john-okeefe fdfbec01ef docs: Fix device authentication implementation plan
- Update section 1.6.3 to pass baseURL as template parameter instead of hardcoding
- Add handler update note for passing cfg.BaseURL to template
- Fix TypeScript event handling in section 1.6.4:
  - Add event parameter to regenerateDeviceToken function signature
  - Update all onclick handlers to explicitly pass event object
  - Fixes deprecated implicit event in modern browsers
- Remove section 1.9 (Device Identifier Verification) as it was never implemented
- Clarify device authentication strategy: Kobo uses URL path tokens, KOReader uses Bearer headers
2026-02-13 10:13:26 -05:00
john-okeefe 5644e15eda docs: refactor middleware authentication to use helper function pattern
- Extract device validation logic into separate validateDevice() method
- Replace goto statements with direct function returns for clearer control flow
- Add security warning banner in device configuration UI
- Refactor Kobo tests to use table-driven pattern
- Add database schema note clarifying no schema changes required
- Improve code maintainability and testability
2026-02-12 20:35:20 -05:00
john-okeefe fa09850611 docs: Fix IMPLEMENTATION_EXACT.md based on code review
- Remove omitempty tag from AuthToken field (user requirement)
- Add complete ListDevices handler modification (was "do same")
- Clarify goto validateDevice label placement in kept section
- Update template time formatting to use .Format() method
- Document breaking change decision in summary section
- Rename section for clarity: "Update Device List Handlers"

Fixes issues identified during implementation plan review:
- Template type mismatch checking (already fixed by user)
- AuthToken field ambiguity (Option A: breaking change accepted)
- goto label missing (clarified in explanation)
- Incomplete ListDevices handler (now shows full modification)
- Time formatting in templates (uses templ's .Format())
2026-02-12 20:23:50 -05:00
john-okeefe 2a64ca423f Refactor: Eliminate duplicate types - Use handler types directly
- Deleted templates.CollectionDetailData - using templates.CollectionData everywhere
- Deleted templates.BookData - using handlers.BookInfo everywhere
- Deleted templates.DeviceData - using handlers.DeviceInfo everywhere
- Deleted templates.ProgressItemData - using handlers.ProgressWithMedia everywhere
- Deleted templates.convertDevices() helper - Use handlers types directly in templates
- Enhanced handlers.ProgressWithMedia with device metadata fields
- Added handlers.getDeviceIcon() helper
- Updated all templates to import handlers package
- Cleaned up unused imports

This aligns codebase with templ's design philosophy (use Go types directly, no parallel type system)
2026-02-12 19:48:07 -05:00
john-okeefe b5745e1554 fixed code blocks in user documentation 2026-02-12 16:45:20 -05:00
john-okeefe b941776677 docs: add comprehensive device authentication implementation details
- Add IMPLEMENTATION_EXACT.md with exact code changes for all phases
- Update IMPLEMENTATION_PLAN.md with clarifications on two-field approach:
  - device_identifier: Serial number (Kobo) or UUID (KOReader)
  - auth_token: Auto-generated API key for authentication
- Resolve all user questions with  marked decisions
- Add verification steps for documentation accuracy
- Document Kobo vs KOReader registration workflow differences
- Add SQL query for token regeneration (UpdateDeviceAuthToken)
- Include TypeScript device management code
- Add Bruno API test files for all new endpoints
- Update Kobo setup documentation for URL path token approach
2026-02-12 15:36:18 -05:00