Epic #705. PUT /api/blog/posts/{id} + BlogService.updateBlogPost(dto) exist, but authors can't edit anything after publishing — no edit affordance on the card or anywhere else. Typos are forever (or a delete-and-repost).
Shape: edit action next to the owner-delete button (#420 pattern: isOwner gate) → reuse the blog-create form prefilled (/blog/edit/:id route, auth-guarded). Decide moderation semantics: does editing a published post re-enter pendingReview for minors' accounts (mirror the create-time DeterminePostStatus logic)?
Note the update endpoint currently has no [Authorize]/ownership check server-side — same class as the create-provenance fix (backend #423); harden it as part of this.
Epic #705. `PUT /api/blog/posts/{id}` + `BlogService.updateBlogPost(dto)` exist, but authors can't edit anything after publishing — no edit affordance on the card or anywhere else. Typos are forever (or a delete-and-repost).
**Shape:** edit action next to the owner-delete button (#420 pattern: `isOwner` gate) → reuse the blog-create form prefilled (`/blog/edit/:id` route, auth-guarded). Decide moderation semantics: does editing a published post re-enter pendingReview for minors' accounts (mirror the create-time `DeterminePostStatus` logic)?
Note the update endpoint currently has no `[Authorize]`/ownership check server-side — same class as the create-provenance fix (backend #423); harden it as part of this.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Epic #705.
PUT /api/blog/posts/{id}+BlogService.updateBlogPost(dto)exist, but authors can't edit anything after publishing — no edit affordance on the card or anywhere else. Typos are forever (or a delete-and-repost).Shape: edit action next to the owner-delete button (#420 pattern:
isOwnergate) → reuse the blog-create form prefilled (/blog/edit/:idroute, auth-guarded). Decide moderation semantics: does editing a published post re-enter pendingReview for minors' accounts (mirror the create-timeDeterminePostStatuslogic)?Note the update endpoint currently has no
[Authorize]/ownership check server-side — same class as the create-provenance fix (backend #423); harden it as part of this.