@veltdev/sdk 4.5.6-beta.1 → 4.5.6-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import { Observable } from "rxjs";
3
3
  import { Config, DisableLogsConfig } from "../models/data/config.data.model";
4
4
  import { DocumentUser } from "../models/data/document-user.data.model";
5
5
  import { Location } from "../models/data/location.model";
6
- import { User, UserOptions, VeltAuthProvider } from "../models/data/user.data.model";
6
+ import { User, UserOptions, VeltAuthProvider, VeltPermissionProvider } from "../models/data/user.data.model";
7
7
  import { CustomCss } from "../models/data/custom-css.data.model";
8
8
  import { AreaElement } from "../models/element/area-element.model";
9
9
  import { ArrowElement } from "../models/element/arrow-element.model";
@@ -100,6 +100,9 @@ export declare class Snippyly {
100
100
  * To set the data provider.
101
101
  */
102
102
  setDataProviders: (dataProvider: VeltDataProvider) => void;
103
+
104
+ setPermissionProvider: (permissionProvider: VeltPermissionProvider) => void;
105
+
103
106
  /**
104
107
  * To set the encryption provider.
105
108
  */
@@ -90,3 +90,9 @@ export interface LiveStateSingleEditorExternalUserPresence {
90
90
  */
91
91
  userIds?: string[];
92
92
  }
93
+ export interface FetchLiveStateDataRequest {
94
+ /**
95
+ * Unique identifier to identify the state data you are syncing.
96
+ */
97
+ liveStateDataId?: string;
98
+ }
@@ -17,6 +17,7 @@ export interface ResolverResponse<T> {
17
17
  message?: string;
18
18
  timestamp?: number;
19
19
  statusCode: number;
20
+ signature?: string;
20
21
  }
21
22
  export interface RetryConfig {
22
23
  retryCount?: number;
@@ -1,4 +1,6 @@
1
+ import { ResolverResponse } from "./resolver.data.model";
1
2
  import { UserContact } from "./user-contact.data.model";
3
+ import { UserPermissionAccessRole } from "./user-resolver.data.model";
2
4
  export declare class User {
3
5
  /**
4
6
  * Unique user identifier that you use to identify your user.
@@ -109,3 +111,23 @@ export interface VeltAuthProvider {
109
111
  retryConfig?: AuthRetryConfig;
110
112
  generateToken?: () => Promise<string>;
111
113
  }
114
+ export interface VeltPermissionProvider {
115
+ onResourceAccessRequired: (requests: Array<PermissionQuery>) => Promise<ResolverResponse<PermissionResult[]>>;
116
+ retryConfig?: AuthRetryConfig;
117
+ forceRefresh?: boolean;
118
+ }
119
+ export interface PermissionQuery {
120
+ userId: string;
121
+ resource: {
122
+ id: string;
123
+ type: 'folder' | 'document' | 'organization';
124
+ };
125
+ }
126
+ export interface PermissionResult {
127
+ userId: string;
128
+ resourceId: string;
129
+ type: 'folder' | 'document' | 'organization';
130
+ accessRole?: UserPermissionAccessRole;
131
+ expiresAt?: number;
132
+ hasAccess: boolean;
133
+ }
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
  import { ServerConnectionState } from '../../utils/enums';
3
- import { EditorAccessTimer, LiveStateDataConfig, LiveStateSingleEditorExternalUserPresence, SetLiveStateDataConfig, SetUserAsEditorResponse, SingleEditorConfig, UserEditorAccess } from '../data/live-state-data.data.model';
3
+ import { EditorAccessTimer, FetchLiveStateDataRequest, LiveStateDataConfig, LiveStateSingleEditorExternalUserPresence, SetLiveStateDataConfig, SetUserAsEditorResponse, SingleEditorConfig, UserEditorAccess } from '../data/live-state-data.data.model';
4
4
  import { LiveStateEventTypesMap } from '../data/live-state-events.data.model';
5
5
  import { User } from '../data/user.data.model';
6
6
 
@@ -20,6 +20,11 @@ export declare class LiveStateSyncElement {
20
20
  */
21
21
  getLiveStateData$: <T = unknown>(liveStateDataId?: string, liveStateDataConfig?: LiveStateDataConfig) => Observable<T>;
22
22
 
23
+ /**
24
+ * Fetches live state data.
25
+ */
26
+ fetchLiveStateData: <T = unknown>(request?: FetchLiveStateDataRequest) => Promise<T>;
27
+
23
28
  /**
24
29
  * Sets live state data for the provided ID and data.
25
30
  */
@@ -178,6 +183,11 @@ export declare class LiveStateSyncElement {
178
183
  */
179
184
  private _getLiveStateData$;
180
185
 
186
+ /**
187
+ * Private method for fetching live state data.
188
+ */
189
+ private _fetchLiveStateData;
190
+
181
191
  /**
182
192
  * Private method for setting live state data.
183
193
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltdev/sdk",
3
- "version": "4.5.6-beta.1",
3
+ "version": "4.5.6-beta.11",
4
4
  "description": "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.",
5
5
  "homepage": "https://velt.dev",
6
6
  "keywords": [