Sangeetha-Grantha

Metadata Value
Track ID TRACK-073
Title Refactor Shared DTOs + DAL Mappers
Status Completed
Created 2026-02-28
Author Sangeetha Grantha Team
Depends On None

TRACK-073: Refactor Shared DTOs + DAL Mappers

Objective

Split SourcingDtos.kt (349 lines) and DtoMappers.kt (411 lines) into focused, sub-300-line files grouped by domain concern.

Motivation

Scope

Phase 1: Tests

Phase 2: Split SourcingDtos.kt

Extract To Contents ~Lines
ExtractionDtos.kt ImportSource, Extraction, CreateExtractionRequestDto, ExtractionStatsDto ~120
EvidenceVotingDtos.kt SourceEvidence, KrithiEvidence, Voting*, QualitySummaryDto ~120
VariantMatchDtos.kt VariantMatch*, VariantMatchReportDto, PaginatedResponse ~110

Phase 3: Split DtoMappers.kt

Extract To Contents ~Lines
CoreEntityMappers.kt Composer, Raga, Tala, Deity, Temple, Tag, Sampradaya, User, Role mappers + enum converters ~130
KrithiDtoMappers.kt Krithi, Notation, Section, LyricVariant, LyricSection mappers ~150
ImportDtoMappers.kt ImportSource, ImportedKrithi, AuditLog, Batch, Job, Task, Event, Cache mappers ~130

Files Changed

Verification

  1. ./gradlew :modules:backend:api:test – 0 failures
  2. ./gradlew :modules:shared:domain:build – compiles
  3. No file exceeds 300 lines