mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[feature] add support for clients editing statuses and fetching status revision history (#3628)
* start adding client support for making status edits and viewing history * modify 'freshest' freshness window to be 5s, add typeutils test for status -> api edits * only populate the status edits when specifically requested * start adding some simple processor status edit tests * add test editing status but adding a poll * test edits appropriately adding poll expiry handlers * finish adding status edit tests * store both new and old revision emojis in status * add code comment * ensure the requester's account is populated before status edits * add code comments for status edit tests * update status edit form swagger comments * remove unused function * fix status source test * add more code comments, move media description check back to media process in status create * fix tests, add necessary form struct tag
This commit is contained in:
@ -9550,6 +9550,112 @@ paths:
|
||||
summary: Create a new status using the given form field parameters.
|
||||
tags:
|
||||
- statuses
|
||||
put:
|
||||
consumes:
|
||||
- application/json
|
||||
- application/x-www-form-urlencoded
|
||||
description: The parameters can also be given in the body of the request, as JSON, if the content-type is set to 'application/json'.
|
||||
operationId: statusEdit
|
||||
parameters:
|
||||
- description: |-
|
||||
Text content of the status.
|
||||
If media_ids is provided, this becomes optional.
|
||||
Attaching a poll is optional while status is provided.
|
||||
in: formData
|
||||
name: status
|
||||
type: string
|
||||
x-go-name: Status
|
||||
- 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
|
||||
name: media_ids
|
||||
type: array
|
||||
x-go-name: MediaIDs
|
||||
- description: |-
|
||||
Array of possible poll answers.
|
||||
If provided, media_ids cannot be used, and poll[expires_in] must be provided.
|
||||
in: formData
|
||||
items:
|
||||
type: string
|
||||
name: poll[options][]
|
||||
type: array
|
||||
x-go-name: PollOptions
|
||||
- description: |-
|
||||
Duration the poll should be open, in seconds.
|
||||
If provided, media_ids cannot be used, and poll[options] must be provided.
|
||||
format: int64
|
||||
in: formData
|
||||
name: poll[expires_in]
|
||||
type: integer
|
||||
x-go-name: PollExpiresIn
|
||||
- default: false
|
||||
description: Allow multiple choices on this poll.
|
||||
in: formData
|
||||
name: poll[multiple]
|
||||
type: boolean
|
||||
x-go-name: PollMultiple
|
||||
- default: true
|
||||
description: Hide vote counts until the poll ends.
|
||||
in: formData
|
||||
name: poll[hide_totals]
|
||||
type: boolean
|
||||
x-go-name: PollHideTotals
|
||||
- description: Status and attached media should be marked as sensitive.
|
||||
in: formData
|
||||
name: sensitive
|
||||
type: boolean
|
||||
x-go-name: Sensitive
|
||||
- description: |-
|
||||
Text to be shown as a warning or subject before the actual content.
|
||||
Statuses are generally collapsed behind this field.
|
||||
in: formData
|
||||
name: spoiler_text
|
||||
type: string
|
||||
x-go-name: SpoilerText
|
||||
- description: ISO 639 language code for this status.
|
||||
in: formData
|
||||
name: language
|
||||
type: string
|
||||
x-go-name: Language
|
||||
- description: Content type to use when parsing this status.
|
||||
enum:
|
||||
- text/plain
|
||||
- text/markdown
|
||||
in: formData
|
||||
name: content_type
|
||||
type: string
|
||||
x-go-name: ContentType
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: The latest status revision.
|
||||
schema:
|
||||
$ref: '#/definitions/status'
|
||||
"400":
|
||||
description: bad request
|
||||
"401":
|
||||
description: unauthorized
|
||||
"403":
|
||||
description: forbidden
|
||||
"404":
|
||||
description: not found
|
||||
"406":
|
||||
description: not acceptable
|
||||
"500":
|
||||
description: internal server error
|
||||
security:
|
||||
- OAuth2 Bearer:
|
||||
- write:statuses
|
||||
summary: Edit an existing status using the given form field parameters.
|
||||
tags:
|
||||
- statuses
|
||||
/api/v1/statuses/{id}:
|
||||
delete:
|
||||
description: |-
|
||||
|
Reference in New Issue
Block a user