Commit graph

52 commits

Author SHA1 Message Date
bdba903db1 feat: deleted owned org endpoint
All checks were successful
ci / lint_and_test (push) Successful in 14s
2026-06-10 10:15:27 +01:00
3b82025abb feat: get org response mirrors get user orgs structure
All checks were successful
ci / lint_and_test (push) Successful in 13s
2026-06-10 09:49:05 +01:00
607f736453 feat: user ids return on get org users 2026-06-09 14:42:37 +01:00
4ff9edf6d1 feat: schema mixins moved to project level
Resolves circular dependency issues.
2026-06-09 13:17:31 +01:00
e9fe405e06 feat: add org user by id requires su
Part of the "sensical user adding" changes.
2026-06-09 13:07:43 +01:00
c452c6c0d5 feat: delete endpoint queries
Some checks failed
ci / lint_and_test (push) Failing after 5s
Delete endpoints do not fully support bodies. Queries used instead.

Tests added.

Resolves #20
2026-06-09 09:29:14 +01:00
e9b272811f feat: all unique constraints tested 2026-06-08 16:05:20 +01:00
c689ac1e10 minor: ruff formatter
All changes are either:
- Correcting tabs
- Adding/removing line breaks
- Adding trailing commas
2026-06-08 15:31:37 +01:00
76ef862d40 feat: org id in get org response
Some checks failed
ci / lint_and_test (push) Failing after -2s
2026-06-08 14:16:45 +01:00
903b24d17d ruff: config and initial run 2026-06-08 10:45:38 +01:00
f600664789 tests: improved coverage 2026-06-05 09:10:55 +01:00
af680dbc38 feat: get/patch contact includes org info
Resolves #19
2026-06-03 09:45:48 +01:00
8a9f03ee0b feat: get users includes org info 2026-06-03 09:38:54 +01:00
7833386350 feat: patch questionnaire doesn't overwrite with none 2026-06-03 09:29:06 +01:00
1845012cb7 feat: get org endpoint returns questionnaire 2026-06-02 16:36:56 +01:00
81a4cc6cca feat: org router endpoint cleanup
`/id/` removed from GET
Trailing `/` removed from POST and DELETE
2026-06-02 16:36:11 +01:00
e4559b8ee4 minor: >0 check on org ids in bodies 2026-06-02 13:34:05 +01:00
fc6990c43d fix: patch org contact 2026-06-01 14:27:50 +01:00
d85b0d6cd6 fix: patch org root
Expanding the org model does not expand calculated properties
2026-06-01 13:07:42 +01:00
53e01033c4 docs: org endpoint docstrings 2026-05-29 10:40:24 +01:00
8e8c00c34c feat: root user verification
New root users must already be members of the organisation.
2026-05-29 09:52:34 +01:00
987a050b4b feat: org router response models 2026-05-29 09:44:24 +01:00
d404ab3ea3 fix: preapproval endpoints with new root path 2026-05-29 09:24:51 +01:00
90943c3d18 docs: org router query descriptions
Issue: #13
2026-05-28 16:52:10 +01:00
6a90e03d40 docs: org router tag metadata
Issue: #13
2026-05-28 16:46:44 +01:00
d3bdfe8469 docs: org router decorators
Issue: #13
2026-05-28 16:43:39 +01:00
33e78d4a9b docs: org docstrings
issue: #13
2026-05-28 14:23:36 +01:00
82c2b13a7f minor: contact endpoints allowed preapproval 2026-05-28 14:05:31 +01:00
7a0f43d34f minor: org schema nomenclature 2026-05-28 13:32:59 +01:00
9efd86cd5f feat: org status check in auth dependencies
There is a hardcoded list of methods/endpoints for which the status check isn't done. i.e. the endpoints which need to be accessed before the org is approved.

Resolves #11
2026-05-28 10:56:45 +01:00
4bf5933376 minor: org pydantic model cleanup
Contact models also updated since they are now fully incorporated into orgs.

Issue #9
2026-05-27 16:51:46 +01:00
1ed0cfb38c feat: handling for integrity errors
Resolves: #7
2026-05-27 16:26:34 +01:00
fc835dc982 feat: missing dependency injections on org endpoints 2026-05-27 15:59:12 +01:00
689443c05e feat: auth requirements to service endpoints 2026-05-27 15:45:31 +01:00
66c2a71c8a feat: auth requirements to org endpoints 2026-05-27 15:42:53 +01:00
868e56ce40 feat: custom exceptions instead of direct fastapi.httpexceptions
Resolves #2
2026-05-27 14:58:10 +01:00
d3d3b2ca63 feat: auth dependencies
These dependencies require `user_model_claims_dependency` which requires the `claims_dependency`. This caused an import loop error and therefore they must be defined in a different file from `claims_dependency`.

Resolves #6
2026-05-27 14:30:11 +01:00
d0c8c6c297 minor: typo in org exception 2026-05-27 14:29:09 +01:00
657f91d73d feat: org dependencies
Org endpoints use query/body model dependencies to perform initial db lookups.

Issue #6

Org ID path params have been replaced with either query params (get endpoints) or body values.

Resolves #10

Endpoints in other modules that rely on an org model lookup have also been updated.
2026-05-27 12:21:30 +01:00
b3689c8af6 feat: org router refactor
- All TODOs done.
- org_model_dependency used for all applicable routes
- ORM relationships used to reduce number of queries being made and simplify endpoint code.
- Missing request and response models added.
- Small bug fixes
2026-05-25 16:54:45 +01:00
2b6d923ae1 feat: contact model restructure
Blank contacts are now generated on org creation and assigned to each contact type. These contacts are linked to the org, only accessible to the org, and removed when the org is removed.

With this all contact endpoints have been removed. Contact manipulation is done via the org only.
2026-05-25 15:15:50 +01:00
707482adc2 feat: condensed org get endpoints
The process also added improved ORM relationships for multiple models.
2026-05-25 12:40:28 +01:00
a80767d870 feat: condensed user get endpoints
The process also added improved ORM relationships for multiple models.
2026-05-25 12:06:24 +01:00
4ff184fe86 feat: sqlalchemy defined orgusers relationship 2026-05-25 10:21:15 +01:00
2a20172d78 fix: questionnaire patch route update for new model 2026-05-25 09:54:19 +01:00
804e21b871 fix: handling for unset org contacts 2026-05-25 09:32:40 +01:00
23f2ce98d7 feat: iam rbac system
Endpoints and db architecture to support a role based IAM system.
2026-05-25 09:05:17 +01:00
7d84f33bfa fix: intake questionnaire typing
The docs were not generating correctly when using the Json type. A class with placeholder properties has been created instead.
2026-05-19 12:55:46 +01:00
f54876eac6 minor: cleanup
Minor tweaks to reduce warnings in IDE e.g. unused imports.
2026-05-19 12:10:06 +01:00
d89c926a38 feat: org exists checks on orguser routes
Routes modifying the org-user table did not check if the org existed first.
2026-05-19 11:49:54 +01:00