58e7ae6c5c
fix: ty compliant & issues from change to mapped columns
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
6397bd1316
feat: use Mapped syntax for columns
2026-06-20 18:42:36 +01:00
d5854cc2c4
feat: user and org defaults
...
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
...
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