import { defaultGqlPermission, defaultPermission } from "@tailor-platform/erp-kit/core"; import { db } from "@tailor-platform/sdk"; import { costLayer } from "./costLayer"; const builtins = () => { return { costLayerId: db .uuid() .relation({ type: "n-1", toward: { type: costLayer, as: "costLayer" }, backward: "fifoCosts", }) .description("Layer this cost row prices"), version: db.int().description("1-based price version within the layer"), unitCost: db.decimal().description("Unit cost of the layer as of this version"), }; }; export function createFifoCostType() { return db .table("FifoCost", { ...builtins(), createdAt: db.fields.timestamps().createdAt, }) .indexes({ fields: ["costLayerId", "version"], unique: true, name: "fifo_cost_layer_version_unique_idx", }) .permission(defaultPermission) .gqlPermission(defaultGqlPermission); } export const fifoCost = createFifoCostType();