all the haul
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import {
|
||||
TaxCode as CwTaxCode,
|
||||
TaxCodeLevel as CwTaxCodeLevel,
|
||||
} from "../../generated/prisma/client";
|
||||
import { TaxCode as ApiTaxCode } from "../../../api/generated/prisma/client";
|
||||
import { Translation } from "./types";
|
||||
import { skipRow } from "./types";
|
||||
|
||||
type CwTaxCodeWithLevels = CwTaxCode & {
|
||||
levels: CwTaxCodeLevel[];
|
||||
};
|
||||
|
||||
export const taxCodeTranslation: Translation<
|
||||
CwTaxCodeWithLevels,
|
||||
ApiTaxCode
|
||||
> = {
|
||||
values: [
|
||||
{ from: "taxCodeRecId", to: "id" },
|
||||
{
|
||||
from: "taxCodeId",
|
||||
to: "code",
|
||||
process: (value) => value ?? skipRow("taxCodeId is null"),
|
||||
},
|
||||
{
|
||||
from: "codeCaption",
|
||||
to: "codeCaption",
|
||||
process: (value, _, row) =>
|
||||
value ?? (row.taxCodeId as string | null) ?? "",
|
||||
},
|
||||
{ from: "description", to: "description" },
|
||||
{
|
||||
from: "taxCodeRecId",
|
||||
to: "rate",
|
||||
process: (_, __, row) => {
|
||||
const level = (row as unknown as CwTaxCodeWithLevels).levels.find(
|
||||
(l) => l.taxXref !== null
|
||||
);
|
||||
return level ? Number(level.taxRate) : null;
|
||||
},
|
||||
},
|
||||
{ from: "defaultFlag", to: "defaultFlag" },
|
||||
{ from: "enteredBy", to: "createdBy" },
|
||||
{ from: "updatedBy", to: "updatedBy" },
|
||||
{ from: "dateEnteredUtc", to: "createdAt" },
|
||||
{ from: "lastUpdatedUtc", to: "updatedAt" },
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user