Merge pull request #1414 from matrix-org/anoa/third_party_cleanup

Clarification on third party fields
pull/977/head
Andrew Morgan 6 years ago committed by GitHub
commit 54a88eebf0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -214,7 +214,7 @@ paths:
This API is called by the homeserver when it wants to present clients This API is called by the homeserver when it wants to present clients
with specific information about the various third party networks that with specific information about the various third party networks that
an application service supports. an application service supports.
operationId: queryMetadata operationId: getProtocolMetadata
parameters: parameters:
- in: path - in: path
name: protocol name: protocol
@ -270,7 +270,7 @@ paths:
required: true required: true
x-example: irc x-example: irc
- in: query - in: query
name: field1, field2... name: fields...
type: string type: string
description: |- description: |-
One or more custom fields that are passed to the application One or more custom fields that are passed to the application
@ -321,7 +321,7 @@ paths:
required: true required: true
x-example: irc x-example: irc
- in: query - in: query
name: field1, field2... name: fields...
type: string type: string
description: |- description: |-
One or more custom fields that are passed to the application One or more custom fields that are passed to the application

@ -13,6 +13,8 @@
# limitations under the License. # limitations under the License.
type: object type: object
description: Dictionary of supported third party protocols. description: Dictionary of supported third party protocols.
additionalProperties:
$ref: protocol.yaml
example: { example: {
"irc": { "irc": {
"user_fields": ["network", "nickname"], "user_fields": ["network", "nickname"],

@ -27,5 +27,5 @@ properties:
type: object type: object
example: example:
"user": "jim" "user": "jim"
title: Location title: User
type: object type: object

@ -34,7 +34,9 @@ paths:
Fetches the overall metadata about protocols supported by the Fetches the overall metadata about protocols supported by the
homeserver. Includes both the available protocols and all fields homeserver. Includes both the available protocols and all fields
required for queries against each protocol. required for queries against each protocol.
operationId: queryMetadata operationId: getProtocols
security:
- accessToken: []
responses: responses:
200: 200:
description: The protocols supported by the homeserver. description: The protocols supported by the homeserver.
@ -45,7 +47,9 @@ paths:
summary: Retrieve metadata about a specific protocol that the homeserver supports. summary: Retrieve metadata about a specific protocol that the homeserver supports.
description: |- description: |-
Fetches the metadata from the homeserver about a particular third party protocol. Fetches the metadata from the homeserver about a particular third party protocol.
operationId: queryMetadata operationId: getProtocolMetadata
security:
- accessToken: []
parameters: parameters:
- in: path - in: path
name: protocol name: protocol
@ -80,6 +84,8 @@ paths:
identifier. It should attempt to canonicalise the identifier as much identifier. It should attempt to canonicalise the identifier as much
as reasonably possible given the network type. as reasonably possible given the network type.
operationId: queryLocationByProtocol operationId: queryLocationByProtocol
security:
- accessToken: []
parameters: parameters:
- in: path - in: path
name: protocol name: protocol
@ -113,6 +119,8 @@ paths:
Retrieve a Matrix User ID linked to a user on the third party service, given Retrieve a Matrix User ID linked to a user on the third party service, given
a set of user parameters. a set of user parameters.
operationId: queryUserByProtocol operationId: queryUserByProtocol
security:
- accessToken: []
parameters: parameters:
- in: path - in: path
name: protocol name: protocol
@ -122,7 +130,7 @@ paths:
required: true required: true
x-example: irc x-example: irc
- in: query - in: query
name: field1, field2... name: fields...
type: string type: string
description: |- description: |-
One or more custom fields that are passed to the AS to help identify the user. One or more custom fields that are passed to the AS to help identify the user.
@ -146,12 +154,15 @@ paths:
Retreive an array of third party network locations from a Matrix room Retreive an array of third party network locations from a Matrix room
alias. alias.
operationId: queryLocationByAlias operationId: queryLocationByAlias
security:
- accessToken: []
parameters: parameters:
- in: query - in: query
name: alias name: alias
type: string type: string
description: The Matrix room alias to look up. description: The Matrix room alias to look up.
required: true required: true
x-example: "#matrix:matrix.org"
responses: responses:
200: 200:
description: |- description: |-
@ -172,12 +183,15 @@ paths:
description: |- description: |-
Retreive an array of third party users from a Matrix User ID. Retreive an array of third party users from a Matrix User ID.
operationId: queryUserByID operationId: queryUserByID
security:
- accessToken: []
parameters: parameters:
- in: query - in: query
name: userid name: userid
type: string type: string
description: The Matrix User ID to look up. description: The Matrix User ID to look up.
required: true required: true
x-example: "@bob:matrix.org"
responses: responses:
200: 200:
description: |- description: |-

@ -0,0 +1,23 @@
# OpenAPI Extensions
For some functionality that is not directly provided by the OpenAPI v2
specification, some extensions have been added that are to be consistent
across the specification. The defined extensions are listed below. Extensions
should not break parsers, however if extra functionality is required, aware
parsers should be able to take advantage of the added syntax.
## Extensible Query Parameters
<!-- TODO: Remove and change instances to 'explode' after OpenAPI/Swagger v3 update -->
If a unknown amount of query parameters can be added to a request, the `name`
must be `fields...`, with the trailing ellipses representing the possibility
of more fields.
Example:
```
- in: query
name: fields...
type: string
```
Loading…
Cancel
Save