Skip to content

Extract shared pending export reconciliation logic into PendingExportReconciliationService #263

@JayVDZ

Description

@JayVDZ

Summary

There is duplication in pending export reconciliation logic between:

  • SyncTaskProcessorBase.ProcessPendingExport() - handles confirmation during sync
  • SyncImportTaskProcessor.ReconcilePendingExportsAsync() - handles confirmation during import

Both perform similar work but with different approaches. Consider extracting shared logic into the PendingExportReconciliationService to reduce duplication and ensure consistent behaviour.

Context

This was identified during analysis of the sync processor base class extraction. The sync processors (Full/Delta) share a base class because they have ~90% identical code. The import processor is fundamentally different (connector interaction, pagination, file-based imports) so doesn't benefit from the same base class approach.

However, the pending export reconciliation logic is similar enough that it could be consolidated.

Acceptance Criteria

  • Review both implementations to identify common logic
  • Extract shared functionality into PendingExportReconciliationService
  • Update both callers to use the shared service
  • Ensure consistent behaviour between sync and import reconciliation
  • Add/update tests as needed

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions