Files
social-media/docs/TASKS/organizations/008-database-backed-membership-tiers.md
Jonathan Bourdon 6d92119c9c
All checks were successful
deploy-socialize / image (push) Successful in 1m9s
deploy-socialize / deploy (push) Successful in 19s
feat: add database backed membership tiers
2026-05-07 20:29:53 -04:00

2.0 KiB

Task: Database-backed organization membership tiers

Feature Spec

docs/FEATURES/organizations.md

Goal

Move organization membership tiers and usage limits out of frontend/static logic and into the database so an organization owner can select a tier immediately, before payment-provider integration exists.

Scope

  • Add a persisted membership tier model with seeded tiers and limits.
  • Add an active membership tier relationship on Organization.
  • Add backend APIs to list available tiers and change an organization's active tier.
  • Let organization creation select an initial tier, defaulting to Free.
  • Show the current tier and tier selector on organization usage settings.
  • Regenerate OpenAPI contracts after backend changes.

Likely Files

  • backend/src/Socialize.Api/Modules/Organizations/Data/*
  • backend/src/Socialize.Api/Modules/Organizations/Handlers/*
  • backend/src/Socialize.Api/Migrations/*
  • frontend/src/features/organizations/stores/organizationStore.js
  • frontend/src/features/organizations/views/OrganizationOnboardingView.vue
  • frontend/src/features/organizations/views/OrganizationSettingsView.vue
  • frontend/src/locales/en.json
  • frontend/src/locales/fr.json
  • shared/openapi/openapi.json
  • frontend/src/api/schema.d.ts

Validation

dotnet ef migrations add AddOrganizationMembershipTiers --project backend/src/Socialize.Api/Socialize.Api.csproj --startup-project backend/src/Socialize.Api/Socialize.Api.csproj
dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
cd frontend && npm run build
./scripts/update-openapi.sh

Done When

  • Membership tiers and limits are database-backed.
  • Organizations persist their selected membership tier.
  • Organization owners/billing managers can change tiers from the usage settings page.
  • New organizations can choose an initial tier.
  • Usage limits come from the selected tier, not organization name or frontend constants.
  • EF migration is generated with dotnet ef migrations add.
  • OpenAPI and frontend schema are regenerated.