Commit graph

122 commits

Author SHA1 Message Date
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
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
1b76ea44b6 Initial plan and strategy 2025-10-18 16:48:32 +11:00
4c3f370ddc Squashed commit of the following:
commit 4189d9f824f681b480f797b109e963762eb22e9c
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 16:41:57 2025 +1100

    Openapi complete

commit bebf8c30cba0b85a889198fe44879614065a0c34
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 16:35:39 2025 +1100

    Removed unversioned api

commit dd9cc2eae75d66fceebe14c918c3ed8498376ee6
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 16:07:03 2025 +1100

    Spec updates

commit b993c4530688f79ea983278283f984e9d8e83860
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 16:01:50 2025 +1100

    docs(spec): update doof-back-spec with v1 RFC7807 422, reusable Problem* responses, and shopping/current aliasing; tests passing; openapi.json refreshed

commit 30bac7e57367b14ce924667a7955845de949d779
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 16:00:13 2025 +1100

    openapi polish

commit eb7f7f224f7085fa5b3fadc7716db0ebb7f47eb0
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:54:52 2025 +1100

    OpenAPI reusable responses: Added components.responses for `Problem400`, `Problem404`, and `Problem422`; v1 routes reference these consistently.
     - Units enum: Exposed advisory enum in schema for `Ingredient.unit` using existing units list (no runtime enforcement).

commit 037037e17d684a89b264f2406377970a0de7ec99
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:43:01 2025 +1100

    Add `total` counts to v1 page responses for recipes/persons; push persons name filter into SQL for v1 when `q` is provided.

commit 07e7735076aae8cbd04bb10f9aa324c1a3d80ae4
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:40:17 2025 +1100

    Add parameter descriptions for `cursor`, `limit`, and `q` on v1 list endpoints; include example `Page` envelopes in 200 responses.

commit e5bf9396b0fe870501d1b4712cba2555dd2ef9b1
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:36:27 2025 +1100

    DB pagination

commit 782315cd2a0c18cc50e4deaf28e7ec6e4b58c6e2
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:29:38 2025 +1100

    camelcase tests

commit b207c33e2844c00fc9e531fb9cf8c07a3f5cd543
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:24:57 2025 +1100

    OpenAPI enrichment, Error responses

commit dc84681ab743008e5cd8bec7f3ccb0d05b557518
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:16:39 2025 +1100

    v1 tests: Added basic tests to assert `Page` envelopes and RFC7807 responses for v1 endpoints without affecting legacy tests.

commit 1524b7a98ffe04af11c2731c8125ac9348751cff
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:14:51 2025 +1100

    Pagination

commit 92e91d7acf15c09b14bc76f7b16a7a47e65129ec
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:03:50 2025 +1100

    Use middleware for naming case changes

commit c68f964f9b8e3d8f8ef020661e747e0990459c81
Author: jableader <jacobdunk@gmail.com>
Date:   Sat Oct 18 15:00:09 2025 +1100

    Openapi gen
2025-10-18 16:44:36 +11:00
18f784665f Added ruff, black and mypy 2025-10-18 14:26:42 +11:00
255ebd4613 Squashed commit of the following:
commit 1c707260a4059cbdebb3e2720d3899b8773a1c37
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 22:03:48 2025 +1000

    Sync tests

commit 5a71077121921a2cea9f3be9c1d1f7770691520a
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 21:57:00 2025 +1000

    minor refactorings

commit 0bafec1b40bf5cf6f1554f6e5ec6e8f4e043d1cc
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 21:39:52 2025 +1000

    Remove ids from shopping list

commit c1ee30d1b591b241dfa152d8a0fa9af1f6aaaed1
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 21:04:48 2025 +1000

    Added more cases to shopping tests

commit ad3d598bdb574b1aeaabc354bb825ee428aaaa41
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 20:26:36 2025 +1000

    Added 404 response when list not found

commit 336538dc47e12736f7f57d2c80252a700dc1e83b
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 20:15:52 2025 +1000

    Tests for main

commit 238c0f89b2671348091a162ee519e5f1bf2cd66c
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 20:07:12 2025 +1000

    Meals tests

commit b92f2432ee13f5384b6f1a9b8efe76bec9dbd920
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 19:57:45 2025 +1000

    Shopping tests

commit b3c7ae20e6207cf0f9f04bdec5cb6145b04638d9
Author: jableader <jacobdunk@gmail.com>
Date:   Wed Jul 30 19:40:19 2025 +1000

    product tests passing
2025-07-30 22:05:29 +10:00
2a66ff39be Vibe coded some tests -_- 2025-07-30 18:55:51 +10:00
54f0dcbbb9 Remove request when meal purchased 2025-07-30 18:25:07 +10:00
410b097d5c Fixed purchased item matching 2025-07-30 18:19:20 +10:00
4fa88335d1 Fixed async generator crash 2025-07-29 17:15:38 +10:00