@microsoft/rayfin-guide 1.34.0-alpha.1225 → 1.34.0-alpha.1272

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.
@@ -104,7 +104,7 @@ Pass a relative or absolute path to `-t`/`--template` when the template is alrea
104
104
  npx rayfin init my-app -t ./my-template
105
105
  ```
106
106
 
107
- Local templates use the same `rayfin-template.yml` file format as git-backed templates for top-level entries.
107
+ Local templates use the same `rayfin-template.yml` file format as git-backed templates, including grouped entries for nested navigation.
108
108
 
109
109
  > **Bare names resolve as template names, not paths.**
110
110
  > Use `./`, `../`, or an absolute path when pointing at a local directory:
@@ -343,8 +343,7 @@ entries:
343
343
  path: ./templates/fullstack
344
344
  ```
345
345
 
346
- For local template directories, keep entries at the top level of `entries`.
347
- Grouped nested navigation is available for git-backed template sources.
346
+ Local and git-backed template sources both support grouped nested navigation.
348
347
 
349
348
  ### Group entries for nested navigation
350
349
 
@@ -197,24 +197,13 @@ The regeneration step updates tables, relationships, and permissions so subseque
197
197
  Rayfin uses class-level role decorators to generate Data API Builder (DAB) permissions.
198
198
  Use `@role()` directly, or the `@anonymous()` and `@authenticated()` shorthands.
199
199
 
200
- > **Anonymous data access is not currently supported on Fabric.**
201
- > Both `@anonymous(...)` and `@role('anonymous', …)` are accepted at compile time, but `rayfin dev` and `rayfin up`, along with any sub-command that involves creating, updating, or applying data schema, reject any DAB configuration that grants the `anonymous` role. Remove the `@anonymous(...)` decorator (or `@role('anonymous', …)`) from your entities; all access then goes through the `authenticated` role.
202
- >
203
- > The `@anonymous()` shorthand is published from the experimental subpath as a preview of the future supported syntax:
204
- >
205
- > ```typescript
206
- > import { anonymous } from '@microsoft/rayfin-core/experimental';
207
- > ```
208
- >
209
- > The `@role('anonymous', …)` form is also importable from `@microsoft/rayfin-core/experimental` and behaves identically.
210
-
211
200
  ### Public read, authenticated write
212
201
 
213
- The shape below previews the future syntax for public-read access. Anonymous data access is **not currently supported on Fabric**, so applying this schema fails today; remove `@anonymous('read')` to fall back to authenticated-only access.
202
+ Grant unauthenticated callers read access with `@anonymous('read')` while
203
+ keeping writes restricted to the owning authenticated user.
214
204
 
215
205
  ```typescript
216
- import { entity, authenticated, uuid, text } from '@microsoft/rayfin-core';
217
- import { anonymous } from '@microsoft/rayfin-core/experimental';
206
+ import { entity, anonymous, authenticated, uuid, text } from '@microsoft/rayfin-core';
218
207
 
219
208
  @entity()
220
209
  @anonymous('read')
@@ -253,6 +242,7 @@ export class Document {
253
242
  - `@role()` applies to classes.
254
243
  Field visibility is configured through role options.
255
244
  - Only the built-in roles are supported today: `anonymous` and `authenticated`.
245
+ - To use anonymous data with Microsoft Fabric, please reach out to your tenant admin to enable the tenant admin switch "Enable anonymous data access for Fabric Apps"
256
246
 
257
247
  ## Best practices
258
248
 
@@ -27,10 +27,10 @@ Visit and ensure you can view the Timestamp Tracker.
27
27
  Add a `message` field to the **Timestamp** entity in `rayfin/data/Timestamp.ts`.
28
28
 
29
29
  ```typescript
30
- import { entity, authenticated, uuid, text, date } from '@microsoft/rayfin-core';
30
+ import { entity, anonymous, uuid, text, date } from '@microsoft/rayfin-core';
31
31
 
32
32
  @entity()
33
- @authenticated('*')
33
+ @anonymous()
34
34
  export class Timestamp {
35
35
  @uuid() id!: string;
36
36
  @date() timestamp!: Date;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/rayfin-guide",
3
- "version": "1.34.0-alpha.1225",
3
+ "version": "1.34.0-alpha.1272",
4
4
  "description": "Cross-cutting Builder guides for the Rayfin platform — discovered by `@microsoft/rayfin-docs` via the `rayfinDocs` package.json field convention.",
5
5
  "type": "module",
6
6
  "files": [