mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[feature] Status thread mute/unmute functionality (#2278)
* add db models + functions for keeping track of threads * give em the old linty testy * create, remove, check mutes * swagger * testerino * test mute/unmute via api * add info log about new index creation * thread + allow muting of any remote statuses that mention a local account * IsStatusThreadMutedBy -> IsThreadMutedByAccount * use common processing functions in status processor * set = NULL * favee! * get rekt darlings, darlings get rekt * testrig please, have mercy muy liege
This commit is contained in:
@@ -6527,6 +6527,44 @@ paths:
|
||||
summary: View accounts that have faved/starred/liked the target status.
|
||||
tags:
|
||||
- statuses
|
||||
/api/v1/statuses/{id}/mute:
|
||||
post:
|
||||
description: |-
|
||||
Target status must belong to you or mention you.
|
||||
|
||||
Status thread mutes and unmutes are idempotent. If you already mute a thread, muting it again just means it stays muted and you'll get 200 OK back.
|
||||
operationId: statusMute
|
||||
parameters:
|
||||
- description: Target status ID.
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: The now-muted status.
|
||||
schema:
|
||||
$ref: '#/definitions/status'
|
||||
"400":
|
||||
description: bad request; you're not part of the target status thread
|
||||
"401":
|
||||
description: unauthorized
|
||||
"403":
|
||||
description: forbidden
|
||||
"404":
|
||||
description: not found
|
||||
"406":
|
||||
description: not acceptable
|
||||
"500":
|
||||
description: internal server error
|
||||
security:
|
||||
- OAuth2 Bearer:
|
||||
- write:mutes
|
||||
summary: Mute a status's thread. This prevents notifications from being created for future replies, likes, boosts etc in the thread of which the target status is a part.
|
||||
tags:
|
||||
- statuses
|
||||
/api/v1/statuses/{id}/pin:
|
||||
post:
|
||||
description: |-
|
||||
@@ -6703,6 +6741,44 @@ paths:
|
||||
summary: Unstar/unlike/unfavourite the given status.
|
||||
tags:
|
||||
- statuses
|
||||
/api/v1/statuses/{id}/unmute:
|
||||
post:
|
||||
description: |-
|
||||
Target status must belong to you or mention you.
|
||||
|
||||
Status thread mutes and unmutes are idempotent. If you already unmuted a thread, unmuting it again just means it stays unmuted and you'll get 200 OK back.
|
||||
operationId: statusUnmute
|
||||
parameters:
|
||||
- description: Target status ID.
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: string
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: The now-unmuted status.
|
||||
schema:
|
||||
$ref: '#/definitions/status'
|
||||
"400":
|
||||
description: bad request; you're not part of the target status thread
|
||||
"401":
|
||||
description: unauthorized
|
||||
"403":
|
||||
description: forbidden
|
||||
"404":
|
||||
description: not found
|
||||
"406":
|
||||
description: not acceptable
|
||||
"500":
|
||||
description: internal server error
|
||||
security:
|
||||
- OAuth2 Bearer:
|
||||
- write:mutes
|
||||
summary: Unmute a status's thread. This reenables notifications for future replies, likes, boosts etc in the thread of which the target status is a part.
|
||||
tags:
|
||||
- statuses
|
||||
/api/v1/statuses/{id}/unpin:
|
||||
post:
|
||||
operationId: statusUnpin
|
||||
@@ -7336,6 +7412,7 @@ securityDefinitions:
|
||||
read:follows: grant read access to follows
|
||||
read:lists: grant read access to lists
|
||||
read:media: grant read access to media
|
||||
read:mutes: grant read access to mutes
|
||||
read:notifications: grants read access to notifications
|
||||
read:search: grant read access to searches
|
||||
read:statuses: grants read access to statuses
|
||||
@@ -7347,6 +7424,7 @@ securityDefinitions:
|
||||
write:follows: grants write access to follows
|
||||
write:lists: grants write access to lists
|
||||
write:media: grants write access to media
|
||||
write:mutes: grants write access to mutes
|
||||
write:statuses: grants write access to statuses
|
||||
write:user: grants write access to user-level info
|
||||
tokenUrl: https://example.org/oauth/token
|
||||
|
Reference in New Issue
Block a user