add role assignment page (#10115)

## Context
This PR introduces the "assignment" tab in the Role edit page, currently
allowing admin users to assign workspace members to specific roles.

Note: For now, a user can only have one role and a modal will warn you
if you try to re-assign a user to a new role.

## Test
<img width="648" alt="Screenshot 2025-02-10 at 17 59 21"
src="https://github.com/user-attachments/assets/dabd7a17-6aca-4d2b-95d8-46182f53e1e8"
/>
<img width="668" alt="Screenshot 2025-02-10 at 17 59 33"
src="https://github.com/user-attachments/assets/802aab7a-db67-4f83-9a44-35773df100f7"
/>
<img width="629" alt="Screenshot 2025-02-10 at 17 59 42"
src="https://github.com/user-attachments/assets/277db061-3f05-4ccd-8a83-7a96d6c1673e"
/>
This commit is contained in:
Weiko
2025-02-11 14:51:31 +01:00
committed by GitHub
parent 179d3ae2a4
commit 02ced028e5
26 changed files with 813 additions and 70 deletions

View File

@ -468,29 +468,6 @@ export type EnvironmentVariable = {
};
export enum EnvironmentVariablesGroup {
Authentication = 'Authentication',
Email = 'Email',
Logging = 'Logging',
Other = 'Other',
ServerConfig = 'ServerConfig',
Workspace = 'Workspace'
}
export type EnvironmentVariablesGroupData = {
__typename?: 'EnvironmentVariablesGroupData';
description: Scalars['String']['output'];
isHiddenOnLoad: Scalars['Boolean']['output'];
name: EnvironmentVariablesGroup;
subgroups: Array<EnvironmentVariablesSubgroupData>;
variables: Array<EnvironmentVariable>;
};
export type EnvironmentVariablesOutput = {
__typename?: 'EnvironmentVariablesOutput';
groups: Array<EnvironmentVariablesGroupData>;
};
export enum EnvironmentVariablesSubGroup {
BillingConfig = 'BillingConfig',
CaptchaConfig = 'CaptchaConfig',
CloudflareConfig = 'CloudflareConfig',
@ -498,10 +475,12 @@ export enum EnvironmentVariablesSubGroup {
ExceptionHandler = 'ExceptionHandler',
GoogleAuth = 'GoogleAuth',
LLM = 'LLM',
Logging = 'Logging',
MicrosoftAuth = 'MicrosoftAuth',
PasswordAuth = 'PasswordAuth',
Other = 'Other',
RateLimiting = 'RateLimiting',
SSL = 'SSL',
ServerConfig = 'ServerConfig',
ServerlessConfig = 'ServerlessConfig',
StorageConfig = 'StorageConfig',
SupportChatConfig = 'SupportChatConfig',
@ -509,13 +488,19 @@ export enum EnvironmentVariablesSubGroup {
TokensDuration = 'TokensDuration'
}
export type EnvironmentVariablesSubgroupData = {
__typename?: 'EnvironmentVariablesSubgroupData';
export type EnvironmentVariablesGroupData = {
__typename?: 'EnvironmentVariablesGroupData';
description: Scalars['String']['output'];
name: EnvironmentVariablesSubGroup;
isHiddenOnLoad: Scalars['Boolean']['output'];
name: EnvironmentVariablesGroup;
variables: Array<EnvironmentVariable>;
};
export type EnvironmentVariablesOutput = {
__typename?: 'EnvironmentVariablesOutput';
groups: Array<EnvironmentVariablesGroupData>;
};
export type ExecuteServerlessFunctionInput = {
/** Id of the serverless function to execute */
id: Scalars['UUID']['input'];
@ -2175,6 +2160,7 @@ export type WorkspaceMember = {
roles?: Maybe<Array<Role>>;
timeFormat?: Maybe<WorkspaceMemberTimeFormatEnum>;
timeZone?: Maybe<Scalars['String']['output']>;
userEmail: Scalars['String']['output'];
userWorkspaceId?: Maybe<Scalars['String']['output']>;
};