Files
marketplaces/src/app/shared/models/config/index.ts
sdarbinyan 4464fed88a 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.
2026-07-26 20:13:56 +04:00

26 lines
921 B
TypeScript

export * from './api-endpoints.model';
export * from './bootstrap-config.model';
export * from './branding.model';
export * from './catalog-config.model';
export * from './company.model';
export * from './feature-flags.model';
export * from './features-config.model';
export * from './footer-config.model';
export * from './header-config.model';
export * from './layout.model';
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';
export * from './theme.model';
export * from './user-experience-config.model';
export * from './widget.model';
export * from './widget-registry.model';