Files
marketplaces/src/app/shared/models/config/bootstrap-config.model.ts

63 lines
2.5 KiB
TypeScript
Raw Normal View History

import { ApiEndpointsConfig } from './api-endpoints.model';
import { BrandingConfig } from './branding.model';
import { CatalogConfig } from './catalog-config.model';
import { CompanyConfig } from './company.model';
import { FeatureFlagsConfig } from './feature-flags.model';
2026-07-10 15:55:38 +04:00
import { MarketplaceFeaturesConfig } from './features-config.model';
import { FooterConfig } from './footer-config.model';
2026-07-10 13:43:53 +04:00
import { HeaderConfig } from './header-config.model';
import { PlatformLayoutConfig } from './layout.model';
import { LocalizationConfig } from './localization.model';
import { NavigationConfig } from './navigation.model';
import { PageConfig } from './page.model';
import { PermissionsConfig } from './permissions.model';
import { PlatformModulesConfig } from './platform-modules.model';
import { ProductPageConfig } from './product-page-config.model';
import { SellerConfig } from './seller.model';
import { SeoConfig } from './seo.model';
import { StaticPagesConfig } from './static-page.model';
import { TenantConfig } from './tenant.model';
import { ThemeConfig } from './theme.model';
import { UserExperienceConfig } from './user-experience-config.model';
import { WidgetRegistryConfig } from './widget-registry.model';
export interface BootstrapConfig {
schemaVersion: string;
generatedAt: string;
published: boolean;
tenant: TenantConfig;
branding: BrandingConfig;
theme: ThemeConfig;
company: CompanyConfig;
featureFlags: FeatureFlagsConfig;
2026-07-10 15:55:38 +04:00
features?: MarketplaceFeaturesConfig;
apiEndpoints: ApiEndpointsConfig;
localization: LocalizationConfig;
seo: SeoConfig;
permissions: PermissionsConfig;
2026-07-10 13:43:53 +04:00
header?: HeaderConfig;
catalog?: CatalogConfig;
layout?: PlatformLayoutConfig;
navigation: NavigationConfig;
footer?: FooterConfig;
productPage?: ProductPageConfig;
userExperience?: UserExperienceConfig;
pages: PageConfig[];
staticPages?: StaticPagesConfig;
widgetRegistry?: WidgetRegistryConfig;
/**
* Optional platform capability modules (e.g. Seller Management). Absent or
* `undefined` means every module is disabled - existing marketplaces that
* never send this field continue to behave exactly as today. See ADR-011.
*/
modules?: PlatformModulesConfig;
/**
* Present only when `modules.sellerManagement.enabled` is true and the
* resolved request scope is beneath a specific seller. Absent for every
* marketplace-level request, including all existing marketplaces. The
* frontend never resolves this itself (ADR-001, ADR-011) - it only reads
* whatever the backend already decided.
*/
seller?: SellerConfig;
}