@abraca/dabra 0.3.0 → 0.4.0

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.
package/dist/index.d.ts CHANGED
@@ -227,6 +227,8 @@ declare class AbracadabraClient {
227
227
  createChild(docId: string, opts?: {
228
228
  child_id?: string;
229
229
  }): Promise<DocumentMeta>;
230
+ /** List all permissions for a document (requires read access). */
231
+ listPermissions(docId: string): Promise<PermissionEntry[]>;
230
232
  /** Grant or change a user's role on a document (requires Owner). */
231
233
  setPermission(docId: string, opts: {
232
234
  user_id: string;
@@ -648,6 +650,12 @@ interface PublicKeyInfo {
648
650
  deviceName: string | null;
649
651
  revoked: boolean;
650
652
  }
653
+ interface PermissionEntry {
654
+ user_id: string;
655
+ role: "owner" | "editor" | "viewer" | "observer";
656
+ username: string;
657
+ display_name: string | null;
658
+ }
651
659
  interface HealthStatus {
652
660
  status: string;
653
661
  version: string;
@@ -1020,4 +1028,4 @@ declare class CryptoIdentityKeystore {
1020
1028
  clear(): Promise<void>;
1021
1029
  }
1022
1030
  //#endregion
1023
- export { AbracadabraClient, AbracadabraClientConfig, AbracadabraOutgoingMessageArguments, AbracadabraProvider, AbracadabraProviderConfiguration, AuthorizedScope, AwarenessError, CompleteHocuspocusProviderConfiguration, CompleteHocuspocusProviderWebsocketConfiguration, Constructable, ConstructableOutgoingMessage, CryptoIdentity, CryptoIdentityKeystore, DocumentMeta, EffectiveRole, HealthStatus, HocusPocusWebSocket, HocuspocusProvider, HocuspocusProviderConfiguration, HocuspocusProviderWebsocket, HocuspocusProviderWebsocketConfiguration, HocuspocusWebSocket, MessageType, OfflineStore, OutgoingMessageArguments, OutgoingMessageInterface, PendingSubdoc, PublicKeyInfo, StatesArray, SubdocMessage, SubdocRegisteredEvent, UploadInfo, UploadMeta, UserProfile, WebSocketStatus, onAuthenticatedParameters, onAuthenticationFailedParameters, onAwarenessChangeParameters, onAwarenessUpdateParameters, onCloseParameters, onDisconnectParameters, onMessageParameters, onOpenParameters, onOutgoingMessageParameters, onStatelessParameters, onStatusParameters, onSubdocLoadedParameters, onSubdocRegisteredParameters, onSyncedParameters, onUnsyncedChangesParameters };
1031
+ export { AbracadabraClient, AbracadabraClientConfig, AbracadabraOutgoingMessageArguments, AbracadabraProvider, AbracadabraProviderConfiguration, AuthorizedScope, AwarenessError, CompleteHocuspocusProviderConfiguration, CompleteHocuspocusProviderWebsocketConfiguration, Constructable, ConstructableOutgoingMessage, CryptoIdentity, CryptoIdentityKeystore, DocumentMeta, EffectiveRole, HealthStatus, HocusPocusWebSocket, HocuspocusProvider, HocuspocusProviderConfiguration, HocuspocusProviderWebsocket, HocuspocusProviderWebsocketConfiguration, HocuspocusWebSocket, MessageType, OfflineStore, OutgoingMessageArguments, OutgoingMessageInterface, PendingSubdoc, PermissionEntry, PublicKeyInfo, StatesArray, SubdocMessage, SubdocRegisteredEvent, UploadInfo, UploadMeta, UserProfile, WebSocketStatus, onAuthenticatedParameters, onAuthenticationFailedParameters, onAwarenessChangeParameters, onAwarenessUpdateParameters, onCloseParameters, onDisconnectParameters, onMessageParameters, onOpenParameters, onOutgoingMessageParameters, onStatelessParameters, onStatusParameters, onSubdocLoadedParameters, onSubdocRegisteredParameters, onSyncedParameters, onUnsyncedChangesParameters };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abraca/dabra",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "abracadabra provider",
5
5
  "keywords": [
6
6
  "abracadabra",
@@ -4,6 +4,7 @@ import type {
4
4
  UploadMeta,
5
5
  UploadInfo,
6
6
  PublicKeyInfo,
7
+ PermissionEntry,
7
8
  HealthStatus,
8
9
  } from "./types.ts";
9
10
 
@@ -219,6 +220,15 @@ export class AbracadabraClient {
219
220
 
220
221
  // ── Permissions ──────────────────────────────────────────────────────────
221
222
 
223
+ /** List all permissions for a document (requires read access). */
224
+ async listPermissions(docId: string): Promise<PermissionEntry[]> {
225
+ const res = await this.request<{ permissions: PermissionEntry[] }>(
226
+ "GET",
227
+ `/docs/${encodeURIComponent(docId)}/permissions`,
228
+ );
229
+ return res.permissions;
230
+ }
231
+
222
232
  /** Grant or change a user's role on a document (requires Owner). */
223
233
  async setPermission(
224
234
  docId: string,
package/src/types.ts CHANGED
@@ -181,6 +181,13 @@ export interface PublicKeyInfo {
181
181
  revoked: boolean;
182
182
  }
183
183
 
184
+ export interface PermissionEntry {
185
+ user_id: string;
186
+ role: "owner" | "editor" | "viewer" | "observer";
187
+ username: string;
188
+ display_name: string | null;
189
+ }
190
+
184
191
  export interface HealthStatus {
185
192
  status: string;
186
193
  version: string;