Commit graph

  • e8f44c839a Refactor household models and repository queries to use dynamic column selection; remove email from invitation schema in OpenAPI multitenant jableader 2025-12-13 14:52:52 +1100
  • 3e4e4fc2ae Remove email from invites jableader 2025-11-05 20:27:59 +1100
  • 3782477dda households api cleanup jableader 2025-11-05 20:24:47 +1100
  • c71863b7bf URI fixes jableader 2025-11-05 20:07:55 +1100
  • 585f944390 Scraping tests pass jableader 2025-11-05 19:58:08 +1100
  • 2960eff187 scraping improvements jableader 2025-11-04 18:31:13 +1100
  • 98b87145a7 Zoomer readme and spec removal jableader 2025-11-02 21:41:21 +1100
  • 126ed0572c phase complete jableader 2025-11-02 21:33:23 +1100
  • fb90a4ad32 Spec update - final sprint jableader 2025-11-02 21:17:53 +1100
  • 7b7daa1c3c Update error handling for recipe parsing failures to return 422 status code jableader 2025-11-02 19:46:37 +1100
  • e801c9056d autoformat jableader 2025-11-02 18:55:55 +1100
  • 14bdcbb202 load recipe ingredients jableader 2025-11-02 18:54:04 +1100
  • ec9fbc071d Disallow empty ingredients jableader 2025-11-02 18:14:03 +1100
  • a8f1050af9 No empty ingredients jableader 2025-11-02 18:10:27 +1100
  • 8a4616fb13 autoformat jableader 2025-11-02 17:51:10 +1100
  • 83388b2925 Meal request requires user jableader 2025-11-02 17:51:02 +1100
  • b7a737ddaa Meal validation improvements jableader 2025-11-02 17:45:12 +1100
  • ca735865fc db.create() initializes all v2 tables, including users and households, and tenant tables already include household_id columns and indices by default. No separate migration script is required for fresh databases used by tests. jableader 2025-11-02 00:19:45 +1100
  • 854b924a28 feat(api): scope ingredient parse to household and align recipe parse-from-url with RecipeCreate jableader 2025-11-01 23:39:14 +1100
  • 29ebbe7a37 Added missing methods and return types jableader 2025-11-01 23:36:46 +1100
  • 5c70a9faf0 Parsing jableader 2025-11-01 23:05:16 +1100
  • 7741df79e9 Added the missing ingredient parsing API to reach feature parity, updated the spec, and validated with full checks: build PASS, lint/typecheck PASS, tests PASS. jableader 2025-11-01 22:58:44 +1100
  • e751b828fe Add tests for scoped DELETE current ingredient and recipes parse-from-url jableader 2025-11-01 22:47:48 +1100
  • 5618b6800e Shopping/Recipes: add scoped DELETE for ad-hoc ingredient requests and “parse-from-url” jableader 2025-11-01 22:41:39 +1100
  • 964072391e persons removed jableader 2025-11-01 22:35:10 +1100
  • 7b82cca5e3 Seed Users from legacy Persons for tests; remove Person fallback in meals; fix migration memberships; add indices; remove cookie helpers; spec updated jableader 2025-11-01 21:37:35 +1100
  • d41c09d1a3 Remove cookie auth helpers, clean Person-based recipe function; add indices and test seeding helper; spec updated jableader 2025-11-01 21:28:50 +1100
  • 0ba9634131 Remove legacy cookie auth and Person-based recipe helper; add composite indices; spec updated jableader 2025-11-01 21:25:18 +1100
  • 93b9869735 Remove legacy cookie auth and Person-based recipe helper; spec updated jableader 2025-11-01 21:21:53 +1100
  • 42715c9fa6 Consolidate recipes API to canonical router; remove api/recipes_v2.py; spec updated jableader 2025-11-01 20:26:17 +1100
  • 8ee5642690 Removed v2 recipe file jableader 2025-11-01 20:23:03 +1100
  • bd7a87c3ff feat: refactor user references to MemberRef across meals and recipes; update OpenAPI spec and backend documentation jableader 2025-11-01 19:58:33 +1100
  • 52b4973175 test(auth, routing): add logout semantics and route-surface lockdown tests; update spec jableader 2025-11-01 19:23:26 +1100
  • 9504c9cb34 feat(auth, invitations): switch to Argon2-only password hashing; return household on invitation accept; remove legacy cookie-based export; update OpenAPI wording and spec jableader 2025-11-01 19:20:08 +1100
  • 32a7e6226f feat(shopping): dedupe ingredient requests per household and make household_id static in DDL jableader 2025-11-01 19:07:44 +1100
  • 978c970fb6 feat(shopping): add household-scoped ingredient request endpoint + tests and spec jableader 2025-11-01 18:50:40 +1100
  • 75d098cd7a Unnecessary import jableader 2025-11-01 18:47:45 +1100
  • 76eeaba51c Shopping requests parity jableader 2025-11-01 18:34:40 +1100
  • c4e1293557 test_request_ingredient_scoped jableader 2025-11-01 18:16:38 +1100
  • e370ed50dc request ingredient jableader 2025-11-01 18:07:13 +1100
  • 65d655851d feat: MemberRef adoption for recipes.createdBy and shopping.purchasedBy; add TDD; update spec; keep suite green jableader 2025-11-01 17:53:07 +1100
  • b324e1101c feat(recipes): include createdBy (MemberRef) and createdById in v2 responses; map from User; update tests and spec jableader 2025-11-01 17:50:33 +1100
  • 06b81f0b2a Spec updates, remove email requirement jableader 2025-11-01 17:41:09 +1100
  • fc1f414bbb Spec updates jableader 2025-11-01 17:32:45 +1100
  • 52b47769a6 Removed dead v2 files jableader 2025-11-01 17:24:55 +1100
  • 584732e497 Cutover cleanup: inline meals/shopping v2 routers, neutralize legacy auth_v2 jableader 2025-11-01 17:24:15 +1100
  • bd44a6acbe feat(api): finalize v2 cutover, add household members endpoint, consolidate DTOs, and enforce Argon2 hashing jableader 2025-11-01 17:14:18 +1100
  • a973e5ce57 Finalized v1→v2 switchover at the router level: removed legacy v1 endpoints from the app surface, delegated canonical imports to v2 implementations, consolidated shopping DTOs/mappers, and updated router tags. Verified with lint, mypy, tests, formatting, and OpenAPI export. Everything is green. jableader 2025-11-01 17:11:09 +1100
  • 4e3b3a77dc sneaky file leftover jableader 2025-11-01 17:08:21 +1100
  • d093d1567e feat(meals+auth): remove Person from meals v2 DTOs (MemberRef) and adopt Argon2 hashing jableader 2025-11-01 17:00:36 +1100
  • 8fd780ee17 feat(meals): replace Person with MemberRef (displayName) in v2 Meal DTOs; add Argon2 password hashing jableader 2025-11-01 16:58:34 +1100
  • 87e3dba6f8 feat(v2): green checks, OpenAPI export, and spec updates for household-scoped API jableader 2025-11-01 16:40:01 +1100
  • 50f908f204 Ported v1 behavioral coverage to v2 counterparts across meals, recipes, shopping, and consumed flows. jableader 2025-11-01 16:35:39 +1100
  • aa18a1502d Remove v1 API surface, skip legacy tests; finalize v2-only routing and docs jableader 2025-11-01 16:18:46 +1100
  • 1d60a3d925 spec update jableader 2025-11-01 16:05:06 +1100
  • b75fee41c6 feat(v2): add household-scoped delete for recipes; tests and OpenAPI updated jableader 2025-11-01 16:01:29 +1100
  • ce75603582 feat(v2): complete household scoping and meals write flows; refresh OpenAPI jableader 2025-11-01 15:51:23 +1100
  • 86e0ea3111 feat(shopping-v2): add household-scoped meal request/unrequest; tests and OpenAPI updated jableader 2025-11-01 15:42:59 +1100
  • 807f3efaaa feat(shopping-v2): add scoped meal request/unrequest; tests green; openapi updated jableader 2025-11-01 15:40:45 +1100
  • 59c08ecb84 format jableader 2025-11-01 15:34:01 +1100
  • f4ad388e36 Tests and lint pass jableader 2025-11-01 15:33:36 +1100
  • 0502902ffe feat(v2): finalize scoped meals consumed + fix shopping v2 invariants; refresh JWT route; tests green jableader 2025-11-01 15:29:48 +1100
  • ec3199fb0c feat(meals-v2): add household-scoped “mark consumed” endpoint with timezone validation and request cleanup; tests and spec updated; regenerate OpenAPI jableader 2025-11-01 15:21:01 +1100
  • 746a327d7d fix(openapi): set explicit response_model for meals v2 get-by-id; plus security hardening and v2 endpoints jableader 2025-11-01 15:03:27 +1100
  • 0411791ad9 feat(v2): secure password hashing, finalize OpenAPI, and expand shopping v2 jableader 2025-11-01 15:02:37 +1100
  • 3c69355a5c feat(v2): add household-scoped shopping purchase endpoint with tests jableader 2025-11-01 14:49:30 +1100
  • 8bc4f12770 feat(v2): add household-scoped GET /shopping/{listId} with tests jableader 2025-11-01 14:42:56 +1100
  • bb480d696b feat(v2): expand household scoping — meals get-by-id and shopping current, with tests; spec updated jableader 2025-11-01 14:30:45 +1100
  • 6105d5dadf feat(v2): household-scoped shopping current and meals upcoming, with tests; spec updated jableader 2025-11-01 14:26:23 +1100
  • e67790c72d feat(v2): JWT auth, Invitations API, and meals household scoping with tests jableader 2025-11-01 14:21:34 +1100
  • e69299628a feat(auth, invitations): JWT access + refresh cookie, invitations API with tests jableader 2025-11-01 14:17:42 +1100
  • b5e41dc023 feat(auth v2): implement JWT access + refresh cookie; update deps and tests jableader 2025-11-01 14:14:58 +1100
  • 538538d909 New tests tests/test_openapi_security.py verify presence of bearerAuth and 403s. jableader 2025-11-01 14:01:48 +1100
  • 4470289b61 Recipes scoping jableader 2025-11-01 13:58:46 +1100
  • 584488b9c7 v2 register/login endpoints exist with bearer scaffold jableader 2025-11-01 13:51:08 +1100
  • e714f663bb v2 auth parallel jableader 2025-11-01 13:44:00 +1100
  • f1dac94396 Minimal v2 endpoints scaffolded alongside v1 cookie auth jableader 2025-11-01 13:43:26 +1100
  • aa74972fdf spec jableader 2025-11-01 13:31:51 +1100
  • 0be2d1a2b0 Avoid optional arrays master jableader 2025-11-01 12:21:12 +1100
  • 5a9242ccc9 Tighten api endpoints jableader 2025-10-26 15:14:05 +1100
  • a6eb819057 cookie_person now mandatory jableader 2025-10-21 19:59:29 +1100
  • 5a85250574 Remove nulls from public api jableader 2025-10-21 19:42:23 +1100
  • 7b6f4e2a3b Squashed commit of the following: jableader 2025-10-20 00:12:16 +1100
  • 5c33e9c2a4 Remove unused CI jableader 2025-10-19 21:24:23 +1100
  • 5be4e89c4e Squashed commit of the following: jableader 2025-10-19 20:24:23 +1100
  • 50a1fcaeee Openapi refactor complete jableader 2025-10-19 15:20:36 +1100
  • 865c02b195 Fixed loc header jableader 2025-10-19 15:06:51 +1100
  • 45ff778112 Move inline API request/response models out of main.py into feature modules, Add enums/constants for participant roles jableader 2025-10-19 13:51:27 +1100
  • 589eb5380c Batch-load meal participants (fetch IDs once, bulk load persons) jableader 2025-10-19 13:21:56 +1100
  • 322e14c26c Centralize transaction scoping per-request (dependency) and remove scattered conn.commit() in handlers jableader 2025-10-19 13:12:28 +1100
  • 99b699eec9 Phase 2 — API design and OpenAPI jableader 2025-10-18 18:21:04 +1100
  • 89cfbe9abc Expose for test jableader 2025-10-18 17:54:43 +1100
  • a3c0a2701e Removed redundant code from master and route to new submodules jableader 2025-10-18 17:52:02 +1100
  • f51c90f922 - [x] Wire routers in main with minimal app code - [x] Create api/deps module for get_db, cookie_person, and error_response - [x] Use settings.py (DOOF_DB) for DB path in main and deps jableader 2025-10-18 17:14:03 +1100
  • 53b07343d1 API extractions jableader 2025-10-18 17:05:48 +1100
  • 2bbed57313 Persons api extraction jableader 2025-10-18 17:00:01 +1100
  • edfc341b4b extract recipes jableader 2025-10-18 16:54:35 +1100
  • 3d7afa3765 Scaffolding jableader 2025-10-18 16:50:43 +1100
  • 1b76ea44b6 Initial plan and strategy jableader 2025-10-18 16:48:32 +1100
  • 4c3f370ddc Squashed commit of the following: jableader 2025-10-18 16:44:36 +1100