feat(canvas): add shared workspace access and controls
This commit is contained in:
@@ -85,6 +85,60 @@ export type Project = ProjectSummary & {
|
||||
messages: AgentMessage[];
|
||||
};
|
||||
|
||||
export type SharePermission = "private" | "canvas" | "viewer" | "editor" | "owner";
|
||||
|
||||
export type ShareCapabilities = {
|
||||
canViewCanvas: boolean;
|
||||
canViewChat: boolean;
|
||||
canEdit: boolean;
|
||||
canManage: boolean;
|
||||
};
|
||||
|
||||
export type ShareAccess = {
|
||||
permission: Exclude<SharePermission, "private">;
|
||||
source: "owner" | "member" | "link";
|
||||
authenticated: boolean;
|
||||
isOwner: boolean;
|
||||
capabilities: ShareCapabilities;
|
||||
};
|
||||
|
||||
export type SharePerson = {
|
||||
id: string;
|
||||
userId?: string;
|
||||
name?: string;
|
||||
identifier?: string;
|
||||
avatarUrl?: string;
|
||||
permission: Exclude<SharePermission, "private">;
|
||||
createdAt?: string;
|
||||
};
|
||||
|
||||
export type ShareVisitor = {
|
||||
id: string;
|
||||
userId?: string;
|
||||
name: string;
|
||||
identifier?: string;
|
||||
avatarUrl?: string;
|
||||
visitCount: number;
|
||||
lastSeenAt: string;
|
||||
};
|
||||
|
||||
export type ShareSettings = {
|
||||
projectId: string;
|
||||
shareId?: string;
|
||||
linkPermission: Exclude<SharePermission, "owner">;
|
||||
owner: SharePerson;
|
||||
members: SharePerson[];
|
||||
visitorCount: number;
|
||||
updatedAt?: string;
|
||||
};
|
||||
|
||||
export type ResolveShareResponse = {
|
||||
shareId: string;
|
||||
project: Project;
|
||||
access: ShareAccess;
|
||||
updatedAt: string;
|
||||
};
|
||||
|
||||
export type QuickAction = {
|
||||
id: string;
|
||||
label: string;
|
||||
|
||||
Reference in New Issue
Block a user