Preskoči na sadržaj

E11-F2: Blacklist CSV Import

Epic: E11: Blacklist & Security

Size: S (Small)

Problem / Outcome

Bulk import blacklist entries from CSV.

Scope

In-Scope:

  • CSV upload
  • OIB validation (format and checksum)
  • Duplicate detection (in file and database)
  • Import with progress tracking

Out-of-Scope:

  • Incremental import

Acceptance Criteria

  • AC1: Valid CSV rows imported successfully
  • AC2: Invalid OIB checksum flagged as error
  • AC3: Duplicate OIBs (in file or DB) skipped

Data Model Impact

BlacklistImportBatch table:
- id (UUID, PK)
- file_name (VARCHAR)
- total_rows (INTEGER)
- successful_rows (INTEGER)
- failed_rows (INTEGER)
- duplicate_rows (INTEGER)
- error_report_json (JSONB)
- imported_by (UUID, FK)
- imported_at (TIMESTAMP)

CSV format:
- oib (required) - 11-digit Croatian personal ID
- first_name (optional)
- last_name (optional)

Permissions/Roles

  • Admin (BLACKADMIN)

How to Verify

npm test -- --grep "blacklist CSV"

Expected: Valid rows imported, invalid reported.

Dependencies

Implementation Tasks

See E11: Blacklist ## Doc References Security Tasks

Doc References


Last Updated: January 2026