MCPcopy Create free account
hub / github.com/Kilo-Org/cloud / processReceiptCheck

Function processReceiptCheck

services/notifications/src/queue-consumer.ts:27–50  ·  view source on GitHub ↗
(env: Env, message: ReceiptCheckMessage)

Source from the content-addressed store, hash-verified

25}
26
27async function processReceiptCheck(env: Env, message: ReceiptCheckMessage): Promise<void> {
28 const accessToken = await env.EXPO_ACCESS_TOKEN.get();
29 const { staleTokens, receiptErrors } = await checkPushReceipts(
30 message.ticketTokenPairs,
31 accessToken
32 );
33
34 if (staleTokens.length > 0) {
35 const db = getWorkerDb(env.HYPERDRIVE.connectionString);
36 await db.delete(user_push_tokens).where(inArray(user_push_tokens.token, staleTokens));
37 console.log(`Receipt check: cleaned up ${staleTokens.length} stale push token(s)`);
38 }
39
40 if (receiptErrors.length > 0) {
41 console.warn('Receipt check returned non-stale Expo receipt error(s)', {
42 errorCount: receiptErrors.length,
43 errors: receiptErrors.map(error => ({
44 ticketId: error.ticketId,
45 errorCode: error.errorCode,
46 message: error.message,
47 })),
48 });
49 }
50}

Callers 1

queueFunction · 0.85

Calls 6

checkPushReceiptsFunction · 0.90
getWorkerDbFunction · 0.90
getMethod · 0.65
deleteMethod · 0.65
logMethod · 0.65
warnMethod · 0.65

Tested by

no test coverage detected