Entitlements

Backend gap: no Entitlement.svc/GetList exists, so this view loads the resolved signed bundle for a client (Feature / Enabled / Quota). Overrides are written via Entitlement.svc/Save (source = AdminOverride) and logged to audit.
@if (loaded()) { }
@if (loading()) {

Loading bundle…

} @else if (loaded()) {
@if (filtered().length === 0) { } @else { @for (i of filtered(); track i.Feature) { } }
Feature CodeEnabledQuota / Value
No resolved entitlements.
{{ i.Feature }} {{ i.Quota || '—' }}
} @if (showForm()) {

Admin Override Entitlement

@if (editorFeatureType() === FeatureType.Boolean) { } @else { @if (form.controls.FeatureValue.hasError('invalidJson')) { Invalid JSON } }
}