1
0
Fork 0
forked from sr2/cloud-api
Commit graph

190 commits

Author SHA1 Message Date
irl
ee47186c5a fix(db): generator types 2026-06-22 15:12:34 +01:00
fab228bf8f minor: ruff format
Tabs -> spaces
2026-06-22 15:04:11 +01:00
1a851859d0 fix: logging import for email 2026-06-22 15:02:04 +01:00
irl
84ba3b6bee feat(db): db tuning options and consistency 2026-06-22 14:50:05 +01:00
40918fd8b8 feat: delete org soft deletes 2026-06-22 14:50:05 +01:00
irl
d395b01997 fix: only serve frontend if present in prod 2026-06-22 14:42:13 +01:00
f41f76bcf8 Merge pull request 'feat(utils): use logging around email send' (#31) from irl/cloud-api:maillog into main
Reviewed-on: sr2/cloud-api#31
2026-06-22 13:37:15 +00:00
d07230b3b0 Merge pull request 'fix(user): simplify add_user' (#28) from irl/cloud-api:add_user into main
Reviewed-on: sr2/cloud-api#28
2026-06-22 13:34:36 +00:00
irl
9e1d6026b5 feat: adds Containerfile with frontend serving 2026-06-22 14:24:56 +01:00
c28b4dc37b feat: applied model mixins
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
7e1ab6c6ee feat: db model mixins 2026-06-22 13:46:11 +01:00
irl
53b42b24dd feat(utils): use logging around email send 2026-06-22 13:26:47 +01:00
irl
a9e539ef74 fix(user): simplify add_user 2026-06-22 12:23:38 +01:00
02ddf9a3ed fix: skip sending email process while running tests
Removes the need for lettermint api key in CI.
2026-06-22 12:06:43 +01:00
11eeddb347 feat: lettermint integration 2026-06-22 12:01:58 +01:00
58e7ae6c5c fix: ty compliant & issues from change to mapped columns 2026-06-22 11:23:24 +01:00
irl
6397bd1316 feat: use Mapped syntax for columns 2026-06-20 18:42:36 +01:00
7804816a1a fix: rn takes org id instead of name 2026-06-17 13:12:59 +01:00
d5854cc2c4 feat: user and org defaults
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
d6c14655c0 feat: batch add perm to org 2026-06-16 16:48:32 +01:00
4b384db98a feat: service permissions endpoint
Endpoint to allow services to register their own permissions into the hub.
2026-06-16 16:24:09 +01:00
327f857190 feat: service-permission orm relationship 2026-06-16 16:10:08 +01:00
154870acb1 feat: service key dependency generic
Dependency to verify service API key accepts the service_name from a RN generic, allowing for endpoints without a full RN to use it.
2026-06-16 16:09:17 +01:00
f96cb2112c minor: rename search endpoint function 2026-06-16 16:05:17 +01:00
662b9c8e26 feat: permission permissions
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
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
dad23733e8 feat: group name unique per org
Instead of group names being wholly unique (enforced by the db), group names are unique within the org (enforced by endpoint logic).
2026-06-15 11:10:02 +01:00
da6bd22199 minor: typo 2026-06-12 16:44:45 +01:00
43ed768f66 feat: minimum lengths for names 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
8b89595531 feat: group invitation response model 2026-06-12 10:02:35 +01:00
1a29da73c2 feat: use of service model dependency 2026-06-12 09:37:55 +01:00
f06b19340c feat: remove group permission check if exists 2026-06-12 09:30:34 +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
2b923becf0 feat: perm search ignores empty strings 2026-06-11 16:23:02 +01:00
1a6a6ad97d fix: remove trailing slash and plurals in paths 2026-06-11 16:14:22 +01:00
c74e895bf1 feat: return org summary when creating group 2026-06-11 16:07:31 +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
b3ae655009 feat: healthcheck endpoint structure 2026-06-11 14:27:08 +01:00
bcdef91dd0 feat: user invite response models 2026-06-11 14:14:31 +01:00
8925280f96 feat: questions union
Allows responses to include questionnaire questions of multiple versions
2026-06-11 13:38:14 +01:00
38c26cca7b docs: iam module meta doc 2026-06-11 13:07:48 +01:00
0a7f9092c7 feat: questionnaire shape update 2026-06-11 12:24:36 +01:00
dd0478d5e7 docs: iam router
Issue: #13
2026-06-11 09:36:51 +01:00