Files
hatchet-worker/src/workflows/referral-balance-sync.js
2026-03-30 21:41:41 +07:00

39 lines
1.0 KiB
JavaScript

import { hatchet } from '../hatchet-client.js';
import { requestBackendGraphQL } from '../fregat-backend-client.js';
export const referralBalanceSync = hatchet.workflow({
name: 'fregat-referral-balance-sync',
});
referralBalanceSync.task({
name: 'sync-referral-balance',
fn: async (input) => {
const userId = String(input.userId || '');
if (!userId) {
throw new Error('userId is required for referral sync');
}
const data = await requestBackendGraphQL({
userId,
query: `
query ReferralStats {
referralStats {
referrerId
availableBalance
referralsCount
}
}
`,
});
const stats = data.referralStats;
console.log(`[fregat-referral-balance-sync] user=${stats.referrerId} balance=${stats.availableBalance} referrals=${stats.referralsCount}`);
return {
referrerId: stats.referrerId,
availableBalance: stats.availableBalance,
referralsCount: stats.referralsCount,
};
},
});