Files
mercadodevida/project/src/modules/inventory/domain/stock.ts
2026-08-17 22:23:10 +02:00

31 lines
663 B
TypeScript

export type StockState = 'available' | 'reserved' | 'sold' | 'incoming';
export interface StockItem {
id: string;
variantId: string;
available: number;
reserved: number;
sold: number;
incoming: number;
createdAt: Date;
updatedAt: Date;
}
export interface StockCommand {
variantId: string;
quantity: number;
}
export type SetAvailableStockCommand = StockCommand;
export interface Availability {
available: boolean;
availableQuantity: number;
}
export function assertPositiveQuantity(quantity: number): void {
if (!Number.isInteger(quantity) || quantity <= 0) {
throw new Error('Stock quantity must be a positive integer');
}
}