waaseyaa / groups
Multi-bundle Group content entity type for Waaseyaa (group + group_type; app-defined bundles)
Requires
- php: >=8.4
- waaseyaa/entity: ^0.1.0-alpha.150
- waaseyaa/entity-storage: ^0.1.0-alpha.150
- waaseyaa/field: ^0.1.0-alpha.150
- waaseyaa/foundation: ^0.1.0-alpha.150
Requires (Dev)
- phpunit/phpunit: ^10.5
- dev-main / 0.1.x-dev
- v0.1.0-alpha.175
- v0.1.0-alpha.174
- v0.1.0-alpha.173
- v0.1.0-alpha.172
- v0.1.0-alpha.171
- v0.1.0-alpha.170
- v0.1.0-alpha.169
- v0.1.0-alpha.168
- v0.1.0-alpha.167
- v0.1.0-alpha.166
- v0.1.0-alpha.165
- v0.1.0-alpha.164
- v0.1.0-alpha.163
- v0.1.0-alpha.162
- v0.1.0-alpha.161
- v0.1.0-alpha.160
- v0.1.0-alpha.159
- v0.1.0-alpha.158
- v0.1.0-alpha.157
- v0.1.0-alpha.156
- v0.1.0-alpha.155
- v0.1.0-alpha.154
- v0.1.0-alpha.153
- v0.1.0-alpha.152
- v0.1.0-alpha.151
- v0.1.0-alpha.150
- v0.1.0-alpha.149
- v0.1.0-alpha.148
This package is auto-updated.
Last update: 2026-05-08 20:50:28 UTC
README
Layer 2 — Content Types
Multi-bundle group content entity type for Waaseyaa applications. This package is framework-agnostic: consuming apps register bundles and fields; it does not target any single product domain.
History: Originally extracted from an early Waaseyaa product codebase; extraction context belongs in this repository’s changelog, not in runtime docs.
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.
Adding a bundle
$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.