d395b01997
fix: only serve frontend if present in prod
ci / ruff (push) Failing after 3s
ci / ty (push) Failing after 4s
ci / tests (push) Failing after 15s
ci / build (push) Has been cancelled
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
...
ci / ruff (push) Failing after 3s
ci / ty (push) Failing after 4s
ci / tests (push) Failing after 8s
Reviewed-on: #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
...
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
9e1d6026b5
feat: adds Containerfile with frontend serving
ci / ruff (push) Successful in 4s
ci / ty (push) Failing after 4s
ci / tests (push) Failing after 8s
2026-06-22 14:24:56 +01:00
c28b4dc37b
feat: applied model mixins
...
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
7e1ab6c6ee
feat: db model mixins
2026-06-22 13:46:11 +01:00
53b42b24dd
feat(utils): use logging around email send
2026-06-22 13:26:47 +01:00
a9e539ef74
fix(user): simplify add_user
2026-06-22 12:23:38 +01:00
02ddf9a3ed
fix: skip sending email process while running tests
...
ci / ruff (push) Successful in 4s
ci / ty (push) Successful in 4s
ci / tests (push) Successful in 15s
Removes the need for lettermint api key in CI.
2026-06-22 12:06:43 +01:00
11eeddb347
feat: lettermint integration
ci / ruff (push) Successful in 4s
ci / ty (push) Failing after 17s
ci / tests (push) Failing after 16s
2026-06-22 12:01:58 +01:00
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
7804816a1a
fix: rn takes org id instead of name
ci / lint_and_test (push) Successful in 16s
2026-06-17 13:12:59 +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
d6c14655c0
feat: batch add perm to org
ci / lint_and_test (push) Successful in 16s
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
...
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
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
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
8b89595531
feat: group invitation response model
ci / lint_and_test (push) Successful in 14s
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
ci / lint_and_test (push) Successful in 13s
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
61e186a727
docs: iam router (incomplete)
...
ci / lint_and_test (push) Successful in 13s
Issue: #13
2026-06-10 16:49:37 +01:00
ec41d1ed05
feat: caor docs and response model
ci / lint_and_test (push) Successful in 13s
2026-06-10 16:16:56 +01:00
0b521414b3
feat: add group user by id restriction
...
ci / lint_and_test (push) Successful in 14s
Adding by ID can only be done for existing org members
2026-06-10 14:48:22 +01:00
3dbd72a109
feat: 403 exception
2026-06-10 14:47:33 +01:00
ec572aa4c1
feat: sua expiry handling
2026-06-10 14:14:22 +01:00