GroupMapping
in package
implements
JsonSerializable
One row of the group-mapping table (G-3, T23.3.4, D-30): a directory group, named by its distinguished name, and the AXIAM group a member of it is put into. **The table is the only way a directory group reaches an AXIAM group.** There is no match by name, no prefix or wildcard, and no AXIAM group is ever created from a directory one: a directory administrator who names a group `admins` gains nothing unless a tenant administrator mapped it here. The DN is stored as the administrator typed it and compared after RFC 4514 normalisation (`axiam_directory::dn`), so `CN=Staff, OU=Groups` and `cn=staff,ou=groups` are the same row.
One DN may map to several AXIAM groups; the same (DN, group) pair twice is refused as redundant.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $directoryGroupDn : string
- $groupId : string
Methods
- __construct() : mixed
- Constructs a GroupMapping.
- fromArray() : self
- Rebuilds a GroupMapping 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
$directoryGroupDn read-only
public
string
$directoryGroupDn
$groupId read-only
public
string
$groupId
Methods
__construct()
Constructs a GroupMapping.
public
__construct(string $directoryGroupDn, string $groupId) : mixed
Parameters
- $directoryGroupDn : string
-
The directory group's distinguished name.
- $groupId : string
-
The AXIAM group of the same tenant a member of that directory group is put into. Checked to exist in the tenant when the configuration is written.
fromArray()
Rebuilds a GroupMapping 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.