@yuuvis/user-management-app 2.2.1 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,111 +1,156 @@
1
1
  {
2
- "yuv.app.user-management.content.aria.label": "",
3
- "yuv.app.user-management.navigation.groups.label": "Groups",
4
- "yuv.app.user-management.navigation.groups.tooltip": "Switch to groups view",
5
- "yuv.app.user-management.navigation.users.label": "Users",
6
- "yuv.app.user-management.navigation.users.tooltip": "Switch to users view",
7
- "yuv.app.user-management.navigation.settings.label": "Settings",
8
- "yuv.app.user-management.navigation.settings.tooltip": "Show identity provider settings",
9
- "yuv.app.user-management.group.action.create.success": "The group was successfully created.",
10
- "yuv.app.user-management.groups.action.button.cancel": "Cancel",
11
- "yuv.app.user-management.groups.action.button.create": "Create",
12
- "yuv.app.user-management.groups.action.create.description": "",
13
- "yuv.app.user-management.groups.action.create.error.groupExists": "A group with this name already exists.",
14
- "yuv.app.user-management.groups.action.create.error.unknown": "Group could not be created due to an unknown error. Please try again later.",
15
- "yuv.app.user-management.groups.action.create.label": "Create new group",
16
- "yuv.app.user-management.groups.action.delete.confirm.message": "Do you really want to delete the group '{{name}}'?",
17
- "yuv.app.user-management.groups.action.delete.error": "Group '{{name}}' could not be deleted.",
18
- "yuv.app.user-management.groups.action.delete.label": "Delete group",
19
- "yuv.app.user-management.groups.action.delete.success": "Group '{{name}}' deleted successfully.",
20
- "yuv.app.user-management.groups.action.edit.error.unknown": "Group could not be edited due to an unknown error. Please try again later or using other input values.",
21
- "yuv.app.user-management.groups.action.edit.label": "Edit group",
22
- "yuv.app.user-management.groups.action.edit.success": "The group '{{name}}' was edited successfully.",
23
- "yuv.app.user-management.groups.details.empty": "No group selected",
24
- "yuv.app.user-management.groups.details.title": "Group information",
25
- "yuv.app.user-management.groups.navigation.pagination.aria": "Select page",
26
- "yuv.app.user-management.groups.navigation.refresh.tooltip": "Refresh",
27
- "yuv.app.user-management.groups.object.property.description": "Description",
28
- "yuv.app.user-management.groups.object.property.id": "ID",
29
- "yuv.app.user-management.groups.object.property.members": "Members",
30
- "yuv.app.user-management.groups.object.property.name": "Name",
31
- "yuv.app.user-management.groups.object.property.roles": "Roles",
32
- "yuv.app.user-management.groups.title": "Group Overview",
33
- "yuv.app.user-management.settings.action.button.close": "Close",
34
- "yuv.app.user-management.settings.action.button.configure": "Configure now",
35
- "yuv.app.user-management.settings.dialog.title": "Identity provider (OIDC)",
36
- "yuv.app.user-management.settings.oidc.action.copy.error": "Unable to copy to the clipboard. Please copy it manually.",
37
- "yuv.app.user-management.settings.oidc.action.copy.label": "Copy to clipboard",
38
- "yuv.app.user-management.settings.oidc.action.copy.success": "Copied to clipboard.",
39
- "yuv.app.user-management.settings.oidc.action.delete.confirm.message": "Do you really want to delete the OIDC identity provider configuration? This action cannot be undone.",
40
- "yuv.app.user-management.settings.oidc.action.delete.error": "Unable to delete the OIDC identity provider configuration.",
41
- "yuv.app.user-management.settings.oidc.action.delete.label": "Delete configuration",
42
- "yuv.app.user-management.settings.oidc.action.delete.success": "The OIDC identity provider configuration was deleted successfully.",
43
- "yuv.app.user-management.settings.oidc.action.update.error": "Unable to update the client secret.",
44
- "yuv.app.user-management.settings.oidc.action.update.label": "Update",
45
- "yuv.app.user-management.settings.oidc.action.update.success": "The client secret was updated successfully.",
46
- "yuv.app.user-management.settings.oidc.configure.error.discovery": "The OIDC endpoints could not be resolved from the discovery URL. Please check the discovery URL.",
47
- "yuv.app.user-management.settings.oidc.configure.error.unknown": "The OIDC identity provider could not be configured due to an unknown error. Please check your input and try again.",
48
- "yuv.app.user-management.settings.oidc.configure.property.clientSecret": "Client secret",
49
- "yuv.app.user-management.settings.oidc.configure.property.discoveryUrl": "Discovery URL",
50
- "yuv.app.user-management.settings.oidc.error.unknown": "Unable to load the OIDC identity provider configuration due to an unknown error. Please try again later.",
51
- "yuv.app.user-management.settings.oidc.notConfigured": "No external OIDC identity provider is configured for this tenant.",
52
- "yuv.app.user-management.settings.oidc.property.clientId": "Client ID",
53
- "yuv.app.user-management.settings.oidc.property.displayName": "Display name",
54
- "yuv.app.user-management.settings.oidc.property.redirectUri": "Redirect URI",
55
- "yuv.app.user-management.settings.oidc.provisioning.property.clientName": "Client name",
56
- "yuv.app.user-management.settings.oidc.provisioning.property.clientSecret": "Client secret",
57
- "yuv.app.user-management.settings.oidc.provisioning.property.tenantUrl": "Tenant URL",
58
- "yuv.app.user-management.settings.oidc.provisioning.property.tokenUrl": "Token URL",
59
- "yuv.app.user-management.settings.oidc.section.provisioning": "Provisioning information",
60
- "yuv.app.user-management.users.action.activate.error": "User '{{username}}' could not be activated.",
61
- "yuv.app.user-management.users.action.activate.label": "Activate user",
62
- "yuv.app.user-management.users.action.activate.success": "User '{{username}}' was successfully activated.",
63
- "yuv.app.user-management.users.action.button.cancel": "Cancel",
64
- "yuv.app.user-management.users.action.button.create": "Create",
65
- "yuv.app.user-management.users.action.button.save": "Save",
66
- "yuv.app.user-management.users.action.create.description": "Create new user",
67
- "yuv.app.user-management.users.action.create.error.emailExists": "A user with this e-mail address already exists.",
68
- "yuv.app.user-management.users.action.create.error.unknown": "Unable to create user due to an unknown error. Please try again later or change the values of your entry.",
69
- "yuv.app.user-management.users.action.create.error.usernameExists": "A user with this user name already exists.",
70
- "yuv.app.user-management.users.action.create.label": "Create new user",
71
- "yuv.app.user-management.users.action.create.success": "The user was successfully created.",
72
- "yuv.app.user-management.users.action.deactivate.confirm.label": "Deactivate",
73
- "yuv.app.user-management.users.action.deactivate.confirm.message": "Do you really want to deactivate user '{{username}}'?",
74
- "yuv.app.user-management.users.action.deactivate.error": "User '{{username}}' could not be deactivated.",
75
- "yuv.app.user-management.users.action.deactivate.label": "Deactivate user",
76
- "yuv.app.user-management.users.action.deactivate.success": "User '{{username}}' was successfully deactivated.",
77
- "yuv.app.user-management.users.action.delete.confirm.label": "Delete",
78
- "yuv.app.user-management.users.action.delete.confirm.message": "Do you really want to delete user '{{username}}'? This action cannot be undone.",
79
- "yuv.app.user-management.users.action.delete.error": "Unable to delete user '{{username}}'.",
80
- "yuv.app.user-management.users.action.delete.label": "Delete user",
81
- "yuv.app.user-management.users.action.delete.success": "User '{{username}}' was successfully deleted.",
82
- "yuv.app.user-management.users.action.edit.error.unknown": "Unable to edit user due to an unknown error. Please try again later or change the values of your entry.",
83
- "yuv.app.user-management.users.action.edit.identitySource.external.hint": "This user is managed by an external identity provider (e.g. Entra ID). Only roles can be edited.",
84
- "yuv.app.user-management.users.action.edit.label": "Edit user",
85
- "yuv.app.user-management.users.action.edit.success": "The user '{{username}}' was edited successfully.",
86
- "yuv.app.user-management.users.details.empty": "No user selected",
87
- "yuv.app.user-management.users.details.title": "Credentials",
88
- "yuv.app.user-management.users.identitySource.external.tooltip": "Managed by an external identity provider (e.g. Entra ID)",
89
- "yuv.app.user-management.users.navigation.pagination.aria": "Select page",
90
- "yuv.app.user-management.users.navigation.refresh.tooltip": "Refresh",
91
- "yuv.app.user-management.users.object.property.disabled": "Deactivated",
92
- "yuv.app.user-management.users.object.property.email": "E-mail",
93
- "yuv.app.user-management.users.object.property.enabled": "Activated",
94
- "yuv.app.user-management.users.object.property.firstname": "First name",
95
- "yuv.app.user-management.users.object.property.groups": "Groups",
96
- "yuv.app.user-management.users.object.property.id": "ID",
97
- "yuv.app.user-management.users.object.property.identitySource.external": "External identity provider",
98
- "yuv.app.user-management.users.object.property.lastname": "Last name",
99
- "yuv.app.user-management.users.object.property.roles": "Roles",
100
- "yuv.app.user-management.users.object.property.state": "Status",
101
- "yuv.app.user-management.users.object.property.username": "User name",
102
- "yuv.app.user-management.users.roles.assign": "Assign selected roles",
103
- "yuv.app.user-management.users.roles.assignAll": "Assign all roles",
104
- "yuv.app.user-management.users.roles.assigned": "Assigned roles",
105
- "yuv.app.user-management.users.roles.available": "Available roles",
106
- "yuv.app.user-management.users.roles.noAssigned": "No roles have been assigned",
107
- "yuv.app.user-management.users.roles.noAvailable": "No roles available",
108
- "yuv.app.user-management.users.roles.remove": "Remove selected roles",
109
- "yuv.app.user-management.users.roles.removeAll": "Remove all roles",
110
- "yuv.app.user-management.users.title": "User Overview"
111
- }
2
+ "yuv.app.user-management.common.action.add.label": "Add",
3
+ "yuv.app.user-management.common.action.copy.error": "Unable to copy to the clipboard. Please copy it manually.",
4
+ "yuv.app.user-management.common.action.copy.label": "Copy to clipboard",
5
+ "yuv.app.user-management.common.action.copy.success": "Copied to clipboard.",
6
+ "yuv.app.user-management.common.action.more.label": "More actions",
7
+ "yuv.app.user-management.content.label.aria": "",
8
+ "yuv.app.user-management.label.list.groupMembersTitle": "Group members",
9
+ "yuv.app.user-management.label.list.title": "Users",
10
+ "yuv.app.user-management.label.filter.disabled": "Disabled users",
11
+ "yuv.app.user-management.label.filter.enabled": "Enabled users",
12
+ "yuv.app.user-management.label.filter.tooltip": "Filter by status",
13
+ "yuv.app.user-management.label.pane.hideGroups.tooltip": "Hide groups",
14
+ "yuv.app.user-management.label.pane.hideUserDetails.tooltip": "Hide account details",
15
+ "yuv.app.user-management.label.pane.showGroups.tooltip": "Show groups",
16
+ "yuv.app.user-management.label.pane.showUserDetails.tooltip": "Show account details",
17
+ "yuv.app.user-management.label.rail.allUsers": "All users",
18
+ "yuv.app.user-management.label.rail.subtitle": "{{count}} groups",
19
+ "yuv.app.user-management.label.rail.title": "Groups",
20
+ "yuv.app.user-management.label.rail.usersEntry": "Users",
21
+ "yuv.app.user-management.label.search.filtered": "(filtered by \"{{term}}\")",
22
+ "yuv.app.user-management.label.emptyGroup.title": "No members yet",
23
+ "yuv.app.user-management.label.emptyGroup.description": "Add people to '{{name}}' so they can share its roles and access",
24
+ "yuv.app.user-management.navigation.action.settings.label": "Identity provider settings",
25
+ "yuv.app.user-management.navigation.action.settings.tooltip": "Identity provider settings",
26
+ "yuv.app.user-management.groups.action.create.success": "The group was successfully created.",
27
+ "yuv.app.user-management.groups.action.button.cancel": "Cancel",
28
+ "yuv.app.user-management.groups.action.button.create": "Create",
29
+ "yuv.app.user-management.groups.action.create.description": "",
30
+ "yuv.app.user-management.groups.action.create.error.forbidden": "You do not have the required permissions to create a group with these settings, e.g. because it would grant a role you are not permitted to assign.",
31
+ "yuv.app.user-management.groups.action.create.error.unknown": "Group could not be created due to an unknown error. Please try again later.",
32
+ "yuv.app.user-management.groups.action.create.label": "Create new group",
33
+ "yuv.app.user-management.groups.action.delete.confirm.message": "Do you really want to delete the group '{{name}}'?",
34
+ "yuv.app.user-management.groups.action.delete.error": "Group '{{name}}' could not be deleted.",
35
+ "yuv.app.user-management.groups.action.delete.label": "Delete group",
36
+ "yuv.app.user-management.groups.action.delete.success": "Group '{{name}}' deleted successfully.",
37
+ "yuv.app.user-management.groups.action.edit.error.forbidden": "You do not have the required permissions to edit this group with these settings, e.g. because it grants a role you are not permitted to assign or that is currently assigned to it.",
38
+ "yuv.app.user-management.groups.action.edit.error.unknown": "Group could not be edited due to an unknown error. Please try again later or change the values of your entry.",
39
+ "yuv.app.user-management.groups.action.edit.label": "Edit group",
40
+ "yuv.app.user-management.groups.action.edit.dialog.title": "Edit group '{{name}}'",
41
+ "yuv.app.user-management.groups.action.edit.success": "The group '{{name}}' was edited successfully.",
42
+ "yuv.app.user-management.groups.action.removeMember.label": "Remove user from group",
43
+ "yuv.app.user-management.groups.action.removeMember.confirm.label": "Remove",
44
+ "yuv.app.user-management.groups.action.removeMember.confirm.message": "Do you really want to remove '{{username}}' from the group '{{name}}'?",
45
+ "yuv.app.user-management.groups.action.removeMember.success": "'{{username}}' was removed from group '{{name}}'.",
46
+ "yuv.app.user-management.groups.action.removeMember.error": "Unable to remove '{{username}}' from group '{{name}}'.",
47
+ "yuv.app.user-management.groups.action.addMembers.label": "Add members",
48
+ "yuv.app.user-management.groups.action.addMembers.dialog.title": "Add members to '{{name}}'",
49
+ "yuv.app.user-management.groups.action.addMembers.search.placeholder": "Search user ...",
50
+ "yuv.app.user-management.groups.action.addMembers.empty.noResults": "No matching users found",
51
+ "yuv.app.user-management.groups.action.addMembers.empty.allAdded": "All users are already members of this group",
52
+ "yuv.app.user-management.groups.action.addMembers.empty.noneSelected": "No users selected yet",
53
+ "yuv.app.user-management.groups.action.addMembers.removeSelected.tooltip": "Remove from selection",
54
+ "yuv.app.user-management.groups.action.addMembers.button.add": "Add",
55
+ "yuv.app.user-management.groups.action.addMembers.success": "{{count}} user(s) were added to group '{{name}}'.",
56
+ "yuv.app.user-management.groups.action.addMembers.partialError": "{{count}} user(s) could not be added to group '{{name}}'.",
57
+ "yuv.app.user-management.groups.property.description": "Description",
58
+ "yuv.app.user-management.groups.property.members": "Members",
59
+ "yuv.app.user-management.groups.property.name": "Name",
60
+ "yuv.app.user-management.settings.action.button.cancel": "Cancel",
61
+ "yuv.app.user-management.settings.label.dialog.title": "Identity provider settings",
62
+ "yuv.app.user-management.settings.oidc.action.copy.error": "Unable to copy to the clipboard. Please copy it manually.",
63
+ "yuv.app.user-management.settings.oidc.action.copy.label": "Copy to clipboard",
64
+ "yuv.app.user-management.settings.oidc.action.copy.success": "Copied to clipboard.",
65
+ "yuv.app.user-management.settings.oidc.action.reset.confirm.message": "Do you really want to delete the external identity provider configuration? This action cannot be undone.",
66
+ "yuv.app.user-management.settings.oidc.action.reset.error": "Unable to delete the external identity provider configuration.",
67
+ "yuv.app.user-management.settings.oidc.action.reset.label": "Reset",
68
+ "yuv.app.user-management.settings.oidc.action.reset.success": "The external identity provider configuration was deleted successfully.",
69
+ "yuv.app.user-management.settings.oidc.action.update.success": "The external identity provider configuration was updated successfully.",
70
+ "yuv.app.user-management.settings.oidc.action.configure.error.discovery": "The external identity provider's endpoints could not be resolved from the discovery URL. Please check the discovery URL.",
71
+ "yuv.app.user-management.settings.oidc.action.configure.error.unknown": "The external identity provider could not be configured due to an unknown error. Please check your input and try again.",
72
+ "yuv.app.user-management.settings.oidc.action.configure.success": "The external identity provider was configured successfully.",
73
+ "yuv.app.user-management.settings.oidc.action.setup.label": "Connect identity provider",
74
+ "yuv.app.user-management.settings.oidc.action.save.label": "Save",
75
+ "yuv.app.user-management.settings.oidc.property.clientSecret": "Client secret",
76
+ "yuv.app.user-management.settings.oidc.property.discoveryUrl": "Discovery URL",
77
+ "yuv.app.user-management.settings.oidc.label.error.forbidden": "You do not have the required permissions to view or manage the external identity provider configuration.",
78
+ "yuv.app.user-management.settings.oidc.label.error.unknown": "Unable to load the external identity provider configuration due to an unknown error. Please try again later.",
79
+ "yuv.app.user-management.settings.oidc.label.notConfigured": "No external identity provider connected",
80
+ "yuv.app.user-management.settings.oidc.label.setup.description": "Connect an OIDC identity provider to let people sign in with their existing account, and provision users and groups automatically via SCIM.",
81
+ "yuv.app.user-management.settings.oidc.label.setup.hint": "Enter the values from your external identity provider's application registration. You'll find these in the provider's admin console, e.g. under application or client credentials.",
82
+ "yuv.app.user-management.settings.oidc.property.clientId": "Client ID",
83
+ "yuv.app.user-management.settings.oidc.property.displayName": "Display name",
84
+ "yuv.app.user-management.settings.oidc.property.redirectUri": "Redirect URI",
85
+ "yuv.app.user-management.settings.oidc.property.redirectUri.hint": "Register this URI as a valid redirect URI in your external identity provider's application settings, so it can send people back here after signing in.",
86
+ "yuv.app.user-management.settings.oidc.provisioning.property.clientName": "Client name",
87
+ "yuv.app.user-management.settings.oidc.provisioning.property.clientSecret": "Client secret",
88
+ "yuv.app.user-management.settings.oidc.provisioning.property.tenantUrl": "Tenant URL",
89
+ "yuv.app.user-management.settings.oidc.provisioning.property.tokenUrl": "Token URL",
90
+ "yuv.app.user-management.settings.oidc.label.provisioning.hint": "Enter these values in {{provider}}'s application settings to enable automatic user and group provisioning via SCIM.",
91
+ "yuv.app.user-management.settings.oidc.label.provisioning.unavailable": "SCIM provisioning is not available for this tenant.",
92
+ "yuv.app.user-management.settings.oidc.label.section.provisioning": "SCIM provisioning",
93
+ "yuv.app.user-management.settings.oidc.tab.authentication": "Authentication",
94
+ "yuv.app.user-management.users.action.activate.error": "User '{{username}}' could not be enabled.",
95
+ "yuv.app.user-management.users.action.activate.label": "Enable user",
96
+ "yuv.app.user-management.users.action.activate.success": "User '{{username}}' was successfully enabled.",
97
+ "yuv.app.user-management.users.action.button.cancel": "Cancel",
98
+ "yuv.app.user-management.users.action.button.create": "Create",
99
+ "yuv.app.user-management.users.action.button.save": "Save",
100
+ "yuv.app.user-management.users.action.create.description": "Create new user",
101
+ "yuv.app.user-management.users.action.create.error.conflict": "A user with this username or e-mail address already exists.",
102
+ "yuv.app.user-management.users.action.create.error.forbidden": "You do not have the required permissions to create a user with these settings, e.g. because it would assign a role or group you are not permitted to assign.",
103
+ "yuv.app.user-management.users.action.create.error.unknown": "Unable to create user due to an unknown error. Please try again later or change the values of your entry.",
104
+ "yuv.app.user-management.users.action.create.label": "Create new user",
105
+ "yuv.app.user-management.users.action.create.success": "The user was successfully created.",
106
+ "yuv.app.user-management.users.action.deactivate.confirm.label": "Disable",
107
+ "yuv.app.user-management.users.action.deactivate.confirm.message": "Do you really want to disable user '{{username}}'?",
108
+ "yuv.app.user-management.users.action.deactivate.error": "User '{{username}}' could not be disabled.",
109
+ "yuv.app.user-management.users.action.deactivate.label": "Disable user",
110
+ "yuv.app.user-management.users.action.deactivate.success": "User '{{username}}' was successfully disabled.",
111
+ "yuv.app.user-management.users.action.delete.confirm.label": "Delete",
112
+ "yuv.app.user-management.users.action.delete.confirm.message": "Do you really want to delete user '{{username}}'? This action cannot be undone.",
113
+ "yuv.app.user-management.users.action.delete.error": "Unable to delete user '{{username}}'.",
114
+ "yuv.app.user-management.users.action.delete.label": "Delete user",
115
+ "yuv.app.user-management.users.action.delete.success": "User '{{username}}' was successfully deleted.",
116
+ "yuv.app.user-management.users.action.edit.error.forbidden": "You do not have the required permissions to edit this user with these settings, e.g. because it would assign a role or group you are not permitted to assign, or the user currently holds a role you are not permitted to manage.",
117
+ "yuv.app.user-management.users.action.edit.error.unknown": "Unable to edit user due to an unknown error. Please try again later or change the values of your entry.",
118
+ "yuv.app.user-management.users.action.edit.identitySource.external.hint": "This user is managed by an external identity provider (e.g. Entra ID). Only roles can be edited.",
119
+ "yuv.app.user-management.users.action.edit.label": "Edit user",
120
+ "yuv.app.user-management.users.action.edit.dialog.title": "Edit user '{{username}}'",
121
+ "yuv.app.user-management.users.action.edit.success": "The user '{{username}}' was edited successfully.",
122
+ "yuv.app.user-management.users.label.details.empty": "Select a user from the list to see their details.",
123
+ "yuv.app.user-management.users.label.details.groups.empty": "Not a member of any group",
124
+ "yuv.app.user-management.users.label.details.groups.open.tooltip": "Go to this group",
125
+ "yuv.app.user-management.users.label.details.groups.title": "Group membership",
126
+ "yuv.app.user-management.users.label.details.roles.direct.empty": "No roles assigned directly",
127
+ "yuv.app.user-management.users.label.details.roles.direct.title": "Assigned roles",
128
+ "yuv.app.user-management.users.label.details.roles.inherited.currentGroup.tooltip": "Inherited via the current group",
129
+ "yuv.app.user-management.users.label.details.roles.inherited.empty": "No roles inherited from groups",
130
+ "yuv.app.user-management.users.label.details.roles.inherited.title": "Inherited roles",
131
+ "yuv.app.user-management.users.label.details.title": "Account details",
132
+ "yuv.app.user-management.users.label.identitySource.external.tooltip": "Managed by an external identity provider (e.g. Entra ID)",
133
+ "yuv.app.user-management.users.label.navigation.pagination.aria": "Select page",
134
+ "yuv.app.user-management.users.label.navigation.pagination.itemsPerPage": "Users per page",
135
+ "yuv.app.user-management.users.action.refresh.tooltip": "Refresh",
136
+ "yuv.app.user-management.users.property.disabled": "Disabled",
137
+ "yuv.app.user-management.users.property.email": "E-mail",
138
+ "yuv.app.user-management.users.property.enabled": "Enabled",
139
+ "yuv.app.user-management.users.property.firstname": "First name",
140
+ "yuv.app.user-management.users.property.groups": "Groups",
141
+ "yuv.app.user-management.users.property.id": "ID",
142
+ "yuv.app.user-management.users.property.identitySource.external": "External",
143
+ "yuv.app.user-management.users.property.lastname": "Last name",
144
+ "yuv.app.user-management.users.property.roles": "Roles",
145
+ "yuv.app.user-management.users.property.user": "Username",
146
+ "yuv.app.user-management.users.property.username": "Username",
147
+ "yuv.app.user-management.common.action.roles.assign": "Assign selected roles",
148
+ "yuv.app.user-management.common.action.roles.assignAll": "Assign all roles",
149
+ "yuv.app.user-management.common.label.roles.assigned": "Assigned roles",
150
+ "yuv.app.user-management.common.label.roles.available": "Available roles",
151
+ "yuv.app.user-management.common.label.roles.noAssigned": "No roles assigned",
152
+ "yuv.app.user-management.common.label.roles.noAvailable": "No roles available",
153
+ "yuv.app.user-management.common.action.roles.remove": "Remove selected roles",
154
+ "yuv.app.user-management.common.action.roles.removeAll": "Remove all roles",
155
+ "yuv.app.user-management.users.label.title": "User Overview"
156
+ }
package/package.json CHANGED
@@ -37,5 +37,5 @@
37
37
  "dependencies": {
38
38
  "tslib": "^2.3.0"
39
39
  },
40
- "version": "2.2.1"
40
+ "version": "2.3.1"
41
41
  }
@@ -4,6 +4,11 @@ import * as i0 from '@angular/core';
4
4
 
5
5
  declare const YuvUserManagementRoutes: Route[];
6
6
 
7
+ interface PagedResponse<T> {
8
+ hasMoreItems: boolean;
9
+ objects: T[];
10
+ }
11
+
7
12
  interface GroupObject {
8
13
  id: string;
9
14
  name: string;
@@ -13,17 +18,15 @@ interface GroupDetailsObject extends GroupObject {
13
18
  members: string[];
14
19
  roles: string[];
15
20
  }
16
- interface GroupsSearchResponse {
17
- hasMoreItems: boolean;
21
+ interface GroupsSearchResponse extends PagedResponse<GroupObject> {
18
22
  numItems: number;
19
23
  totalNumItems: number;
20
- objects: GroupObject[];
21
24
  }
22
25
  interface UserObject {
23
26
  id: string;
24
27
  username: string;
25
- firstName: string;
26
- lastName: string;
28
+ firstName?: string;
29
+ lastName?: string;
27
30
  email: string;
28
31
  enabled: boolean;
29
32
  /** Read-only flag set by the backend for users provisioned via an external identity provider (e.g. SCIM from Entra ID). */
@@ -34,31 +37,47 @@ interface UserDetailsObject extends UserObject {
34
37
  roles: string[];
35
38
  effectiveRoles: string[];
36
39
  }
37
- interface UsersSearchResponse {
38
- hasMoreItems: boolean;
40
+ interface UsersSearchResponse extends PagedResponse<UserObject> {
39
41
  numItems: number;
40
42
  totalNumItems: number;
41
- objects: UserObject[];
42
43
  }
43
44
  /**
44
45
  * OIDC identity provider configuration of the current tenant (e.g. Microsoft Entra ID) as
45
46
  * returned by `/tenant-management/api/admin/identity-provider/oidc`. Sensitive config values
46
47
  * (e.g. clientSecret) are removed by the backend before delivery.
48
+ *
49
+ * `redirectUri`/`scimProvisioning` used to live on this type too, but are now deprecated and
50
+ * hidden from this endpoint's published schema in favor of `IdentityProviderSetupInfo`, which
51
+ * exposes them independent of whether a provider is configured at all - use that instead.
47
52
  */
48
53
  interface OIDCProviderConfig {
49
54
  /** Display name shown on the login page. */
50
55
  displayName?: string;
51
56
  /** Provider-specific configuration (clientId, metadataDescriptorUrl, defaultScope, ...). */
52
57
  config?: Record<string, string>;
53
- /** Computed redirect URI that must be registered with the external IdP. */
58
+ }
59
+ /** SCIM provisioning settings to configure at the external IdP. */
60
+ interface ScimProvisioning {
61
+ /** SCIM base URL (tenant URL) of the realm. */
62
+ tenantUrl?: string;
63
+ /** OAuth2 token endpoint used by the external IdP to authenticate SCIM requests. */
64
+ tokenEndpoint?: string;
65
+ /** Client id of the SCIM client. */
66
+ clientId?: string;
67
+ /** Client secret of the SCIM client. */
68
+ clientSecret?: string;
69
+ }
70
+ /**
71
+ * Tenant-specific values needed to configure an external identity provider, as returned by
72
+ * `/tenant-management/api/admin/identity-provider/setup-info`. Available independent of whether
73
+ * an OIDC identity provider has already been configured for this tenant, since both values are
74
+ * derived from the tenant alone.
75
+ */
76
+ interface IdentityProviderSetupInfo {
77
+ /** Redirect URI to register with the external IdP for OIDC authentication. */
54
78
  redirectUri?: string;
55
- /** SCIM provisioning settings to configure at the external IdP (only present if a SCIM client exists in the tenant's realm). */
56
- scimProvisioning?: {
57
- tenantUrl?: string;
58
- tokenEndpoint?: string;
59
- clientId?: string;
60
- clientSecret?: string;
61
- };
79
+ /** Null if the tenant has no SCIM client provisioned. */
80
+ scimProvisioning?: ScimProvisioning;
62
81
  }
63
82
 
64
83
  declare class UserRequest {
@@ -76,15 +95,52 @@ declare class GroupRequest {
76
95
  name?: string;
77
96
  description?: string;
78
97
  roles?: string[];
79
- members?: string[];
80
- constructor(id: string, name: string, description: string, roles: string[], members: string[]);
98
+ constructor(id: string, name: string, description: string, roles: string[]);
81
99
  }
82
100
 
101
+ /**
102
+ * Maps an HTTP error status to an i18n key under `${keyPrefix}.error.*`, e.g.
103
+ * "yuv.app.user-management.users.action.create.error.forbidden" for a 403.
104
+ * `extraStatusSuffixes` lets a caller opt in to additional statuses beyond the
105
+ * universal 403/"forbidden" and default/"unknown" (e.g. `{ 409: 'conflict' }`).
106
+ */
107
+ declare function resolveErrorMessageKey(keyPrefix: string, status: number, extraStatusSuffixes?: Record<number, string>): string;
83
108
  declare class YuvUserManagementService {
84
109
  #private;
110
+ /** Also the default in the page-size selector on the users/group-membership list - see `YuvUserManagementComponent.pageSizeOptions`. */
85
111
  static DEFAULT_PAGE_SIZE: number;
86
- fetchUsers(page?: number, search?: string): Observable<UsersSearchResponse>;
87
- fetchGroups(page?: number, search?: string): Observable<GroupsSearchResponse>;
112
+ /**
113
+ * Page size used when walking *every* page of a list (see `aggregateAllPages`), which the
114
+ * backend only exposes paginated. Deliberately much larger than `DEFAULT_PAGE_SIZE`: those walks
115
+ * are sequential (each page's request only goes out once the previous one has answered), so the
116
+ * page size is what decides how many round trips a full list costs.
117
+ */
118
+ static AGGREGATE_PAGE_SIZE: number;
119
+ /** `enabled` filters by user state: `true` for enabled-only, `false` for disabled-only, omitted for both. */
120
+ fetchUsers(page?: number, search?: string, enabled?: boolean, pageSize?: number): Observable<UsersSearchResponse>;
121
+ fetchGroups(page?: number, search?: string, pageSize?: number): Observable<GroupsSearchResponse>;
122
+ /**
123
+ * Fetches every group across all pages. Used for the groups rail, which needs the full list
124
+ * rather than one page at a time.
125
+ */
126
+ fetchAllGroups(): Observable<GroupObject[]>;
127
+ /**
128
+ * Fetches one server-paginated page of a group's members as full user records. Group
129
+ * membership search isn't supported by the backend - there's no `search` param here, see
130
+ * `YuvUserManagementComponent` for how the UI enforces that a search always scopes to "All users"
131
+ * instead.
132
+ */
133
+ fetchGroupMembers(groupId: string, page?: number, pageSize?: number): Observable<UsersSearchResponse>;
134
+ /**
135
+ * Removes a user from a group (the user account itself is unaffected), after the user
136
+ * confirms the action.
137
+ */
138
+ removeGroupMember(group: GroupObject, user: UserObject): Observable<boolean>;
139
+ /**
140
+ * Adds a user to a group (the user account itself is unaffected). Unlike `removeGroupMember`,
141
+ * adding isn't destructive, so no confirmation dialog - consistent with createUser/createGroup.
142
+ */
143
+ addGroupMember(group: GroupObject, userId: string): Observable<void>;
88
144
  fetchAllRoles(): Observable<string[]>;
89
145
  createUser(createUserRequest: UserRequest, withInvitation?: boolean): Observable<string>;
90
146
  updateUser(userId: string, updateUserRequest: UserRequest): Observable<void>;
@@ -98,6 +154,13 @@ declare class YuvUserManagementService {
98
154
  * tenant. Emits a 404 error if no OIDC identity provider is configured.
99
155
  */
100
156
  fetchOIDCProviderConfig(): Observable<OIDCProviderConfig>;
157
+ /**
158
+ * Fetches the tenant-specific values needed to configure an external identity provider (the
159
+ * OIDC redirect URI and the SCIM provisioning endpoint/credentials). Available independent of
160
+ * whether an OIDC identity provider has already been configured, since both values are derived
161
+ * from the tenant alone.
162
+ */
163
+ fetchIdentityProviderSetupInfo(): Observable<IdentityProviderSetupInfo>;
101
164
  /**
102
165
  * Creates (or updates) the OIDC identity provider configuration of the current tenant. The
103
166
  * discovery URL must be passed as `config.metadataDescriptorUrl` — the backend resolves the
@@ -114,4 +177,4 @@ declare class YuvUserManagementService {
114
177
  static ɵprov: i0.ɵɵInjectableDeclaration<YuvUserManagementService>;
115
178
  }
116
179
 
117
- export { YuvUserManagementRoutes, YuvUserManagementService };
180
+ export { YuvUserManagementRoutes, YuvUserManagementService, resolveErrorMessageKey };
package/yuv-manifest.json CHANGED
@@ -10,4 +10,4 @@
10
10
  }
11
11
  },
12
12
  "extension": "YuvUserManagementExtension"
13
- }
13
+ }