Class LaravelUi5\Sdk\Odata\ScopedAbstractEntitySet

abstract
readonly
extends AbstractEntitySet

SDK-flavored {@see AbstractEntitySet} that interposes row-level scoping between the author's source query and odata's pipeline.

Subclasses implement {@see baseQuery()} (the unscoped Builder) and may carry at most one scope attribute. Two families are recognized, read against distinct SDK tables:

  • Partner-scope family — attributes implementing {@see PartnerScopeAttributeInterface} (#[ScopedToActor], #[ScopedToOrgActors], …). Routes through {@see PartnerScopeApplier}. Resolves against sdk_partner_relationships (the actor's graph position).
    • Role-scope family — #[ScopedByRole(role, contextType)]. Routes through {@see RoleScopeApplier}. Resolves against sdk_role_assignments (the actor's security-role grants).

The two families are deliberately kept unrelated — they read different tables and answer different questions ("who is this actor" vs "what does this actor have permission over"). Mixing both on one entity set is a configuration error and throws.

Absent any scope attribute, query() returns baseQuery() unchanged. odata sees a Builder come out and applies its standard $filter / $orderby / $skip / $top pipeline on top.

See https://laravelui5.com/sdk/security/scoped-entity-sets for the partner-scope family, the consumer recipe and the design rationale.

  • LaravelUi5\OData\Service\AbstractEntitySet
    • LaravelUi5\Sdk\Odata\ScopedAbstractEntitySet
      • LaravelUi5\Sdk\Partners\OData\UserAttachedPartnersSet
      • LaravelUi5\Sdk\Partners\OData\PartnerColleaguesSet
Methods