72 Commits

Author SHA1 Message Date
2075ed199b Complete ADR-008 Phase 1: API Versioning Strategy
Implement URI-based API versioning with /api/v1 prefix across all routes.
This establishes a foundation for future API evolution and breaking changes.

Changes:
- server.ts: All routes mounted under /api/v1/ (15 route handlers)
- apiClient.ts: Base URL updated to /api/v1
- swagger.ts: OpenAPI server URL changed to /api/v1
- Redirect middleware: Added backwards compatibility for /api/* → /api/v1/*
- Tests: Updated 72 test files with versioned path assertions
- ADR documentation: Marked Phase 1 as complete (Accepted status)

Test fixes:
- apiClient.test.ts: 27 tests updated for /api/v1 paths
- user.routes.ts: 36 log messages updated to reflect versioned paths
- swagger.test.ts: 1 test updated for new server URL
- All integration/E2E tests updated for versioned endpoints

All Phase 1 acceptance criteria met:
✓ Routes use /api/v1/ prefix
✓ Frontend requests /api/v1/
✓ OpenAPI docs reflect /api/v1/
✓ Backwards compatibility via redirect middleware
✓ Tests pass with versioned paths

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-26 21:23:25 -08:00
fac98f4c54 doc updates and test fixin 2026-01-22 11:23:43 -08:00
5879328b67 fixing categories 3rd normal form
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 18m34s
2026-01-19 19:13:30 -08:00
d2efca8339 massive fixes to stores and addresses 2026-01-19 00:33:09 -08:00
11aeac5edd whoa - so much - new features (UPC,etc) - Sentry for app logging! so much more !
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Failing after 1m10s
2026-01-11 19:07:02 -08:00
25d6b76f6d ADR-026: Client-Side Logging + linting fixes
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Has been cancelled
2026-01-09 17:58:21 -08:00
d356d9dfb6 claude 1
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Failing after 43s
2026-01-08 07:47:29 -08:00
59f6f43d03 fix the dang integration tests
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 32m36s
2026-01-06 13:53:00 -08:00
e86e09703e even even more and more test fixes
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Failing after 59s
2026-01-05 11:27:13 -08:00
88625706f4 integration test fixes + added new ai models and recipeSuggestion
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 13m3s
2026-01-01 14:36:43 -08:00
38eb810e7a logging the frontend loop
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 11m55s
2025-12-30 23:28:38 -08:00
2e72ee81dd maybe a few too many fixes
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Failing after 41s
2025-12-28 21:38:31 -08:00
8592633c22 unit test fixes
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Has been cancelled
2025-12-28 14:42:11 -08:00
de3f21a7ec not sure why those errors got removed we'll see 2025-12-24 16:16:42 -08:00
a10f84aa48 complete project using prettier! 2025-12-22 09:45:14 -08:00
c49e5f7019 large mock refector hopefully done + no errors?
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 1h13m59s
2025-12-21 02:43:03 -08:00
0d91c58299 unit test fixes
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 43m18s
2025-12-18 10:24:17 -08:00
6e8a8343e0 Refactor tests and API context integration
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 5m55s
- Updated tests in `useShoppingLists`, `useWatchedItems`, and various components to use `waitFor` for asynchronous assertions.
- Enhanced error handling in `errorHandler` middleware tests to include validation errors and status codes.
- Modified `AuthView`, `ProfileManager.Auth`, and `ProfileManager.Authenticated` tests to check for `AbortSignal` in API calls.
- Removed duplicate assertions in `auth.routes.test`, `budget.routes.test`, and `gamification.routes.test`.
- Introduced reusable logger matcher in `budget.routes.test`, `deals.routes.test`, `flyer.routes.test`, and `user.routes.test`.
- Simplified API client mock in `aiApiClient.test` to handle token overrides correctly.
- Removed unused `apiUtils.ts` file.
- Added `ApiContext` and `ApiProvider` for better API client management in React components.
2025-12-14 23:28:58 -08:00
424cbaf0d4 feat: Implement deals repository and routes for fetching best watched item prices
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Has been cancelled
- Added a new DealsRepository class to interact with the database for fetching the best sale prices of watched items.
- Created a new route `/api/users/deals/best-watched-prices` to handle requests for the best prices of items the authenticated user is watching.
- Enhanced logging in the FlyerDataTransformer and FlyerProcessingService for better traceability.
- Updated tests to ensure proper logging and functionality in the FlyerProcessingService.
- Refactored logger client to support structured logging for better consistency across the application.
2025-12-13 20:02:18 -08:00
2affda25dc Refactor geocoding services and improve logging
- Updated the Nominatim geocoding service to use a class-based structure and accept a logger instance for better logging control.
- Modified tests for the Nominatim service to align with the new structure and improved logging assertions.
- Removed the disabled notification service test file.
- Added a new GeocodingFailedError class to handle geocoding failures more explicitly.
- Enhanced error logging in the queue service to include structured error objects.
- Updated user service to accept a logger instance for better logging in address upsert operations.
- Added request-scoped logger to Express Request interface for type-safe logging in route handlers.
- Improved logging in utility functions for better debugging and error tracking.
- Created a new GoogleGeocodingService class for Google Maps geocoding with structured logging.
- Added tests for the useAiAnalysis hook to ensure proper functionality and error handling.
2025-12-13 17:52:30 -08:00
b929925a6e lots more tests !
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Failing after 7m32s
2025-12-10 21:02:01 -08:00
7dc53831ff some minor log in fixes - also new flyer function
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 6m14s
2025-12-10 09:31:22 -08:00
12e6b0b44d home page errors in progress
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 6m0s
2025-12-09 23:29:17 -08:00
84ebbeb677 routes cleanup
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 5m57s
2025-12-09 20:46:25 -08:00
e156c385a5 many fixes resultnig from latest refactoring
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 5m11s
2025-12-08 22:12:04 -08:00
158778c2ec DB refactor for easier testsing
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 5m16s
App.ts refactor into hooks
unit tests
2025-12-08 20:46:12 -08:00
ef07417978 moar unit test !
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 5m46s
2025-12-07 14:29:37 -08:00
5c214fb6f4 Refactor tests and services for improved type safety and error handling
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 4m24s
- Updated FlyerCorrectionTool tests to remove unused error notification.
- Enhanced ProfileManager tests and component to include points in user profile.
- Fixed error handling in ProfileManager to correctly log error messages.
- Adjusted AI routes tests to ensure proper mocking and added missing properties in mock responses.
- Refined AI routes to improve error message extraction and payload handling.
- Cleaned up gamification routes tests by removing unnecessary parameters.
- Simplified public routes by removing unused parameters in async handlers.
- Improved system routes tests to handle exec command callbacks more robustly.
- Updated user routes tests to remove unnecessary middleware parameters.
- Enhanced AI API client tests to use File objects for simulating uploads.
- Modified AI service tests to improve type safety and mock implementations.
- Refined database service tests to ensure proper type assertions and mock setups.
- Updated express type definitions for better clarity and organization.
- Cleaned up notification service tests to mock local re-exports instead of library directly.
2025-12-04 12:46:12 -08:00
9a1b3bda8f add geocoding fallback nominatim
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 4m29s
2025-12-04 08:21:43 -08:00
e63999694a added address table, super awesome - bunch of gitea workflow options - "Processed Flyers" made better
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 1m1s
2025-12-03 19:34:47 -08:00
893ae6da53 additional background job work
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 4m19s
2025-12-03 15:32:09 -08:00
383e8e3d25 better flyer icons + archive
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 4m25s
2025-12-03 14:13:44 -08:00
80e2222d20 move AI flyer processing to background BullMQ jobs using redis for storage
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 6m21s
2025-12-02 14:31:01 -08:00
f7edb946f7 more TS fixes + tests
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 3m40s
2025-11-30 00:27:21 -08:00
bb2ad6ce1a acheivments + flyercorrection
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 2m18s
2025-11-29 14:54:49 -08:00
bf0bf9ae21 testing routes
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 2m23s
2025-11-29 05:29:38 -08:00
9e5c2047f7 testing routes
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 3m38s
2025-11-29 03:26:47 -08:00
caa1206c3d fix some integration tests now that PriceHistoryChart.test.tx is disabled
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 2m59s
2025-11-27 19:51:32 -08:00
b40154fdbc fix some integration tests now that PriceHistoryChart.test.tx is disabled
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 3m3s
2025-11-27 18:14:29 -08:00
1be09f7909 fix some integration tests now that PriceHistoryChart.test.tx is disabled
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 1m52s
2025-11-27 18:08:00 -08:00
e662dc1b30 we went to mocks - now going to unit-setup.ts - centralized
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 38m1s
2025-11-26 19:02:51 -08:00
27bcc8c028 we went to mocks - now going to unit-setup.ts - centralized
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 38m14s
2025-11-26 17:53:34 -08:00
91d3ebd984 we went to mocks - now going to unit-setup.ts - centralized
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 19m8s
2025-11-26 13:31:11 -08:00
e987ec8aea we went to mocks - now going to unit-setup.ts - centralized 2025-11-26 10:28:58 -08:00
4638e39cc4 more integration testing
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 3m8s
2025-11-25 21:19:45 -08:00
b92818ce1f more integration tests added
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 2m43s
2025-11-25 20:30:15 -08:00
217894342d working ! testing !
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 2m41s
2025-11-25 00:33:03 -08:00
a810b26ebf some more re-org + fixes
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 2m13s
2025-11-24 16:37:11 -08:00
2f55a303b0 some more re-org + fixes
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 3m55s
2025-11-24 15:02:13 -08:00
94a2eda576 db to user_id
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 1m1s
2025-11-24 13:35:05 -08:00