registerJobsFor static method

void registerJobsFor(
  1. DVQueues queues,
  2. DVPrivacy privacy()
)

As registerJobs, running each job on the DVPrivacy privacy returns when it runs -- so a process whose configuration changes after start, an adapter installed late, runs its jobs on the current one.

Implementation

static void registerJobsFor(DVQueues queues, DVPrivacy Function() privacy) {
  const DVJobPayloadCodecs()
    ..register<DVPrivacyErasureRequest>(
      const DVJobPayloadCodec<DVPrivacyErasureRequest>(
        name: DVPrivacyErasureRequest.codecName,
        encode: DVPrivacyErasureRequest.encode,
        decode: DVPrivacyErasureRequest.decode,
      ),
    )
    ..register<DVPrivacyRetentionRequest>(
      const DVJobPayloadCodec<DVPrivacyRetentionRequest>(
        name: DVPrivacyRetentionRequest.codecName,
        encode: DVPrivacyRetentionRequest.encode,
        decode: DVPrivacyRetentionRequest.decode,
      ),
    );
  queues
    ..register<DVPrivacyErasureRequest>((
      DVPrivacyErasureRequest request,
    ) async {
      final DVPrivacy current = privacy();
      current.jobResults.add(
        await current.erase(
          subject: request.subject,
          reason: request.reason,
          requestedAt: request.requestedAt,
          requestedBy: request.requestedBy,
          runBy: request.runBy,
        ),
      );
    })
    ..register<DVPrivacyRetentionRequest>((
      DVPrivacyRetentionRequest request,
    ) async {
      await privacy().sweepRetention(
        batchSize: request.batchSize,
        maxBatches: request.maxBatches,
      );
    });
}