662b9c8e26
feat: permission permissions
...
ci / lint_and_test (push) Successful in 16s
Orgs can only grant permissions to groups that they themselves have been granted access to.
Super admin bypasses not added, flagged as todos.
2026-06-16 13:51:31 +01:00
0a867c9c90
minor: relationship key definitions to strings
...
Using the objects directly was causing type checking issues. Strings are equivalent so no functional change.
2026-06-16 11:19:22 +01:00
3e4f68dd9b
fix: unique violations
...
Directly using Psycopg error instead of the error code.
Also, raise all other IntegrityErrors instead of silently dropping them.
2026-06-15 14:38:14 +01:00
3433ba39ee
feat: default iam group on org join
...
ci / lint_and_test (push) Successful in 15s
Users joining an org are given the `Default User` IAM permission group automatically.
2026-06-15 11:35:01 +01:00
09d2fbafdc
feat: default iam groups on org create
...
Root user is given the `Default Users` and `Root User` permission groups on org creation.
2026-06-15 11:26:22 +01:00
43ed768f66
feat: minimum lengths for names
ci / lint_and_test (push) Successful in 15s
2026-06-12 15:58:20 +01:00
092e12a892
feat: org status check moved
...
Accessing endpoints as super admin no longer requires the org to be approved.
2026-06-12 14:50:32 +01:00
c94c26f2a6
feat: blocked orgs cannot access any endpoints
2026-06-11 16:39:32 +01:00
37a3972d04
feat: questionnaire only modifiable before submission
2026-06-11 16:35:53 +01:00
5d122a7690
feat: fully defined response code descriptions
...
Only done on three endpoints. This is a lot of repeated text.
2026-06-11 16:02:51 +01:00
c2e035dede
feat: more accurate status codes
...
403 Forbidden replacing many 401 Unauthorized usages.
2026-06-11 14:58:05 +01:00
8925280f96
feat: questions union
...
Allows responses to include questionnaire questions of multiple versions
2026-06-11 13:38:14 +01:00
0a7f9092c7
feat: questionnaire shape update
2026-06-11 12:24:36 +01:00
294baadcb7
feat: more ids returned on endpoints
...
ci / lint_and_test (push) Successful in 14s
Issue: #23
2026-06-10 13:48:59 +01:00
bdba903db1
feat: deleted owned org endpoint
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
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
...
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
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