1// Test script to trigger Pax8 product sync via Redis
2const Redis = require("ioredis");
3const { v4: uuidv4 } = require('uuid');
5const redisConfig = require('../config/redis');
6const redisSub = new Redis(redisConfig);
7const redisPub = new Redis(redisConfig);
9const tenantId = '00000000-0000-0000-0000-000000000001'; // Independent Business Group
10const vendor = 'Microsoft';
11const force = true; // Force re-sync
12const jobId = uuidv4();
14console.log(`Triggering Pax8 sync job ${jobId}...`);
15console.log(`Tenant: ${tenantId}`);
16console.log(`Vendor: ${vendor}`);
17console.log(`Force: ${force}`);
19// Subscribe to results
20redisSub.subscribe('pax8:sync:result', (err) => {
22 console.error('Failed to subscribe to results:', err);
25 console.log('Listening for sync results...\n');
28redisSub.on('message', (channel, message) => {
29 if (channel === 'pax8:sync:result') {
30 const result = JSON.parse(message);
31 if (result.jobId === jobId) {
32 console.log('\n=== Sync Result ===');
33 console.log('Success:', result.success);
34 console.log('Message:', result.message);
36 console.log('Stats:', result.stats);
39 console.error('Error:', result.error);
41 redisSub.disconnect();
42 redisPub.disconnect();
43 process.exit(result.success ? 0 : 1);
48// Publish sync request
50 redisPub.publish('pax8:sync:request', JSON.stringify({
56 console.log('Sync request published, waiting for worker to process...');