|
|
978c970fb6
|
feat(shopping): add household-scoped ingredient request endpoint + tests and spec
|
2025-11-01 18:50:40 +11:00 |
|
|
|
76eeaba51c
|
Shopping requests parity
|
2025-11-01 18:34:40 +11:00 |
|
|
|
c4e1293557
|
test_request_ingredient_scoped
|
2025-11-01 18:16:38 +11:00 |
|
|
|
e370ed50dc
|
request ingredient
|
2025-11-01 18:07:13 +11:00 |
|
|
|
65d655851d
|
feat: MemberRef adoption for recipes.createdBy and shopping.purchasedBy; add TDD; update spec; keep suite green
|
2025-11-01 17:53:07 +11:00 |
|
|
|
b324e1101c
|
feat(recipes): include createdBy (MemberRef) and createdById in v2 responses; map from User; update tests and spec
|
2025-11-01 17:50:33 +11:00 |
|
|
|
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 |
|
|
|
8fd780ee17
|
feat(meals): replace Person with MemberRef (displayName) in v2 Meal DTOs; add Argon2 password hashing
|
2025-11-01 16:58:34 +11:00 |
|
|
|
aa18a1502d
|
Remove v1 API surface, skip legacy tests; finalize v2-only routing and docs
|
2025-11-01 16:18:46 +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 |
|
|
|
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 |
|
|
|
f1dac94396
|
Minimal v2 endpoints scaffolded alongside v1 cookie auth
|
2025-11-01 13:43:26 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
53b07343d1
|
API extractions
|
2025-10-18 17:05:48 +11:00 |
|
|
|
2bbed57313
|
Persons api extraction
|
2025-10-18 17:00:01 +11:00 |
|
|
|
edfc341b4b
|
extract recipes
|
2025-10-18 16:54:35 +11:00 |
|
|
|
3d7afa3765
|
Scaffolding
|
2025-10-18 16:50:43 +11:00 |
|