summaryrefslogtreecommitdiff
path: root/docs/api
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-10-25 16:04:53 +0200
committerLibravatar GitHub <noreply@github.com>2023-10-25 15:04:53 +0100
commitc7b6cd7770cad9bfdc23decffa7c4068752dbbbd (patch)
tree0f039fd34fb0287860fce06ff1c30dedd1882136 /docs/api
parent[bugfix] allow store smaller PNG image than 261 bytes (#2263) (#2298) (diff)
downloadgotosocial-c7b6cd7770cad9bfdc23decffa7c4068752dbbbd.tar.xz
[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
Diffstat (limited to 'docs/api')
-rw-r--r--docs/api/swagger.yaml78
1 files changed, 78 insertions, 0 deletions
diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml
index 120513a0c..792714a39 100644
--- a/docs/api/swagger.yaml
+++ b/docs/api/swagger.yaml
@@ -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