WFDASH-WEBAPP/scripts/verify-nss-revert.ts
Dave d8e8714720 feat(stock): update pricing logic and transform script for fasteners
- Enhanced `nss-fasteners-pb-import.json` to compute `selling_price` as `cost_price * (1 + 80%)` and included `markup` in the records.
- Updated `nss-fasteners-pb-transform.ts` to allow configurable CSV and output file names via environment variables, improving flexibility for different product runs.
- Added support for uploading photos in the repair detail page, including validation for file types and sizes, and implemented a dialog for creating customer quotes linked to repairs.
- Introduced a new `customer_quote` field in the `Repair` type to link generated quotes back to their respective repairs.

These changes streamline the pricing process and enhance the user experience in managing repairs and quotes.
2026-09-21 12:32:44 +02:00

38 lines
1.4 KiB
TypeScript

import "./_env";
import { getAdminPocketBase } from "../src/lib/server/pocketbase-admin";
async function main() {
const pb = await getAdminPocketBase();
const rows = await pb.collection("stock_items").getList(1, 4, {
filter: 'location = "NSS Fasteners price list - hex nut DIN934 (Grade 8 + A2)"',
sort: "sku",
});
console.log("Sample rows after revert:\n");
for (const r of rows.items) {
console.log("SKU: " + r.sku);
console.log("name: " + JSON.stringify(r.name));
console.log("description:" + JSON.stringify(r.description));
console.log("notes: " + JSON.stringify(r.notes));
console.log("name == description? " + (r.name === r.description ? "YES ✓" : "NO ✗"));
console.log("");
}
const all = await pb.collection("stock_items").getFullList<{
name: string;
description: string;
}>({
filter: 'location = "NSS Fasteners price list - hex nut DIN934 (Grade 8 + A2)"',
fields: "name,description",
batch: 200,
});
const match = all.filter((r) => r.name === r.description).length;
console.log(`Rows where name == description: ${match}/${all.length}`);
const hasPosCode = await pb.collection("stock_items").getList(1, 1, {
filter: 'location = "NSS Fasteners price list - hex nut DIN934 (Grade 8 + A2)" && notes ~ "PosCode:"',
});
console.log(`Rows still containing "PosCode:" in notes: ${hasPosCode.totalItems}`);
}
main().catch((e) => {
console.error(e);
process.exit(1);
});