Files
cfw-autumn/shared/models/billingModels/insertFullCusProductContext.ts
2025-12-13 12:18:06 +00:00

31 lines
1.0 KiB
TypeScript

import type { ApiVersion } from "../../api/versionUtils/ApiVersion";
import type { FullCustomer } from "../cusModels/fullCusModel";
import type { AttachReplaceable } from "../cusProductModels/cusEntModels/replaceableSchema";
import type {
CollectionMethod,
CusProductStatus,
} from "../cusProductModels/cusProductEnums";
import type { FeatureOptions } from "../cusProductModels/cusProductModels";
import type { FullProduct } from "../productModels/productModels";
export interface InsertFullCusProductContext {
fullCus: FullCustomer;
product: FullProduct;
featureQuantities: FeatureOptions[];
replaceables: AttachReplaceable[];
}
export interface InsertCusProductOptions {
subscriptionId?: string;
subscriptionScheduleId?: string;
isCustom?: boolean;
resetCycleAnchor?: number; // Unix timestamp of the next
canceledAt?: number;
status?: CusProductStatus; // Used for scheduling product
startsAt?: number; // Used for scheduling product
// Optional + random
apiSemver?: ApiVersion;
collectionMethod?: CollectionMethod;
}