Files
barker/bookie/src/app/temporal-product/temporal-product.ts
2026-01-26 07:07:33 +00:00

69 lines
1.5 KiB
TypeScript

import { MenuCategory } from '../core/menu-category';
import { SaleCategory } from '../core/sale-category';
export class Product {
id: string | undefined;
versionId?: string;
name: string;
fraction_units: string;
saleCategory?: SaleCategory;
sortOrder: number;
validFrom: string | null;
validTill: string | null;
public constructor(init?: Partial<Product>) {
this.id = undefined;
this.name = '';
this.fraction_units = '';
this.sortOrder = 0;
this.validFrom = null;
this.validTill = null;
Object.assign(this, init);
}
}
export class StockKeepingUnit {
id: string | undefined;
versionId?: string;
units: string;
fraction: number;
productYield: number;
costPrice: number;
salePrice: number;
menuCategory?: MenuCategory;
sortOrder: number;
hasHappyHour: boolean;
isNotAvailable: boolean;
validFrom: string | null;
validTill: string | null;
public constructor(init?: Partial<StockKeepingUnit>) {
this.units = '';
this.fraction = 1;
this.productYield = 1;
this.costPrice = 0;
this.salePrice = 0;
this.sortOrder = 0;
this.hasHappyHour = false;
this.isNotAvailable = false;
this.validFrom = null;
this.validTill = null;
Object.assign(this, init);
}
}
export class TemporalProduct {
products: Product[];
skus: StockKeepingUnit[];
public constructor(init?: Partial<TemporalProduct>) {
this.products = [];
this.skus = [];
Object.assign(this, init);
}
}