Skip to content

Getting started

Scaffold

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

Use --recurse-submodules from source. Ensure your NuGet feed has ConnectSoft.Saas.ProductsCatalog.MessagingModel 1.0.2 (see parameters).

Build and run

cd MyService
dotnet build ConnectSoft.Saas.EntitlementsTemplate.slnx
dotnet run --project src/ConnectSoft.Saas.Entitlements.Application

REST is at api/entitlements; gRPC exposes EntitlementManagementService / EntitlementQueryService.

Try it

# create a tenant entitlement, activate, assign a catalog edition
curl -X POST https://localhost:5001/api/entitlements/draft -H "X-Tenant-Id: <tenant>" -d '{ }'
curl -X PUT  https://localhost:5001/api/entitlements/activate -d '{ ... }'
curl -X POST https://localhost:5001/api/entitlements/assign-edition -d '{ "productId": "...", "editionId": "..." }'

SampleEntitlementSeed seeds an entitlement, an assignment, and a feature override against the sample catalog GUIDs.

Next steps

See also