Commit graph

134 commits

Author SHA1 Message Date
52b47769a6 Removed dead v2 files 2025-11-01 17:24:55 +11:00
584732e497 Cutover cleanup: inline meals/shopping v2 routers, neutralize legacy auth_v2 2025-11-01 17:24:15 +11:00
bd44a6acbe feat(api): finalize v2 cutover, add household members endpoint, consolidate DTOs, and enforce Argon2 hashing 2025-11-01 17:14:18 +11:00
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. 2025-11-01 17:11:09 +11:00
4e3b3a77dc sneaky file leftover 2025-11-01 17:08:21 +11:00
d093d1567e feat(meals+auth): remove Person from meals v2 DTOs (MemberRef) and adopt Argon2 hashing 2025-11-01 17:00:36 +11:00
8fd780ee17 feat(meals): replace Person with MemberRef (displayName) in v2 Meal DTOs; add Argon2 password hashing 2025-11-01 16:58:34 +11:00
87e3dba6f8 feat(v2): green checks, OpenAPI export, and spec updates for household-scoped API 2025-11-01 16:40:01 +11:00
50f908f204 Ported v1 behavioral coverage to v2 counterparts across meals, recipes, shopping, and consumed flows. 2025-11-01 16:35:39 +11:00
aa18a1502d Remove v1 API surface, skip legacy tests; finalize v2-only routing and docs 2025-11-01 16:18:46 +11:00
1d60a3d925 spec update 2025-11-01 16:05:06 +11:00
b75fee41c6 feat(v2): add household-scoped delete for recipes; tests and OpenAPI updated 2025-11-01 16:01:29 +11:00
ce75603582 feat(v2): complete household scoping and meals write flows; refresh OpenAPI 2025-11-01 15:51:23 +11:00
86e0ea3111 feat(shopping-v2): add household-scoped meal request/unrequest; tests and OpenAPI updated 2025-11-01 15:42:59 +11:00
807f3efaaa feat(shopping-v2): add scoped meal request/unrequest; tests green; openapi updated 2025-11-01 15:40:45 +11:00
59c08ecb84 format 2025-11-01 15:34:01 +11:00
f4ad388e36 Tests and lint pass 2025-11-01 15:33:36 +11:00
0502902ffe feat(v2): finalize scoped meals consumed + fix shopping v2 invariants; refresh JWT route; tests green 2025-11-01 15:29:48 +11:00
ec3199fb0c feat(meals-v2): add household-scoped “mark consumed” endpoint with timezone validation and request cleanup; tests and spec updated; regenerate OpenAPI 2025-11-01 15:21:01 +11:00
746a327d7d fix(openapi): set explicit response_model for meals v2 get-by-id; plus security hardening and v2 endpoints 2025-11-01 15:03:27 +11:00
0411791ad9 feat(v2): secure password hashing, finalize OpenAPI, and expand shopping v2 2025-11-01 15:02:37 +11:00
3c69355a5c feat(v2): add household-scoped shopping purchase endpoint with tests 2025-11-01 14:49:30 +11:00
8bc4f12770 feat(v2): add household-scoped GET /shopping/{listId} with tests 2025-11-01 14:42:56 +11:00
bb480d696b feat(v2): expand household scoping — meals get-by-id and shopping current, with tests; spec updated 2025-11-01 14:30:45 +11:00
6105d5dadf feat(v2): household-scoped shopping current and meals upcoming, with tests; spec updated 2025-11-01 14:26:23 +11:00
e67790c72d feat(v2): JWT auth, Invitations API, and meals household scoping with tests 2025-11-01 14:21:34 +11:00
e69299628a feat(auth, invitations): JWT access + refresh cookie, invitations API with tests 2025-11-01 14:17:42 +11:00
b5e41dc023 feat(auth v2): implement JWT access + refresh cookie; update deps and tests 2025-11-01 14:14:58 +11:00
538538d909 New tests tests/test_openapi_security.py verify presence of bearerAuth and 403s. 2025-11-01 14:01:48 +11:00
4470289b61 Recipes scoping 2025-11-01 13:58:46 +11:00
584488b9c7 v2 register/login endpoints exist with bearer scaffold 2025-11-01 13:51:08 +11:00
e714f663bb v2 auth parallel 2025-11-01 13:44:00 +11:00
f1dac94396 Minimal v2 endpoints scaffolded alongside v1 cookie auth 2025-11-01 13:43:26 +11:00
aa74972fdf spec 2025-11-01 13:31:51 +11:00
0be2d1a2b0 Avoid optional arrays 2025-11-01 12:21:12 +11:00
5a9242ccc9 Tighten api endpoints 2025-10-26 15:14:05 +11:00
a6eb819057 cookie_person now mandatory 2025-10-21 19:59:29 +11:00
5a85250574 Remove nulls from public api 2025-10-21 19:42:23 +11:00
7b6f4e2a3b Squashed commit of the following:
commit 21a17b771743b23ee41d11a90ed8fdc3433468ce
Author: jableader <jacobdunk@gmail.com>
Date:   Mon Oct 20 00:12:02 2025 +1100

    Completed tooling improvements, fixed remaining errors

commit 7db48e222e3aa1065c326197c33ba6439720f65a
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 22:05:37 2025 +1100

    autoformat

commit 5705ce24b64c2aa6f0b9426730a479165fa97e2a
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 22:05:29 2025 +1100

    tooling changes

commit f0a6b2fd147bb86b484927afd57b9ba0ac07bf47
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 21:25:49 2025 +1100

    Plan
2025-10-20 00:12:16 +11:00
5c33e9c2a4 Remove unused CI 2025-10-19 21:24:23 +11:00
5be4e89c4e Squashed commit of the following:
commit fcd005b8624023547f28b7b28e59e6099bcfc7d4
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 20:24:07 2025 +1100

    Openapi tightening

commit f93bd8f641d561052c7bd075bae321b4ff3b676d
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 19:03:52 2025 +1100

    Removed refactor strategy doc

commit 0c5a61092f522be0c47cbbe86917c8a7e4e2d339
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 17:48:33 2025 +1100

    mypy & ruff checks

commit 23d66d6b18984127e17c73c3063f6120385935e9
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 16:49:35 2025 +1100

    Final removal of db.py files

commit f454aed1ca9783cc558cc203f29a7fe31b62a975
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 15:42:31 2025 +1100

    Finalise restructure, remove db.py files

commit 7187f6dd89489521538791c6bdebb426514beb99
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 15:34:54 2025 +1100

commit 6fea227ae20d32b8eb1e7a4885006a620fcc7bb1
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 15:32:53 2025 +1100

commit 27415e7e02d89195ad514cb017a9dbbf84d7a5e4
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 15:31:10 2025 +1100

commit b773428033d855f9ad82005602e049c1a2e3c585
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 15:28:58 2025 +1100

commit 116592c95278d995f4c516e87f2cea43cf5b7735
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 15:25:21 2025 +1100

commit 03ec565faea088971968ee2f9bb83e2de16b21f3
Author: jableader <jacobdunk@gmail.com>
Date:   Sun Oct 19 15:21:29 2025 +1100

    Plan
2025-10-19 20:24:23 +11:00
50a1fcaeee Openapi refactor complete 2025-10-19 15:20:36 +11:00
865c02b195 Fixed loc header 2025-10-19 15:06:51 +11:00
45ff778112 Move inline API request/response models out of main.py into feature modules, Add enums/constants for participant roles 2025-10-19 13:51:27 +11:00
589eb5380c Batch-load meal participants (fetch IDs once, bulk load persons) 2025-10-19 13:21:56 +11:00
322e14c26c Centralize transaction scoping per-request (dependency) and remove scattered conn.commit() in handlers 2025-10-19 13:12:28 +11:00
99b699eec9 Phase 2 — API design and OpenAPI 2025-10-18 18:21:04 +11:00
89cfbe9abc Expose for test 2025-10-18 17:54:43 +11:00
a3c0a2701e Removed redundant code from master and route to new submodules 2025-10-18 17:52:02 +11:00
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
2025-10-18 17:14:03 +11:00