All files / lib/lambda backfillAttachmentArchives.ts

100% Statements 5/5
0% Branches 0/1
100% Functions 2/2
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                1x 1x   1x   2x             1x              
import { getAttachmentArchiveBackfillPage } from "../attachment-archive/backfill";
import { sendAttachmentArchiveRebuildRequest } from "../attachment-archive/rebuild-queue";
 
type BackfillEvent = {
  afterKey?: string;
  pageSize?: number;
};
 
export const handler = async (event: BackfillEvent = {}) => {
  const page = await getAttachmentArchiveBackfillPage({ afterKey: event.afterKey });
 
  await Promise.all(
    page.packageIds.map((packageId) =>
      sendAttachmentArchiveRebuildRequest({
        packageId,
        source: "backfill",
      }),
    ),
  );
 
  return {
    afterKey: page.afterKey,
    done: page.done,
    enqueuedCount: page.packageIds.length,
    packageIds: page.packageIds,
  };
};