@vendasta/store
Version:
Components and data for Store
65 lines (64 loc) • 2.33 kB
TypeScript
import { Addon, AddonKey } from '@vendasta/marketplace-packages';
import { Package } from '../package-details/package';
import { Product, ProductWithParent } from '../shared/product';
export interface SalesPackage {
formattedPrices: string;
packageId: string;
name: string;
icon: string;
productIds: string[];
products: SalesProduct[];
addonsWithNoParent: SalesAddon[];
totalAddons: number;
activationStatus?: StatusNotificationItem;
}
export interface SalesProduct {
formattedPrices: string;
productId: string;
name: string;
icon: string;
tagline: string;
activationStatus?: StatusNotificationItem;
editionId?: string;
editionName?: string;
addons: SalesAddon[];
parentInfo?: ProductParentInfo;
}
export interface ProductParentInfo {
parentId: string;
parentName: string;
parentIconUrl: string;
multipleActivations: boolean;
}
export interface SalesAddon {
parentId: string;
addonId: string;
name: string;
icon: string;
tagline: string;
parentName: string;
parentIcon: string;
multipleActivations: boolean;
activationStatus?: StatusNotificationItem;
}
export interface PackageItemActivationStatus {
packageItemId: string;
status: ActivationStatus;
}
export declare enum ActivationStatus {
SUCCESS = 0,
WARNING = 1,
ERROR = 2
}
export interface StatusNotificationItem {
icon: string;
text: string;
status: ActivationStatus;
}
export declare function buildSalesPackages(packages: Package[], products: Product[], addons: Addon[]): SalesPackage[];
export declare function buildSalesProducts(pkg: Package, products: Product[], addons: Addon[]): SalesProduct[];
export declare function coerceAddonsForAddonKeys(addons: Addon[], addonKeys: AddonKey[]): Addon[];
export declare function buildSalesAddonsWithNoParent(pkg: Package, products: Product[], addons: Addon[]): SalesAddon[];
export declare function buildSalesProductFromProduct(product: Product | ProductWithParent, addons: Addon[]): SalesProduct;
export declare function addStatusesToSalesPackages(salesPackages: SalesPackage[], statuses: PackageItemActivationStatus[]): SalesPackage[];
export declare function addStatusesToSalesProduct(product: SalesProduct, statuses: PackageItemActivationStatus[]): SalesProduct;