Skip to Content
Living documentation — last reviewed 2026-05-28
FeaturesExports ImportsExports & Imports — Code Map

Exports & Imports — Code Map

Exports

  • apps/api/src/export/export.module.ts
  • apps/api/src/export/export.controller.ts@Throttle 10/min/IP, enqueue + status endpoints.
  • apps/api/src/export/export.service.ts — enqueue, processExport, getJob, listJobs, email send.
  • apps/api/src/export/export.processor.ts — BullMQ export queue processor.
  • apps/api/src/export/dto/export-config.dto.tsExportMembersDto.
  • Analytics synchronous tab CSV exports:
    • apps/api/src/analytics/analytics.controller.ts@Get('export') handler + local toCsv().

Imports

  • apps/api/src/import/import.module.ts
  • apps/api/src/import/import.controller.ts — provider config, Arbox kick-off, CSV upload + confirm, job status, cancel.
  • apps/api/src/import/import.service.ts — orchestrator: enqueueImport, uploadCsvForPreview, confirmCsvImport, orchestrateImport, orchestrateArboxImport, orchestrateArboxMembersViaManagementApi, orchestrateArboxMembersViaBusinessApi, orchestrateCsvImport, importCsvPlans, importArboxPlans, cancelStalePendingCsvJobs.
  • apps/api/src/import/import.processor.ts — BullMQ import queue processor.
  • apps/api/src/import/import-member.processor.ts — BullMQ import-member queue (per-member fan-out).
  • apps/api/src/import/import-enrich.processor.ts — BullMQ import-enrich queue (Business API enrichment after Management API import).
  • apps/api/src/import/arbox-api.service.ts — HTTP client for both Arbox APIs (loginForManagement, fetchActiveMembersReport, fetchInactiveMembersReport, fetchUsers, …).
  • apps/api/src/import/csv-parse.service.tsparseAndValidate(buffer) + suggestMapping(headers).
  • apps/api/src/import/import-provider-config.service.ts — encrypted credentials CRUD.
  • apps/api/src/import/types/arbox.types.ts — Arbox API response shapes.
  • apps/api/src/import/types/normalized.types.tsNormalizedMemberData.
  • DTOs under apps/api/src/import/dto/:
    • import-config.dto.ts
    • csv-import.dto.ts
    • import-provider-config.dto.ts

Cross-cutting

  • apps/api/src/payments/services/credential-encryption.service.ts — shared encryption for provider credentials (also used by payments).
  • apps/api/src/notifications/email.service.ts + apps/api/src/notifications/templates/export-ready.ts — export email.
  • apps/api/src/r2/r2.service.ts — CSV storage for exports.

Schema

  • libs/db/src/lib/schema/exports.tsexport_jobs.
  • libs/db/src/lib/schema/imports.tsimport_jobs, import_provider_configs.

Queues (BullMQ)

  • export
  • import
  • import-member
  • import-enrich