Fix edu_type on EDU examples

The top-level `example` in `edu.yaml` was overriding the individual examples
for `edu_type`. Let's fix that by getting rid of the example in `edu.yaml`.

Fixes https://github.com/matrix-org/matrix-spec/issues/805
This commit is contained in:
Richard van der Hoff 2022-12-21 00:46:30 +00:00
parent 8a555fb411
commit 7515c7747a
6 changed files with 29 additions and 9 deletions

View file

@ -0,0 +1 @@
Fix `edu_type` in EDU examples.

View file

@ -657,7 +657,7 @@ EDUs, by comparison to PDUs, do not have an ID, a room ID, or a list of
"previous" IDs. They are intended to be non-persistent data such as user "previous" IDs. They are intended to be non-persistent data such as user
presence, typing notifications, etc. presence, typing notifications, etc.
{{% definition path="api/server-server/definitions/edu" %}} {{% definition path="api/server-server/definitions/edu_with_example" %}}
## Room State Resolution ## Room State Resolution

View file

@ -15,8 +15,6 @@
type: object type: object
title: Ephemeral Data Unit title: Ephemeral Data Unit
description: An ephemeral data unit. description: An ephemeral data unit.
example:
$ref: "../examples/edu.json"
properties: properties:
edu_type: edu_type:
type: string type: string
@ -25,4 +23,4 @@ properties:
content: content:
type: object type: object
description: The content of the ephemeral message. description: The content of the ephemeral message.
required: ['edu_type', 'content'] required: ['edu_type', 'content']

View file

@ -0,0 +1,21 @@
# Copyright 2022 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.
# this file exists, separately to edu.yaml, so that the individual EDU
# type definitions can inherit from edu.yaml without inheriting the example.
allOf:
- $ref: edu.yaml
- example:
$ref: "../examples/edu.json"

View file

@ -11,6 +11,10 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# note that this defintion excludes `edus`, which are typically included in
# a transaction; this is so that it can be referenced in single_pdu_transaction.
type: object type: object
title: Transaction title: Transaction
description: Transaction description: Transaction

View file

@ -66,11 +66,7 @@ paths:
List of ephemeral messages. May be omitted if there are no ephemeral List of ephemeral messages. May be omitted if there are no ephemeral
messages to be sent. Must not include more than 100 EDUs. messages to be sent. Must not include more than 100 EDUs.
items: items:
$ref: "definitions/edu.yaml" $ref: "definitions/edu_with_example.yaml"
example: {
"$ref": "examples/transaction.json",
"edus": [{"$ref": "examples/edu.json"}]
}
responses: responses:
200: 200:
description: |- description: |-