import { defaultGqlPermission, defaultPermission } from "@tailor-platform/erp-kit/core"; import { db } from "@tailor-platform/sdk"; import { ACQUISITION_COST_VARIANCE_KINDS, acquisitionCostAdjustment, } from "./acquisitionCostAdjustment"; import { costLayer } from "./costLayer"; const builtins = () => { return { acquisitionCostAdjustmentId: db .uuid() .relation({ type: "n-1", toward: { type: acquisitionCostAdjustment, as: "acquisitionCostAdjustment" }, backward: "allocations", }) .description("Adjustment this allocation belongs to"), costLayerId: db .uuid() .relation({ type: "n-1", toward: { type: costLayer, as: "costLayer" }, backward: "acquisitionCostAdjustmentAllocations", }) .description("Cost layer this adjustment adjusts"), amount: db .decimal() .description("Signed variance amount this adjustment distributed to the cost layer"), varianceKind: db .enum(ACQUISITION_COST_VARIANCE_KINDS) .description("Variance kind this allocation distributes"), }; }; export function createAcquisitionCostAdjustmentAllocationType() { return db .table("AcquisitionCostAdjustmentAllocation", { ...builtins(), createdAt: db.fields.timestamps().createdAt, }) .permission(defaultPermission) .gqlPermission(defaultGqlPermission); } export const acquisitionCostAdjustmentAllocation = createAcquisitionCostAdjustmentAllocationType();