GrantPermissionRequest
in package
implements
JsonSerializable
The `GrantPermissionRequest` schema from the server's OpenAPI document.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $effect : PermissionEffect|null
- $permissionId : string
- $scopeIds : array<string|int, mixed>|null
Methods
- __construct() : mixed
- Constructs a GrantPermissionRequest.
- fromArray() : self
- Rebuilds a GrantPermissionRequest from one decoded JSON object.
- jsonSerialize() : array<string, mixed>
- Renders this object for `json_encode()`.
- toArray() : array<string, mixed>
- Renders this object back to its wire form.
Properties
$effect read-only
public
PermissionEffect|null
$effect
= null
$permissionId read-only
public
string
$permissionId
$scopeIds read-only
public
array<string|int, mixed>|null
$scopeIds
= null
Methods
__construct()
Constructs a GrantPermissionRequest.
public
__construct(string $permissionId[, PermissionEffect|null $effect = null ][, array<int, string>|null $scopeIds = null ]) : mixed
Parameters
- $permissionId : string
-
the server's
permission_idfield - $effect : PermissionEffect|null = null
-
B1:
"allow"(the default) or"deny". A deny grant overrides every allow, at any depth of the resource hierarchy and at equal specificity — it is not most-specific-wins. Seeclaude_dev/deny-override-design.mdfor the precedence table and for why that trade was made. Omitting the field means"allow", so every existing client keeps working unchanged and no migration is required. (optional) - $scopeIds : array<int, string>|null = null
-
the server's
scope_idsfield (optional)
fromArray()
Rebuilds a GrantPermissionRequest from one decoded JSON object.
public
static fromArray(array<string, mixed> $data) : self
Parameters
- $data : array<string, mixed>
-
The raw wire object.
Return values
selfjsonSerialize()
Renders this object for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Any Sensitive it carries stays WRAPPED here, so a log line or a
json_encode($model) in application code prints [SENSITIVE]. The one place a secret
is revealed is ManagementTransport, on the way to the wire
and nowhere else (§27.5).
Return values
array<string, mixed>toArray()
Renders this object back to its wire form.
public
toArray() : array<string, mixed>
§27.4 rule 5: a null property is OMITTED, not emitted as null. On a sparse update those two say opposite things — "leave this alone" versus "set this to nothing" — and only omission means the first.