UNPKG

@veltdev/sdk

Version:

Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.

71 lines (70 loc) 2.22 kB
import { ResolverConfig, ResolverResponse, RetryConfig } from "./resolver.data.model"; import { User } from "./user.data.model"; export interface UserDataProvider { get(userIds: string[]): Promise<Record<string, User>>; config?: ResolverConfig; resolveTimeout?: number; } export interface AnonymousUserDataProvider { resolveUserIdsByEmail(request: ResolveUserIdsByEmailRequest): Promise<ResolverResponse<Record<string, string>>>; config?: AnonymousUserDataProviderConfig; } export interface AnonymousUserDataProviderConfig { resolveTimeout?: number; getRetryConfig?: RetryConfig; } export interface ResolveUserIdsByEmailRequest { organizationId: string; documentId?: string; folderId?: string; emails: string[]; } export interface GetUserResolverRequest { organizationId: string; userIds: string[]; } export interface GetUserPermissionsRequest { organizationId?: string; folderIds?: string[]; documentIds?: string[]; } export interface GetUserPermissionsResponse { [userId: string]: { folders?: { [folderId: string]: { accessRole?: UserPermissionAccessRole; expiresAt?: number; error?: string; errorCode?: UserPermissionAccessRoleResult; }; }; organization?: { [organizationId: string]: { accessRole?: UserPermissionAccessRole; expiresAt?: number; error?: string; errorCode?: UserPermissionAccessRoleResult; }; }; documents?: { [documentId: string]: { accessRole?: UserPermissionAccessRole; expiresAt?: number; error?: string; errorCode?: UserPermissionAccessRoleResult; }; }; context?: { accessFields?: Array<string>; }; }; } export declare enum UserPermissionAccessRole { EDITOR = "editor", VIEWER = "viewer" } export declare enum UserPermissionAccessRoleResult { DOES_NOT_EXIST = "does_not_exist", PERMISSION_DENIED = "permission_denied", SOMETHING_WENT_WRONG = "something_went_wrong" }