@vendasta/store
Version:
Components and data for Store
57 lines (56 loc) • 2.05 kB
TypeScript
import { Product, Package } from '../';
import { Addon, AddonKey } from '@vendasta/core/marketplace-packages';
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[];
}
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, addons: Addon[]): SalesProduct;
export declare function addStatusesToSalesPackages(salesPackages: SalesPackage[], statuses: PackageItemActivationStatus[]): SalesPackage[];
export declare function addStatusesToSalesProduct(product: SalesProduct, statuses: PackageItemActivationStatus[]): SalesProduct;