Skip to content

Commit 46bc95f

Browse files
committed
test fix
1 parent e381645 commit 46bc95f

3 files changed

Lines changed: 27 additions & 5 deletions

File tree

api/src/routers/realm/user_routes.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from src.core.security import Roles, Resource, Scope
66
from src.core.dependencies import SessionDep, OAuth2Scheme
7-
from src.models import RealmUserCreate
7+
from src.models import OrgUserCreate, RealmUserCreate
88
from src.services.platform_admin import get_platform_admin_service
99

1010
realm_service = get_platform_admin_service()
@@ -29,6 +29,30 @@ def create_user_in_realm(
2929
)
3030

3131

32+
@router.post(
33+
"/realms/{realm}/users",
34+
status_code=status.HTTP_201_CREATED,
35+
dependencies=[Depends(Roles(Resource.ORG_MANAGER, Scope.MANAGE))],
36+
)
37+
def create_user_in_own_realm(
38+
session: SessionDep,
39+
realm: str,
40+
user: OrgUserCreate,
41+
token: OAuth2Scheme,
42+
):
43+
"""Create a new user inside the caller's Keycloak realm/tenant."""
44+
realm_service.validate_realm_access(token, realm)
45+
return realm_service.create_user_in_realm(
46+
session,
47+
realm=realm,
48+
username=user.username,
49+
name=user.name,
50+
email=user.email,
51+
role=user.role,
52+
group_id=user.group_id,
53+
)
54+
55+
3256
@router.get("/realms/{realm}/users", dependencies=[Depends(Roles(Resource.ORG_MANAGER, Scope.MANAGE))])
3357
def list_users_in_realm(session: SessionDep, realm: str, token: OAuth2Scheme):
3458
"""List users inside the specified Keycloak realm/tenant."""

web/src/components/admin/tenant-org-manager/BulkImportModal.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,13 @@ export function BulkImportModal({
7676
continue;
7777
}
7878
try {
79-
const res = await fetch(`${API_BASE}/org-manager/${encodeURIComponent(realm)}/users`, {
79+
const res = await fetch(`${API_BASE}/realms/${encodeURIComponent(realm)}/users`, {
8080
method: "POST",
8181
headers: {
8282
Authorization: keycloak.token ? `Bearer ${keycloak.token}` : "",
8383
"Content-Type": "application/json",
8484
},
8585
body: JSON.stringify({
86-
realm,
8786
username: u.username,
8887
name: u.name,
8988
email: u.email,

web/src/components/admin/tenant-org-manager/NewUserModal.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,14 @@ export function NewUserModal({ realm, groups, onClose, onUserCreated }: NewUserM
7474

7575
try {
7676
const res = await fetch(
77-
`${API_BASE}/org-manager/${encodeURIComponent(realm)}/users`,
77+
`${API_BASE}/realms/${encodeURIComponent(realm)}/users`,
7878
{
7979
method: "POST",
8080
headers: {
8181
Authorization: keycloak.token ? `Bearer ${keycloak.token}` : "",
8282
"Content-Type": "application/json",
8383
},
8484
body: JSON.stringify({
85-
realm,
8685
username: newUserUsername || newUserEmail.split("@")[0],
8786
name: newUserName,
8887
email: newUserEmail,

0 commit comments

Comments
 (0)