UNPKG

pure-orm

Version:

A SQL Toolkit based on pure business objects passed to and from stateful data access objects

55 lines (47 loc) 1.55 kB
import { ActualProductVariant } from './actual-product-variant'; import { Shipment } from './shipment'; import { IModel, ICollection, IColumns } from '../../../src/index'; export const tableName: string = 'inventory_level'; export const columns: IColumns = [ 'id', 'inventory_location_id', { column: 'actual_product_variant_id', references: ActualProductVariant }, 'available', { column: 'next_shipment_id', references: Shipment }, 'sellable_when_sold_out', 'updated_date' ]; export class InventoryLevel implements IModel { id: number; inventoryLocationId: number; actualProductVariantId: number; actualProductVariant?: ActualProductVariant; available: number; nextShipmentId: number; nextShipment: Shipment; sellableWhenSoldOut: boolean; updateDate: Date; constructor(props: any) { this.id = props.id; this.inventoryLocationId = props.inventoryLocationId; this.actualProductVariantId = props.actualProductVariantId; this.actualProductVariant = props.actualProductVariant; this.available = props.available; this.nextShipmentId = props.nextShipmentId; this.nextShipment = props.nextShipment; this.sellableWhenSoldOut = props.sellableWhenSoldOut; this.updateDate = props.updateDate; } } export class InventoryLevels implements ICollection<InventoryLevel> { models: Array<InventoryLevel>; constructor({ models }: any) { this.models = models; } } export const inventoryLevelEntity = { tableName, columns, Model: InventoryLevel, Collection: InventoryLevels };