UNPKG

@veltdev/types

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.

75 lines (74 loc) 2.59 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; accessType?: string; expiresAt?: number; error?: string; errorCode?: UserPermissionAccessRoleResult; }; }; organization?: { [organizationId: string]: { accessRole?: UserPermissionAccessRole; expiresAt?: number; error?: string; errorCode?: UserPermissionAccessRoleResult; }; }; documents?: { [documentId: string]: { accessRole?: UserPermissionAccessRole; accessType?: string; expiresAt?: number; error?: string; errorCode?: UserPermissionAccessRoleResult; }; }; context?: { accessFields?: Array<string>; }; }; } export declare const UserPermissionAccessRole: { readonly EDITOR: "editor"; readonly VIEWER: "viewer"; }; export type UserPermissionAccessRole = (typeof UserPermissionAccessRole)[keyof typeof UserPermissionAccessRole]; export declare const UserPermissionAccessRoleResult: { readonly DOES_NOT_EXIST: "does_not_exist"; readonly PERMISSION_DENIED: "permission_denied"; readonly SOMETHING_WENT_WRONG: "something_went_wrong"; }; export type UserPermissionAccessRoleResult = (typeof UserPermissionAccessRoleResult)[keyof typeof UserPermissionAccessRoleResult];