• Administrator's avatar
    refactor(api): extract apiError/boolCodec/logger/paginate helpers — Candidate 1 · c5d94b56
    Administrator authored
    
    
    Five thin service adapters (student/subject/term/story/task) now route
    through three pure helpers:
    
    - apiError.js  — normalize axios errors (status, message, detail, original)
    - boolCodec.js — parse DRF Y/N/true/false/etc. into strict booleans
    - logger.js    — tag-prefixed console output (swap to no-op in tests)
    - paginate.js  — DRF paginated-list walker with page_size:100 + 100-page cap
    
    apiEndpoints lifted from src/api/index.js (was stale) into its own
    endpoints.js single source of truth. Service tests gain 4 new spec
    files (apiError/boolCodec/logger/paginate).
    
    The duplicated fetchAllPages() copy in studentService and taskService
    is now a single import; either delete the old code or accept the
    temporary duplication until a follow-up candidate collapses it.
    Co-Authored-By: default avatarClaude <noreply@anthropic.com>
    c5d94b56
README.md 850 Bytes