wordeck/apps/api/tests
Till JS e3c84a9249
Some checks are pending
CI / validate (push) Waiting to run
feat(text-only): Wordeck-Cutoff für Image-Occlusion + Audio + MinIO
Ω-1: Text-Only-Architektur ist scharfgestellt.

Code-Cleanup:
- 4 Components gelöscht: ImageOcclusionEditor, ImageOcclusionView,
  AudioFrontView, AudioUploadField
- 3 API-Module gelöscht: routes/media.ts, services/storage.ts,
  db/schema/media.ts (mediaRefs + mediaFiles), routes/decks-from-image.ts
- packages/cards-domain: image-occlusion.ts + Tests entfernt,
  CardTypeSchema reduziert auf basic/basic-reverse/cloze/typing/multiple-choice
- 3 Web-Routes (study/[deckId], cards/new, cards/[id]/edit) bereinigt:
  Image-Occlusion- und Audio-Front-Code-Pfade raus
- anki/import.ts text-only: kein Media-Upload mehr, img/sound werden
  ersatzlos gestrippt
- 21 weitere Files bereinigt: dto, health, me, dsgvo, tools, cards,
  decks, share-handlers, marketplace/decks, marketplace/fork,
  marketplace/pull-requests, AnkiImport.svelte

DB-Migrationen (noch nicht gerannt, idempotent):
- 0004_wordeck_text_only.sql: DELETE image-occlusion/audio (0 betroffene
  Rows), media_files-Tabelle DROP, media_refs-Spalte DROP, CHECK
  cards.type IN (basic, basic-reverse, cloze, type-in, multiple-choice)
- 0005_wordeck_license_rename.sql: Cardecky-Personal-Use-1.0 →
  Wordeck-Personal-Use-1.0, Cardecky-Pro-Only-1.0 → Wordeck-Pro-Only-1.0,
  Default + CHECK + Backfill

Infrastruktur:
- docker-compose.production.yml: cards-minio-Service raus, MinIO-Envs
  aus cards-api raus, CARDS_PUBLIC_URL + PUBLIC_CARDS_API_URL auf
  wordeck.com / api.wordeck.com
- App-Manifest schon vorher auf wordeck umgestellt

Type-Check grün (api, domain, web — alle 3 Sub-Pakete).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:23:30 +02:00
..
cards.test.ts Phase 9l: Image-Occlusion als 4. MVP-CardType 2026-05-08 18:50:45 +02:00
decks.test.ts Phase 3: Domain-Modell + Decks/Cards/Reviews-CRUD 2026-05-08 14:21:54 +02:00
dsgvo.test.ts Phase 5: Föderations-Endpunkte — Cards ist föderierter Peer 2026-05-08 17:10:35 +02:00
health.test.ts Phase 0+1: Repo-Skelett für Cards-Greenfield 2026-05-08 14:08:41 +02:00
lib-reviews.test.ts test(api): Unit-Tests für makeInitialReviewRows und fetchUrlContent 2026-05-10 16:40:30 +02:00
lib-url-fetch.test.ts test(api): Unit-Tests für makeInitialReviewRows und fetchUrlContent 2026-05-10 16:40:30 +02:00
marketplace-diff.test.ts Phase 12 R3: Marketplace γ + δ — Discovery + Engagement + Subscribe + Smart-Merge 2026-05-09 15:27:39 +02:00
marketplace-semver.test.ts Phase 12 R4: Marketplace ε — Pull-Requests + Card-Discussions 2026-05-09 15:50:16 +02:00
marketplace-slug.test.ts Phase 12 R2: Marketplace-Backend α + β — Authors + Deck-Init + Publish 2026-05-09 15:13:58 +02:00
marketplace-version-hash.test.ts Phase 12 R2: Marketplace-Backend α + β — Authors + Deck-Init + Publish 2026-05-09 15:13:58 +02:00
me.test.ts Phase 9e: Account-Page mit DSGVO-Self-Service 2026-05-08 18:03:41 +02:00
rate-limit.test.ts security(cards): fail-secure dev-stub, headers, rate-limit, dsgvo audit 2026-05-12 16:56:03 +02:00
reviews.test.ts Phase 3: Domain-Modell + Decks/Cards/Reviews-CRUD 2026-05-08 14:21:54 +02:00
search.test.ts Phase 5: Föderations-Endpunkte — Cards ist föderierter Peer 2026-05-08 17:10:35 +02:00
setup.ts security(cards): fail-secure dev-stub, headers, rate-limit, dsgvo audit 2026-05-12 16:56:03 +02:00
share.test.ts Phase 5: Föderations-Endpunkte — Cards ist föderierter Peer 2026-05-08 17:10:35 +02:00
tools.test.ts Phase 5: Föderations-Endpunkte — Cards ist föderierter Peer 2026-05-08 17:10:35 +02:00