Skip to content

Commit 79fdca4

Browse files
committed
docs(spec): regenerate permission.mdx for EffectiveObjectPermission (#3391)
Auto-generated reference doc for the new EffectiveObjectPermissionSchema (`pnpm gen:schema && gen:docs`). Keeps content/docs/references in sync with packages/spec — fixes the check:docs CI gate. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012L8EfEa157Pe6C73qRnaJH
1 parent d9941b1 commit 79fdca4

1 file changed

Lines changed: 24 additions & 2 deletions

File tree

content/docs/references/security/permission.mdx

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ Refined with enterprise data lifecycle controls:
2424
## TypeScript Usage
2525

2626
```typescript
27-
import { AdminScope, FieldPermission, ObjectAccessScope, ObjectPermission, PermissionSet } from '@objectstack/spec/security';
28-
import type { AdminScope, FieldPermission, ObjectAccessScope, ObjectPermission, PermissionSet } from '@objectstack/spec/security';
27+
import { AdminScope, EffectiveObjectPermission, FieldPermission, ObjectAccessScope, ObjectPermission, PermissionSet } from '@objectstack/spec/security';
28+
import type { AdminScope, EffectiveObjectPermission, FieldPermission, ObjectAccessScope, ObjectPermission, PermissionSet } from '@objectstack/spec/security';
2929

3030
// Validate data
3131
const result = AdminScope.parse(data);
@@ -47,6 +47,28 @@ const result = AdminScope.parse(data);
4747
| **assignablePermissionSets** | `string[]` || Allowlist of permission-set names the delegate may hand out |
4848

4949

50+
---
51+
52+
## EffectiveObjectPermission
53+
54+
### Properties
55+
56+
| Property | Type | Required | Description |
57+
| :--- | :--- | :--- | :--- |
58+
| **allowCreate** | `boolean` || Create permission |
59+
| **allowRead** | `boolean` || Read permission |
60+
| **allowEdit** | `boolean` || Edit permission |
61+
| **allowDelete** | `boolean` || Delete permission |
62+
| **allowTransfer** | `boolean` || [RBAC-gated; ENFORCED now via insert/update owner_id guard, #3004] Change record ownership (assign/reassign/disown owner_id) |
63+
| **allowRestore** | `boolean` || [RBAC-gated; operation pending M2] Restore from trash (Undelete) |
64+
| **allowPurge** | `boolean` || [RBAC-gated; operation pending M2] Permanently delete (Hard Delete/GDPR) |
65+
| **viewAllRecords** | `boolean` || View All Data (Bypass Sharing) |
66+
| **modifyAllRecords** | `boolean` || Modify All Data (Bypass Sharing) |
67+
| **readScope** | `Enum<'own' \| 'own_and_reports' \| 'unit' \| 'unit_and_below' \| 'org'>` | optional | [ADR-0057 D1] Read depth: own\|unit\|unit_and_below\|org |
68+
| **writeScope** | `Enum<'own' \| 'own_and_reports' \| 'unit' \| 'unit_and_below' \| 'org'>` | optional | [ADR-0057 D1] Write depth: own\|unit\|unit_and_below\|org |
69+
| **apiOperations** | `Enum<'get' \| 'list' \| 'create' \| 'update' \| 'delete' \| 'upsert' \| 'bulk' \| 'aggregate' \| 'history' \| 'search' \| 'restore' \| 'purge' \| 'import' \| 'export'>[]` | optional | Server-resolved effective API operations for this object (#3391). Present only when the object tightens exposure via apiMethods; absent = default-allow. The frontend renders this effective set, never the raw whitelist. |
70+
71+
5072
---
5173

5274
## FieldPermission

0 commit comments

Comments
 (0)