Skip to content

Commit b93814a

Browse files
author
oluwaseyi1996-netizen
committed
fix: add missing enqueueDonationMatching import and implementation
1 parent e3d3dd5 commit b93814a

3 files changed

Lines changed: 16 additions & 0 deletions

File tree

backend/src/routes/donations.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const { enqueueProfileUpdate } = require("../services/profileQueue");
1414
const { enqueuePushNotification } = require("../services/pushQueue");
1515
const { server } = require("../services/stellar");
1616
const { AppError } = require("../errors");
17+
const { enqueueDonationMatching } = require("../services/matchQueue");
1718
const donationLimiter = createRateLimiter(10, 1); // 10 requests per minute
1819

1920
// Local EventEmitter used by both the POST /api/donations handler and the

backend/src/routes/donations.test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ jest.mock("../services/pushQueue", () => ({
2020
enqueuePushNotification: jest.fn().mockResolvedValue(undefined),
2121
}));
2222

23+
jest.mock("../services/matchQueue", () => ({
24+
enqueueDonationMatching: jest.fn().mockResolvedValue("job-id"),
25+
}));
26+
2327
const { server } = require("../services/stellar");
2428
const pool = require("../db/pool");
2529
const { computeBadges } = require("../services/store");

backend/src/services/indexerDonationHandler.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const { checkAndDeliverMilestones } = require("./webhook");
2020
const { Counter } = require("prom-client");
2121
const { registry } = require("./metrics");
2222
const logger = require("../logger");
23+
const { enqueueDonationMatching } = require("./matchQueue");
2324

2425
// Prometheus metric for tracking processed donations
2526
const indexerDonationsProcessed = new Counter({
@@ -164,6 +165,16 @@ async function handleDonation(projectId, op, { isNative, isUSDC, isBackfill = fa
164165

165166
checkAndDeliverMilestones(projectId).catch(() => {});
166167

168+
if (isNative) {
169+
enqueueDonationMatching(projectId, amount, donorAddress, txHash)
170+
.catch((err) => {
171+
logger.error(
172+
{ event: "matching_enqueue_failed", err, projectId, donorAddress },
173+
"Failed to enqueue donation matching job",
174+
);
175+
});
176+
}
177+
167178
return { donationId, amount, currency, source };
168179
} catch (err) {
169180
if (inTransaction) await client.query("ROLLBACK");

0 commit comments

Comments
 (0)