From 2b5f990f60187b2af763c8298300b520d91c9d21 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Wed, 17 Apr 2024 13:51:24 +0100 Subject: [PATCH] Factor out common definition of `Tag` type (#1793) ... and remove spurious `additionalProperties: true` --- changelogs/internal/newsfragments/1793.misc | 1 + data/api/client-server/definitions/tag.yaml | 24 +++++++++++++++++++++ data/api/client-server/tags.yaml | 24 ++------------------- data/event-schemas/schema/m.tag.yaml | 11 +--------- 4 files changed, 28 insertions(+), 32 deletions(-) create mode 100644 changelogs/internal/newsfragments/1793.misc create mode 100644 data/api/client-server/definitions/tag.yaml diff --git a/changelogs/internal/newsfragments/1793.misc b/changelogs/internal/newsfragments/1793.misc new file mode 100644 index 00000000..bc5abca9 --- /dev/null +++ b/changelogs/internal/newsfragments/1793.misc @@ -0,0 +1 @@ +Factor out common definition of `Tag` type. diff --git a/data/api/client-server/definitions/tag.yaml b/data/api/client-server/definitions/tag.yaml new file mode 100644 index 00000000..05c911a5 --- /dev/null +++ b/data/api/client-server/definitions/tag.yaml @@ -0,0 +1,24 @@ +# Copyright 2020-2024 The Matrix.org Foundation C.I.C. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +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. + example: 0.25 diff --git a/data/api/client-server/tags.yaml b/data/api/client-server/tags.yaml index 5faed29c..c8e1d78c 100644 --- a/data/api/client-server/tags.yaml +++ b/data/api/client-server/tags.yaml @@ -53,16 +53,7 @@ paths: tags: 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 + $ref: definitions/tag.yaml examples: response: value: { @@ -114,18 +105,7 @@ paths: content: application/json: schema: - 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: { - "order": 0.25 - } + $ref: definitions/tag.yaml description: Extra data for the tag, e.g. ordering. required: true responses: diff --git a/data/event-schemas/schema/m.tag.yaml b/data/event-schemas/schema/m.tag.yaml index afa22420..77010350 100644 --- a/data/event-schemas/schema/m.tag.yaml +++ b/data/event-schemas/schema/m.tag.yaml @@ -17,16 +17,7 @@ "type": "object", "description": "The tags on the room and their contents.", "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." - } - } + "$ref": "../../api/client-server/definitions/tag.yaml" } } }