Commit graph

70 commits

Author SHA1 Message Date
58e7ae6c5c fix: ty compliant & issues from change to mapped columns
All checks were successful
ci / ruff (push) Successful in 3s
ci / ty (push) Successful in 15s
ci / tests (push) Successful in 17s
2026-06-22 11:23:24 +01:00
irl
6397bd1316 feat: use Mapped syntax for columns 2026-06-20 18:42:36 +01:00
d5854cc2c4 feat: user and org defaults
All checks were successful
ci / lint_and_test (push) Successful in 15s
Root and User defaults made more generic and merged.

Root user group assignment merged with org default perm assignment.

Root user granted all default org permissions at org creation.
2026-06-17 10:49:58 +01:00
2c5edd1b0f feat: default org perm grant grants 2026-06-17 09:32:12 +01:00
662b9c8e26 feat: permission permissions
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
ci / lint_and_test (push) Successful in 14s
Issue: #23
2026-06-10 13:48:59 +01:00
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