Merge pull request #1606 from turt2live/travis/c2s/room-tags

Update the room tagging documentation
pull/1573/head
Travis Ralston 6 years ago committed by GitHub
commit afa16f1e4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -43,14 +43,14 @@ paths:
required: true required: true
description: |- description: |-
The id of the user to get tags for. The access token must be The id of the user to get tags for. The access token must be
authorized to make requests for this user id. authorized to make requests for this user ID.
x-example: "@alice:example.com" x-example: "@alice:example.com"
- in: path - in: path
type: string type: string
name: roomId name: roomId
required: true required: true
description: |- description: |-
The id of the room to get tags for. The ID of the room to get tags for.
x-example: "!726s6s6q:example.com" x-example: "!726s6s6q:example.com"
responses: responses:
200: 200:
@ -60,13 +60,23 @@ paths:
type: object type: object
properties: properties:
tags: tags:
title: Tags
type: object type: object
additionalProperties:
title: Tag
type: object
properties:
order:
type: number
format: float
description: |-
A number in a range ``[0,1]`` describing a relative
position of the room under the given tag.
additionalProperties: true
examples: examples:
application/json: { application/json: {
"tags": { "tags": {
"m.favourite": {}, "m.favourite": {"order": 0.1},
"u.Work": {"order": "1"}, "u.Work": {"order": 0.7},
"u.Customers": {} "u.Customers": {}
} }
} }
@ -87,14 +97,14 @@ paths:
required: true required: true
description: |- description: |-
The id of the user to add a tag for. The access token must be The id of the user to add a tag for. The access token must be
authorized to make requests for this user id. authorized to make requests for this user ID.
x-example: "@alice:example.com" x-example: "@alice:example.com"
- in: path - in: path
type: string type: string
name: roomId name: roomId
required: true required: true
description: |- description: |-
The id of the room to add a tag to. The ID of the room to add a tag to.
x-example: "!726s6s6q:example.com" x-example: "!726s6s6q:example.com"
- in: path - in: path
type: string type: string
@ -102,7 +112,7 @@ paths:
required: true required: true
description: |- description: |-
The tag to add. The tag to add.
x-example: "work" x-example: "u.work"
- in: body - in: body
name: body name: body
required: true required: true
@ -110,8 +120,17 @@ paths:
Extra data for the tag, e.g. ordering. Extra data for the tag, e.g. ordering.
schema: schema:
type: object type: object
properties:
order:
type: number
format: float
description: |-
A number in a range ``[0,1]`` describing a relative
position of the room under the given tag.
additionalProperties: true
example: { example: {
"order": "1"} "order": 0.25
}
responses: responses:
200: 200:
description: description:
@ -119,8 +138,7 @@ paths:
schema: schema:
type: object type: object
examples: examples:
application/json: { application/json: {}
}
tags: tags:
- User data - User data
delete: delete:
@ -137,14 +155,14 @@ paths:
required: true required: true
description: |- description: |-
The id of the user to remove a tag for. The access token must be The id of the user to remove a tag for. The access token must be
authorized to make requests for this user id. authorized to make requests for this user ID.
x-example: "@alice:example.com" x-example: "@alice:example.com"
- in: path - in: path
type: string type: string
name: roomId name: roomId
required: true required: true
description: |- description: |-
The id of the room to remove a tag from. The ID of the room to remove a tag from.
x-example: "!726s6s6q:example.com" x-example: "!726s6s6q:example.com"
- in: path - in: path
type: string type: string
@ -152,15 +170,14 @@ paths:
required: true required: true
description: |- description: |-
The tag to remove. The tag to remove.
x-example: "work" x-example: "u.work"
responses: responses:
200: 200:
description: description:
The tag was successfully removed The tag was successfully removed.
schema: schema:
type: object type: object
examples: examples:
application/json: { application/json: {}
}
tags: tags:
- User data - User data

@ -0,0 +1 @@
Clarify the room tag structure (thanks @KitsuneRal!)

@ -3,7 +3,7 @@
"type": "m.tag", "type": "m.tag",
"content": { "content": {
"tags": { "tags": {
"u.work": {"order": 1} "u.work": {"order": 0.9}
} }
} }
} }

@ -18,7 +18,15 @@
"description": "The tags on the room and their contents.", "description": "The tags on the room and their contents.",
"additionalProperties": { "additionalProperties": {
"title": "Tag", "title": "Tag",
"type": "object" "type": "object",
"properties": {
"order": {
"type": "number",
"format": "float",
"description":
"A number in a range ``[0,1]`` describing a relative position of the room under the given tag."
}
}
} }
} }
} }

@ -39,7 +39,7 @@ with an ``order`` of ``0.2`` would be displayed before a room with an ``order``
of ``0.7``. If a room has a tag without an ``order`` key then it should appear of ``0.7``. If a room has a tag without an ``order`` key then it should appear
after the rooms with that tag that have an ``order`` key. after the rooms with that tag that have an ``order`` key.
The name of a tag MUST not exceed 255 bytes. The name of a tag MUST NOT exceed 255 bytes.
The tag namespace is defined as follows: The tag namespace is defined as follows:

Loading…
Cancel
Save