commit 7ca5bac7c678dff0e9fb33b3cf5824165ca9d3f1
parent 7b72ba4ab2516c6fe72c8a507ec6b981ec997792
Author: tobi <31960611+tsmethurst@users.noreply.github.com>
Date: Fri, 22 Jul 2022 13:43:51 +0200
[bugfix] Fix Toot CLI media attachments not working properly (#726)
Diffstat:
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml
@@ -161,6 +161,10 @@ definitions:
description: |-
Array of Attachment ids to be attached as media.
If provided, status becomes optional, and poll cannot be used.
+
+ If the status is being submitted as a form, the key is 'media_ids[]',
+ but if it's json or xml, the key is 'media_ids'.
+
in: formData
items:
type: string
@@ -422,6 +426,10 @@ definitions:
description: |-
Array of Attachment ids to be attached as media.
If provided, status becomes optional, and poll cannot be used.
+
+ If the status is being submitted as a form, the key is 'media_ids[]',
+ but if it's json or xml, the key is 'media_ids'.
+
in: formData
items:
type: string
@@ -3531,6 +3539,9 @@ paths:
- description: |-
Array of Attachment ids to be attached as media.
If provided, status becomes optional, and poll cannot be used.
+
+ If the status is being submitted as a form, the key is 'media_ids[]',
+ but if it's json or xml, the key is 'media_ids'.
in: formData
items:
type: string
diff --git a/internal/api/client/status/statuscreate_test.go b/internal/api/client/status/statuscreate_test.go
@@ -313,7 +313,7 @@ func (suite *StatusCreateTestSuite) TestAttachNewMediaSuccess() {
ctx.Request.Header.Set("accept", "application/json")
ctx.Request.Form = url.Values{
"status": {"here's an image attachment"},
- "media_ids": {attachment.ID},
+ "media_ids[]": {attachment.ID},
}
suite.statusModule.StatusCreatePOSTHandler(ctx)
diff --git a/internal/api/model/status.go b/internal/api/model/status.go
@@ -144,8 +144,12 @@ type StatusCreateRequest struct {
Status string `form:"status" json:"status" xml:"status"`
// Array of Attachment ids to be attached as media.
// If provided, status becomes optional, and poll cannot be used.
+ //
+ // If the status is being submitted as a form, the key is 'media_ids[]',
+ // but if it's json or xml, the key is 'media_ids'.
+ //
// in: formData
- MediaIDs []string `form:"media_ids" json:"media_ids" xml:"media_ids"`
+ MediaIDs []string `form:"media_ids[]" json:"media_ids" xml:"media_ids"`
// Poll to include with this status.
// swagger:ignore
Poll *PollRequest `form:"poll" json:"poll" xml:"poll"`