This commit is contained in:
Winnie
2026-08-05 17:46:05 +08:00
101 changed files with 8797 additions and 3323 deletions
+150
View File
@@ -119,6 +119,55 @@ export type Employee = {
created_at: string;
};
// Workspace (Project) types - 对应 API.md 第七部分系统管理接口
export type Workspace = {
workspace_id: string;
workspace_code: string;
workspace_name: string;
active_root_uri: string;
quota_bytes: number;
status: "active" | "archived" | "disabled";
description: string | null;
created_by: string;
created_at: string;
updated_at: string | null;
};
export type WorkspaceMember = {
user_id: string;
username: string;
display_name: string;
email: string | null;
role_code: "admin" | "developer";
role_name: string;
member_status: "active" | "disabled" | "locked";
joined_at: string;
};
export type WorkspaceCreatePayload = {
workspace_code: string;
workspace_name: string;
quota_bytes?: number;
description?: string;
};
export type WorkspaceUpdatePayload = {
workspace_name?: string;
quota_bytes?: number;
description?: string;
status?: "active" | "archived";
};
export type WorkspaceMemberAddPayload = {
user_id: string;
role_code: "admin" | "developer";
};
export type WorkspaceMemberUpdatePayload = {
role_code?: "admin" | "developer";
member_status?: "active" | "disabled" | "locked";
};
export type ScriptItem = {
script_id: string;
workspace_id: string;
@@ -864,6 +913,7 @@ export async function createEmployee(
display_name: string;
email?: string | null;
role_code: "admin" | "developer";
password: string;
},
): Promise<Employee> {
return apiRequest<Employee>(
@@ -901,6 +951,84 @@ export async function deleteEmployee(
);
}
// ----------------------------------------------------------------------------
// Workspace (Project) Management APIs - 对应 API.md 第七部分系统管理接口
// ----------------------------------------------------------------------------
export async function listWorkspaces(): Promise<Workspace[]> {
return apiRequest<Workspace[]>("/api/v1/platform/workspaces");
}
export async function createWorkspace(
input: WorkspaceCreatePayload,
): Promise<Workspace> {
return apiRequest<Workspace>(
"/api/v1/platform/workspaces",
{ method: "POST", body: JSON.stringify(input) },
);
}
export async function getWorkspace(workspaceId: string): Promise<Workspace> {
return apiRequest<Workspace>(`/api/v1/platform/workspaces/${workspaceId}`);
}
export async function updateWorkspace(
workspaceId: string,
input: WorkspaceUpdatePayload,
): Promise<Workspace> {
return apiRequest<Workspace>(
`/api/v1/platform/workspaces/${workspaceId}`,
{ method: "PATCH", body: JSON.stringify(input) },
);
}
export async function deleteWorkspace(workspaceId: string): Promise<{
workspace_id: string;
deleted: boolean;
}> {
return apiRequest(
`/api/v1/platform/workspaces/${workspaceId}`,
{ method: "DELETE" },
);
}
export async function listWorkspaceMembers(workspaceId: string): Promise<WorkspaceMember[]> {
return apiRequest<WorkspaceMember[]>(
`/api/v1/platform/workspaces/${workspaceId}/members`,
);
}
export async function addWorkspaceMember(
workspaceId: string,
input: WorkspaceMemberAddPayload,
): Promise<WorkspaceMember> {
return apiRequest<WorkspaceMember>(
`/api/v1/platform/workspaces/${workspaceId}/members`,
{ method: "POST", body: JSON.stringify(input) },
);
}
export async function updateWorkspaceMember(
workspaceId: string,
userId: string,
input: WorkspaceMemberUpdatePayload,
): Promise<WorkspaceMember> {
return apiRequest<WorkspaceMember>(
`/api/v1/platform/workspaces/${workspaceId}/members/${userId}`,
{ method: "PATCH", body: JSON.stringify(input) },
);
}
export async function deleteWorkspaceMember(
workspaceId: string,
userId: string,
): Promise<{ user_id: string; deleted: boolean }> {
return apiRequest(
`/api/v1/platform/workspaces/${workspaceId}/members/${userId}`,
{ method: "DELETE" },
);
}
export async function createScheduleNode(
workspaceId: string,
scheduleId: string,
@@ -1207,4 +1335,26 @@ export type WorkspaceBoundApi = {
runId: string,
nodeRunId: string,
) => Promise<ScheduleNodeRunArtifacts>;
// Workspace (Project) Management - 系统管理接口
listWorkspaces: () => Promise<Workspace[]>;
createWorkspace: (input: WorkspaceCreatePayload) => Promise<Workspace>;
updateWorkspace: (
workspaceId: string,
input: WorkspaceUpdatePayload,
) => Promise<Workspace>;
deleteWorkspace: (workspaceId: string) => Promise<{ workspace_id: string; deleted: boolean }>;
listWorkspaceMembers: (workspaceId: string) => Promise<WorkspaceMember[]>;
addWorkspaceMember: (
workspaceId: string,
input: WorkspaceMemberAddPayload,
) => Promise<WorkspaceMember>;
updateWorkspaceMember: (
workspaceId: string,
userId: string,
input: WorkspaceMemberUpdatePayload,
) => Promise<WorkspaceMember>;
deleteWorkspaceMember: (
workspaceId: string,
userId: string,
) => Promise<{ user_id: string; deleted: boolean }>;
};