feat(233): POST /trackings — Pakete manuell anlegen #235

Merged
admin-mrrm merged 1 commit from feat-233-trackings-post into main 2026-05-12 22:13:03 +02:00
Owner

Closes #233

Summary

  • POST /trackings Endpoint mit DTO (trackingNumber required, carrier+note optional) und 409 bei (owner, trackingNumber)-Kollision
  • Drizzle-Migration 0010: parcel_trackings.note (text)
  • useCreateTracking-Hook + ein-/ausklappbare „+ Paket"-Form auf TrackingListScreen — wird automatisch von web (#230) und mobile geteilt
  • Provider-Registrierung übernimmt der bestehende TrackingSyncCron beim nächsten Run

TDD

  • 3 Service-Specs (Happy-Path mit Carrier+Note, ohne, Conflict)
  • 2 Controller-Specs (Delegation + Pass-through)

Tests

  • pnpm --filter @mrrmlab/api test -- tracking → 72 passed
  • typecheck: api, api-client, feature-tracking, web, mobile sauber
Closes #233 ## Summary - `POST /trackings` Endpoint mit DTO (`trackingNumber` required, `carrier`+`note` optional) und 409 bei (owner, trackingNumber)-Kollision - Drizzle-Migration 0010: `parcel_trackings.note` (text) - `useCreateTracking`-Hook + ein-/ausklappbare „+ Paket"-Form auf `TrackingListScreen` — wird automatisch von web (#230) und mobile geteilt - Provider-Registrierung übernimmt der bestehende `TrackingSyncCron` beim nächsten Run ## TDD - 3 Service-Specs (Happy-Path mit Carrier+Note, ohne, Conflict) - 2 Controller-Specs (Delegation + Pass-through) ## Tests - `pnpm --filter @mrrmlab/api test -- tracking` → 72 passed - typecheck: api, api-client, feature-tracking, web, mobile sauber
feat(233): POST /trackings — Pakete manuell anlegen
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
b6a69c0011
Service.create + ConflictException bei (owner, trackingNumber)-Kollision;
Controller-Endpoint mit CreateTrackingDto (trackingNumber, optional
carrier+note); neue `note`-Spalte in parcel_trackings via Migration 0010.

api-client.trackings.create() + useCreateTracking-Hook;
TrackingListScreen bekommt eine ein-/ausklappbare "+ Paket"-Form für
web und mobile (shared component). Registrierung beim Provider übernimmt
der bestehende TrackingSyncCron beim nächsten Run.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
admin-mrrm/mrrmlabapp!235
No description provided.