Skip to content

Fix Abnahme-Feedback: Timestamps, Offer-Image, Registrierung u. a. - #48

Merged
FriggemannMichael merged 6 commits into
mainfrom
fix/acceptance-feedback
Jul 7, 2026
Merged

Fix Abnahme-Feedback: Timestamps, Offer-Image, Registrierung u. a.#48
FriggemannMichael merged 6 commits into
mainfrom
fix/acceptance-feedback

Conversation

@FriggemannMichael

Copy link
Copy Markdown
Owner

Zusammenfassung

Behebt das Abnahme-Feedback und die im Code-Review gefundenen Abweichungen zur Endpoint-Doku. Alle Punkte sind als Issues dokumentiert und hier als je eigener Commit umgesetzt.

Enthaltene Fixes

Issue Commit Inhalt
Timestamps DATETIME_FORMAT + TIME_ZONE=UTC → alle created_at/updated_at als ...Z
#42 Registration doppelter Username → 400 statt 500; type als ChoiceField
#44 Profiles Customer-Liste liefert uploaded_at
#45 Profiles Business-Liste ohne email/created_at
#47 Profiles type/user/username im Profil-PATCH read-only
#41 Offers PATCH ohne image löscht das Bild nicht mehr (nur explizites null leert)
#46 Offers POST/PATCH-Response auf id, title, image, description, details beschränkt
#43 Reviews IsCustomerUser über Existenz-Query (profilloser User → 403 statt 500)

Zusätzliche Härtungen (ohne Issue): Ablehnung nicht erlaubter Felder beim Order-Update, Queryset-Scoping für profillose User, ordering-Validierung bei Offers, Ordering nach updated_at/rating bei Reviews.

Tests

Verbleibend (separat, nicht in diesem PR)

Robustheits-/Konformitäts-Restpunkte sind weiterhin als offene Issues erfasst, falls gewünscht.

Set DRF DATETIME_FORMAT and switch TIME_ZONE to UTC so created_at and
updated_at match the documented ...Z format across all endpoints.
Fixes #42

Reject a duplicate username with 400 instead of a 500 IntegrityError and
restrict type to the customer/business choices.
Fixes #44
Fixes #45
Fixes #47

Customer list exposes uploaded_at, business list drops email/created_at,
and type/user/username are read-only on the profile detail serializer.
Fixes #41
Fixes #46

Only clear the image when null is sent explicitly, return the documented
write fields, and reject unsupported ordering values.
Reject non-status fields on order update and return no orders for users
without a customer or business profile.
Fixes #43

Support ordering by updated_at/rating and check the customer profile via
an existence query so a profile-less user gets 403 instead of 500.
@FriggemannMichael
FriggemannMichael merged commit a451299 into main Jul 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant