Fixes: FRMW-2848 Co-authored-by: Harminder Virk <1706381+thetutlage@users.noreply.github.com>
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { model } from "@medusajs/framework/utils"
|
|
import InventoryItem from "./inventory-item"
|
|
|
|
const InventoryLevel = model
|
|
.define("InventoryLevel", {
|
|
id: model.id({ prefix: "ilev" }).primaryKey(),
|
|
location_id: model.text(),
|
|
stocked_quantity: model.bigNumber().default(0),
|
|
reserved_quantity: model.bigNumber().default(0),
|
|
incoming_quantity: model.bigNumber().default(0),
|
|
metadata: model.json().nullable(),
|
|
inventory_item: model.belongsTo(() => InventoryItem, {
|
|
mappedBy: "location_levels",
|
|
}),
|
|
available_quantity: model.bigNumber().computed(),
|
|
})
|
|
.indexes([
|
|
{
|
|
name: "IDX_inventory_level_inventory_item_id",
|
|
on: ["inventory_item_id"],
|
|
where: "deleted_at IS NULL",
|
|
},
|
|
{
|
|
name: "IDX_inventory_level_location_id",
|
|
on: ["location_id"],
|
|
where: "deleted_at IS NULL",
|
|
},
|
|
{
|
|
name: "IDX_inventory_level_location_id_inventory_item_id",
|
|
on: ["inventory_item_id", "location_id"],
|
|
unique: true,
|
|
where: "deleted_at IS NULL",
|
|
},
|
|
])
|
|
|
|
export default InventoryLevel
|