Commit graph

44 commits

Author SHA1 Message Date
d07230b3b0 Merge pull request 'fix(user): simplify add_user' (#28) from irl/cloud-api:add_user into main
Some checks failed
ci / ruff (push) Failing after 3s
ci / ty (push) Failing after 3s
ci / tests (push) Failing after 8s
Reviewed-on: #28
2026-06-22 13:34:36 +00:00
c28b4dc37b feat: applied model mixins
All checks were successful
ci / ruff (push) Successful in 3s
ci / ty (push) Successful in 4s
ci / tests (push) Successful in 16s
IdMixin used on every table with an ID index (no changes needed to db)

Timestamp and Deleted mixins applied to org and user tables.

ActivatedMixin added to users.
2026-06-22 13:46:11 +01:00
irl
a9e539ef74 fix(user): simplify add_user 2026-06-22 12:23:38 +01:00
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
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
1a6a6ad97d fix: remove trailing slash and plurals in paths 2026-06-11 16:14:22 +01:00
bcdef91dd0 feat: user invite response models
All checks were successful
ci / lint_and_test (push) Successful in 13s
2026-06-11 14:14:31 +01:00
ec572aa4c1 feat: sua expiry handling 2026-06-10 14:14:22 +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
768a3881ef feat: sua added to group invitations
All checks were successful
ci / lint_and_test (push) Successful in 13s
Issue: #23
2026-06-09 16:52:22 +01:00
7809df4c5a feat: get self db user_id
All checks were successful
ci / lint_and_test (push) Successful in 15s
2026-06-09 16:33:42 +01:00
6af8490276 fix: wrong contact email in new endpoint 2026-06-09 16:06:28 +01:00
55a61d0df5 fix: get user orgs endpoint can return null questionnaires
All checks were successful
ci / lint_and_test (push) Successful in 14s
2026-06-09 15:55:23 +01:00
56569f09db feat: get user self orgs endpoint
All checks were successful
ci / lint_and_test (push) Successful in 14s
2026-06-09 15:52:38 +01:00
ebcb0362c6 fix: pycharm import error
All checks were successful
ci / lint_and_test (push) Successful in 15s
2026-06-09 14:47:37 +01:00
4ff9edf6d1 feat: schema mixins moved to project level
Resolves circular dependency issues.
2026-06-09 13:17:31 +01:00
62c43ce883 feat: sensical user invitation
Some checks failed
ci / lint_and_test (push) Failing after 8s
Users can now be invited to an org by email.

"Email" for now is "print to stdout"

Resolves #12
2026-06-09 12:22:36 +01:00
5d1e9c27e7 minor: ruff check 2026-06-09 09:33:22 +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
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
1aac45eb76 feat: group ids in get user endpoints 2026-06-08 10:51:01 +01:00
bb4965ab07 feat: org id in get user/self/db 2026-06-08 10:26:17 +01:00
9403e9291f minor: >0 user id in bodies 2026-06-02 14:40:24 +01:00
c4b4000d62 fix: user response groups optional 2026-05-29 16:55:05 +01:00
1a81be210a fix: use dependency instead of db.next 2026-05-29 14:15:50 +01:00
da5099e172 minor: global exception names 2026-05-29 09:50:09 +01:00
cba04e4249 docs: user router summaries
Issue: #13
2026-05-28 16:11:54 +01:00
43cb7e700d docs: user docstrings
Issue: #13
2026-05-28 14:55:44 +01:00
789d7d9f7a feat: auth requirements to user endpoints 2026-05-27 15:36:21 +01:00
868e56ce40 feat: custom exceptions instead of direct fastapi.httpexceptions
Resolves #2
2026-05-27 14:58:10 +01:00
748544fb82 feat: user dependencies
In addition to the by-query and by-body db fetch dependencies. Users also have a by-claim dependency.

Issue #6
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
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
23f2ce98d7 feat: iam rbac system
Endpoints and db architecture to support a role based IAM system.
2026-05-25 09:05:17 +01:00
83a24a91f4 docs: user module
In-line and Swagger docs improvements on the User module and endpoints
2026-05-20 15:23:40 +01:00
34413b3fc5 feat: oidc claims response model 2026-05-20 10:42:07 +01:00
26db93b769 feat: user details updated in db on login 2026-05-20 10:06:36 +01:00
f54876eac6 minor: cleanup
Minor tweaks to reduce warnings in IDE e.g. unused imports.
2026-05-19 12:10:06 +01:00
6f4556a44b fix: corrected use of path param
Previously used `param: int = Path()` this worked but was incorrect.
Correct usage is `param: Annotated[int, Path()]`
2026-05-19 11:11:03 +01:00
34cb4414c9 feat: auth library upgrade
The parts of Authlib used are now deprecated in favour of JoseRFC.
2026-05-19 09:49:27 +01:00
376a7a9fe5 Initial commit 2026-04-06 12:41:49 +01:00