92 lines
6.9 KiB
TypeScript
92 lines
6.9 KiB
TypeScript
|
|
import { Provider } from '@angular/core';
|
||
|
|
import { environment } from '../environments/environment';
|
||
|
|
|
||
|
|
import { ADMIN_DASHBOARD_METRICS_GATEWAY } from './features/admin/dashboard/services/admin-dashboard-metrics-gateway.token';
|
||
|
|
import { AdminDashboardMetricsLocalGateway } from './features/admin/dashboard/services/admin-dashboard-metrics.local.gateway';
|
||
|
|
import { ADMIN_MODERATION_GATEWAY } from './features/admin/moderation/services/admin-moderation-gateway.token';
|
||
|
|
import { AdminModerationLocalGateway } from './features/admin/moderation/services/admin-moderation-local.gateway';
|
||
|
|
import { ADMIN_MONITORING_GATEWAY } from './features/admin/monitoring/services/admin-monitoring-gateway.token';
|
||
|
|
import { AdminMonitoringLocalGateway } from './features/admin/monitoring/services/admin-monitoring-local.gateway';
|
||
|
|
import { ADMIN_NOTIFICATIONS_GATEWAY } from './features/admin/notifications/services/admin-notifications-gateway.token';
|
||
|
|
import { AdminNotificationsLocalGateway } from './features/admin/notifications/services/admin-notifications-local.gateway';
|
||
|
|
import { ADMIN_ORDERS_GATEWAY } from './features/admin/orders/services/admin-orders-gateway.token';
|
||
|
|
import { AdminOrdersLocalGateway } from './features/admin/orders/services/admin-orders-local.gateway';
|
||
|
|
import { ADMIN_PRODUCTS_GATEWAY } from './features/admin/products/services/admin-products-gateway.token';
|
||
|
|
import { AdminProductsLocalGateway } from './features/admin/products/services/admin-products-local.gateway';
|
||
|
|
import { ADMIN_TRANSACTIONS_GATEWAY } from './features/admin/transactions/services/admin-transactions-gateway.token';
|
||
|
|
import { AdminTransactionsLocalGateway } from './features/admin/transactions/services/admin-transactions-local.gateway';
|
||
|
|
import { ADMIN_USERS_GATEWAY } from './features/admin/users/services/admin-users-gateway.token';
|
||
|
|
import { AdminUsersLocalGateway } from './features/admin/users/services/admin-users-local.gateway';
|
||
|
|
import { ANALYTICS_GATEWAY } from './core/analytics/services/analytics-gateway.token';
|
||
|
|
import { AnalyticsLocalGateway } from './core/analytics/services/analytics-local.gateway';
|
||
|
|
import { CONNECTOR_GATEWAY } from './core/integrations/services/connector-gateway.token';
|
||
|
|
import { ConnectorLocalGateway } from './core/integrations/services/connector-local.gateway';
|
||
|
|
import { FINANCE_GATEWAY } from './core/finance/services/finance-gateway.token';
|
||
|
|
import { FinanceLocalGateway } from './core/finance/services/finance-local.gateway';
|
||
|
|
import { FX_QUOTE_GATEWAY } from './core/pricing/services/fx-quote-gateway.token';
|
||
|
|
import { FxQuoteLocalGateway } from './core/pricing/services/fx-quote-local.gateway';
|
||
|
|
import { MALL_CONTENT_GATEWAY } from './core/content-modules/services/mall-content-gateway.token';
|
||
|
|
import { MallContentLocalGateway } from './core/content-modules/services/mall-content-local.gateway';
|
||
|
|
import { MARKETPLACE_GATEWAY } from './core/marketplace-registry/services/marketplace-gateway.token';
|
||
|
|
import { MarketplaceLocalGateway } from './core/marketplace-registry/services/marketplace-local.gateway';
|
||
|
|
import { MARKETPLACE_REVISION_GATEWAY } from './core/marketplace-registry/services/marketplace-revision-gateway.token';
|
||
|
|
import { MarketplaceRevisionLocalGateway } from './core/marketplace-registry/services/marketplace-revision-local.gateway';
|
||
|
|
import { OFFER_GATEWAY } from './core/offers/services/offer-gateway.token';
|
||
|
|
import { OfferLocalGateway } from './core/offers/services/offer-local.gateway';
|
||
|
|
import { PARTNER_HIERARCHY_GATEWAY } from './core/partner-hierarchy/services/partner-hierarchy-gateway.token';
|
||
|
|
import { PartnerHierarchyLocalGateway } from './core/partner-hierarchy/services/partner-hierarchy-local.gateway';
|
||
|
|
import { PERMISSION_GATEWAY } from './core/permissions/services/permission-gateway.token';
|
||
|
|
import { PermissionLocalGateway } from './core/permissions/services/permission-local.gateway';
|
||
|
|
import { SELLER_GATEWAY } from './core/sellers/services/seller-gateway.token';
|
||
|
|
import { SellerLocalGateway } from './core/sellers/services/seller-local.gateway';
|
||
|
|
import { SERVER_CART_GATEWAY } from './core/cart/services/server-cart-gateway.token';
|
||
|
|
import { ServerCartLocalGateway } from './core/cart/services/server-cart-local.gateway';
|
||
|
|
import { SOCIAL_IDENTITY_GATEWAY } from './core/identity/services/social-identity-gateway.token';
|
||
|
|
import { SocialIdentityLocalGateway } from './core/identity/services/social-identity-local.gateway';
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Development-only gateway overrides.
|
||
|
|
*
|
||
|
|
* This file is swapped for mock-gateway.providers.production.ts at build time
|
||
|
|
* (see angular.json fileReplacements), the same mechanism
|
||
|
|
* mock-data.interceptor.production.ts already uses. The production copy
|
||
|
|
* imports nothing, so no *LocalGateway class - and none of its seeded
|
||
|
|
* fixtures - can reach a production bundle.
|
||
|
|
*
|
||
|
|
* It used to live inside each token factory as
|
||
|
|
* factory: () => (environment.useMockData ? inject(XLocal) : inject(XApi))
|
||
|
|
* which reads as a toggle but is not one: naming both classes in the factory
|
||
|
|
* keeps both reachable, so every mock shipped regardless of the flag. A
|
||
|
|
* fixture string from partner-hierarchy-local.gateway.ts was verifiably
|
||
|
|
* present in a production build on 2026-08-21.
|
||
|
|
*
|
||
|
|
* useExisting rather than useClass: the local gateways are already
|
||
|
|
* providedIn: 'root' singletons, and an app-level provider for the token
|
||
|
|
* wins over its tree-shakable default.
|
||
|
|
*/
|
||
|
|
export const MOCK_GATEWAY_PROVIDERS: Provider[] = environment.useMockData
|
||
|
|
? [
|
||
|
|
{ provide: ADMIN_DASHBOARD_METRICS_GATEWAY, useExisting: AdminDashboardMetricsLocalGateway },
|
||
|
|
{ provide: ADMIN_MODERATION_GATEWAY, useExisting: AdminModerationLocalGateway },
|
||
|
|
{ provide: ADMIN_MONITORING_GATEWAY, useExisting: AdminMonitoringLocalGateway },
|
||
|
|
{ provide: ADMIN_NOTIFICATIONS_GATEWAY, useExisting: AdminNotificationsLocalGateway },
|
||
|
|
{ provide: ADMIN_ORDERS_GATEWAY, useExisting: AdminOrdersLocalGateway },
|
||
|
|
{ provide: ADMIN_PRODUCTS_GATEWAY, useExisting: AdminProductsLocalGateway },
|
||
|
|
{ provide: ADMIN_TRANSACTIONS_GATEWAY, useExisting: AdminTransactionsLocalGateway },
|
||
|
|
{ provide: ADMIN_USERS_GATEWAY, useExisting: AdminUsersLocalGateway },
|
||
|
|
{ provide: ANALYTICS_GATEWAY, useExisting: AnalyticsLocalGateway },
|
||
|
|
{ provide: CONNECTOR_GATEWAY, useExisting: ConnectorLocalGateway },
|
||
|
|
{ provide: FINANCE_GATEWAY, useExisting: FinanceLocalGateway },
|
||
|
|
{ provide: FX_QUOTE_GATEWAY, useExisting: FxQuoteLocalGateway },
|
||
|
|
{ provide: MALL_CONTENT_GATEWAY, useExisting: MallContentLocalGateway },
|
||
|
|
{ provide: MARKETPLACE_GATEWAY, useExisting: MarketplaceLocalGateway },
|
||
|
|
{ provide: MARKETPLACE_REVISION_GATEWAY, useExisting: MarketplaceRevisionLocalGateway },
|
||
|
|
{ provide: OFFER_GATEWAY, useExisting: OfferLocalGateway },
|
||
|
|
{ provide: PARTNER_HIERARCHY_GATEWAY, useExisting: PartnerHierarchyLocalGateway },
|
||
|
|
{ provide: PERMISSION_GATEWAY, useExisting: PermissionLocalGateway },
|
||
|
|
{ provide: SELLER_GATEWAY, useExisting: SellerLocalGateway },
|
||
|
|
{ provide: SERVER_CART_GATEWAY, useExisting: ServerCartLocalGateway },
|
||
|
|
{ provide: SOCIAL_IDENTITY_GATEWAY, useExisting: SocialIdentityLocalGateway },
|
||
|
|
]
|
||
|
|
: [];
|