@basementuniverse/jsonpad-realtime-sdk 1.3.0 → 1.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/README.md CHANGED
@@ -166,3 +166,13 @@ The event object passed to the event listener has the following properties:
166
166
  };
167
167
  }
168
168
  ```
169
+
170
+ ## Guard indexes
171
+
172
+ If a list has any [guard indexes](https://jsonpad.io/documentation/indexing), the
173
+ values they point at are removed from an item's `data` before the event is
174
+ published, so they never reach a realtime client.
175
+
176
+ Realtime connections authenticate with an API token and can't use an identity,
177
+ so there is no realtime equivalent of the API's `includeGuarded` parameter. Read
178
+ a guarded value through the API instead, as the identity that owns the item.
@@ -6,12 +6,20 @@ type EventDetail<T extends object> = {
6
6
 
7
7
  type EventType = 'list-created' | 'list-updated' | 'list-deleted' | 'item-created' | 'item-updated' | 'item-restored' | 'item-deleted';
8
8
 
9
+ /**
10
+ * An item, as it arrives in a realtime event
11
+ *
12
+ * Realtime clients authenticate with an API token and never with an identity,
13
+ * so any value covered by a guard index in the item's list has already been
14
+ * removed from `data` before the event was published
15
+ */
9
16
  type Item = {
10
17
  id: string;
11
18
  createdAt: Date;
12
19
  updatedAt: Date;
13
20
  data: any;
14
21
  description: string;
22
+ tags: string[];
15
23
  version: string;
16
24
  readonly: boolean;
17
25
  activated: boolean;
@@ -49,6 +57,7 @@ type List = {
49
57
  };
50
58
  name: string;
51
59
  description: string;
60
+ tags: string[];
52
61
  pathName: string;
53
62
  schema: any;
54
63
  pinned: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basementuniverse/jsonpad-realtime-sdk",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "JSONPad Realtime SDK for Node and browser",
5
5
  "author": "Gordon Larrigan <gordonlarrigan@gmail.com> (https://gordonlarrigan.com)",
6
6
  "license": "MIT",
package/src/types/item.ts CHANGED
@@ -1,9 +1,17 @@
1
+ /**
2
+ * An item, as it arrives in a realtime event
3
+ *
4
+ * Realtime clients authenticate with an API token and never with an identity,
5
+ * so any value covered by a guard index in the item's list has already been
6
+ * removed from `data` before the event was published
7
+ */
1
8
  export type Item = {
2
9
  id: string;
3
10
  createdAt: Date;
4
11
  updatedAt: Date;
5
12
  data: any;
6
13
  description: string;
14
+ tags: string[];
7
15
  version: string;
8
16
  readonly: boolean;
9
17
  activated: boolean;
package/src/types/list.ts CHANGED
@@ -13,6 +13,7 @@ export type List = {
13
13
  };
14
14
  name: string;
15
15
  description: string;
16
+ tags: string[];
16
17
  pathName: string;
17
18
  schema: any;
18
19
  pinned: boolean;