feat(platform): add typed contracts for optional Seller Management module
Architectural foundation only - no UI, no backend, no business logic. Per ADR-001 (Platform -> Marketplace -> Seller hierarchy) and ADR-009 (feature flags / capability guards): Seller is an optional child scope beneath a marketplace, not another tenant. New: - PlatformModulesConfig / SellerManagementModuleConfig (shared/models/config/platform-modules.model.ts) - the modules.sellerManagement.enabled contract, defaults to disabled (DEFAULT_PLATFORM_MODULES_CONFIG). - SellerConfig (shared/models/config/seller.model.ts) - typed shape for the resolved seller scope, mirroring TenantConfig's fields at the subset a seller needs. Frontend never resolves this itself; it only reads what the backend already decided (same convention as tenant resolution, ADR-001). Changed: - BootstrapConfig gained two optional fields: modules?, seller?. Both absent by default - every existing marketplace's bootstrap response is untouched, TypeScript-checked backward compatible (all new fields optional, no existing field types changed). tsc --noEmit clean. No component, facade, service, or route touched - this commit is pure type contracts.
This commit is contained in:
@@ -12,8 +12,10 @@ export * from './localization.model';
|
||||
export * from './navigation.model';
|
||||
export * from './page.model';
|
||||
export * from './permissions.model';
|
||||
export * from './platform-modules.model';
|
||||
export * from './product-page-config.model';
|
||||
export * from './section.model';
|
||||
export * from './seller.model';
|
||||
export * from './seo.model';
|
||||
export * from './static-page.model';
|
||||
export * from './tenant.model';
|
||||
|
||||
Reference in New Issue
Block a user