Layer 2 — Content Types
Multi-bundle group content entity type for Waaseyaa applications.
Defines two entity types:
group— the content entity. Bundle-aware (bundleEntityType: 'group_type'), keyed bygid/uuid, labeled byname.group_type— the config entity that declares bundle identities.
The package ships with zero pre-registered bundles and zero bundle-scoped fields. Consuming applications create GroupType config entities and register bundle-scoped fields via EntityTypeManager::addBundleFields($entityTypeId, $bundle, $fields). Bundle-scoped columns land in per-bundle subtables named group__{bundle} as described in docs/specs/bundle-scoped-storage.md.
Key classes: Group, GroupType, GroupsServiceProvider.
$entityTypeManager->addBundleFields('group', 'business', [
new FieldDefinition(
name: 'email',
type: 'string',
targetEntityTypeId: 'group',
targetBundle: 'business',
),
]);The framework materializes group__business on the next install / schema pass. Missing subtables for registered-but-unmaterialized bundles are reported by waaseyaa health:check as MISSING_BUNDLE_SUBTABLE.