Skip to content

SaaS Entitlements (ConnectSoft.Saas.EntitlementsTemplate)

A Layer 3 SaaS microservice template for the Entitlements bounded context - the per-tenant effective entitlements service. Aggregate root: Entitlement. Topic prefix: entitlements.v1.

It extends ConnectSoft.BaseTemplate via the base-template/ submodule + MSBuild layering. Shared behavior is covered by the Base Template and template layering; this section documents the Entitlements domain.

Responsibility

Maintains one entitlement aggregate per tenant: catalog edition assignments plus tenant-level feature overrides. It consumes Products Catalog events (notably ProductRetiredEvent) and reconciles assignments accordingly.

External references (by id only)

  • TenantId -> Tenants
  • EditionRef / FeatureKey -> Products Catalog

Cross-context coupling

Consumes the published language of Products Catalog via the NuGet package ConnectSoft.Saas.ProductsCatalog.MessagingModel (pinned 1.0.2 in Directory.Packages.props).

Design notes (ADRs)

  • External catalog identifiers (ADR-0002).
  • MassTransit product-catalog reaction saga (ADR-0003).
  • Tenant-scoped entitlements (ADR-0004).

dotnet new

dotnet new install ConnectSoft.Saas.EntitlementsTemplate.Installer
dotnet new connectsoft-saas-entitlements -n ConnectSoft.MyEntitlementsService

See also