import { syncTableUpdates } from "./index"; /** * Example usage of syncTableUpdates * * Usage from CLI: * bun run src/sync-table-updates.ts * * Example: * bun run src/sync-table-updates.ts opportunity 100 * bun run src/sync-table-updates.ts srService 50 * bun run src/sync-table-updates.ts company 10 */ const main = async () => { const args = process.argv.slice(2); if (args.length < 2) { console.error("Usage: bun run src/sync-table-updates.ts "); console.error("\nSupported tables:"); console.error( " - member, cwMember, company, companyAddress, contact, ownerLevel" ); console.error( " - department, productType, productCategory, productSubcategory" ); console.error( " - manufacturer, warehouseBin, productCatalog, productInventory" ); console.error( " - srType, srLocation, srSource, srImpact, srSeverity, srUrgency" ); console.error( " - srBoard, soType, soOppStatus, opportunity, srService, iV_Product" ); console.error(" - ticketNote"); console.error("\nExample: bun run src/sync-table-updates.ts opportunity 100"); process.exit(1); } const table = args[0]; const numRec = Number.parseInt(args[1], 10); if (Number.isNaN(numRec) || numRec <= 0) { console.error("Error: numRec must be a positive integer"); process.exit(1); } try { console.log(`Syncing ${numRec} records from table: ${table}`); console.log("Pulling records ordered by lastUpdatedUTC (most recent first)"); console.log(""); const result = await syncTableUpdates(table, numRec); console.log("\nSync completed!"); console.log(`Inserted/Updated: ${result.insertedOrUpdated}`); console.log(`Skipped: ${result.skipped}`); console.log(`Failed: ${result.failed}`); console.log( `Total: ${result.insertedOrUpdated + result.skipped + result.failed}` ); } catch (error) { console.error("Sync failed:", error); process.exit(1); } }; main();