Merge pull request #1570 from turt2live/travis/c2s/sync-filtering

Update filtering API documentation
erikj/limit_txn_size
Travis Ralston 6 years ago committed by GitHub
commit 9527ce31f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -11,7 +11,7 @@
# 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.
title: Filter title: EventFilter
properties: properties:
limit: limit:
description: The maximum number of events to return. description: The maximum number of events to return.

@ -13,23 +13,23 @@
# limitations under the License. # limitations under the License.
allOf: allOf:
- $ref: event_filter.yaml - $ref: event_filter.yaml
title: RoomEventFilter - type: object
properties: title: RoomEventFilter
not_rooms: properties:
description: A list of room IDs to exclude. If this list is absent then no rooms not_rooms:
are excluded. A matching room will be excluded even if it is listed in the ``'rooms'`` description: A list of room IDs to exclude. If this list is absent then no rooms
filter. are excluded. A matching room will be excluded even if it is listed in the ``'rooms'``
items: filter.
type: string items:
type: array type: string
rooms: type: array
description: A list of room IDs to include. If this list is absent then all rooms rooms:
are included. description: A list of room IDs to include. If this list is absent then all rooms
items: are included.
type: string items:
type: array type: string
contains_url: type: array
type: boolean contains_url:
description: If ``true``, includes only events with a url key in their content. If type: boolean
``false``, excludes those events. description: If ``true``, includes only events with a ``url`` key in their content. If
type: object ``false``, excludes those events. Defaults to ``false``.

@ -11,6 +11,8 @@
# 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.
type: object
title: Filter
properties: properties:
event_fields: event_fields:
description: List of event fields to include. If this list is absent then all description: List of event fields to include. If this list is absent then all
@ -40,6 +42,7 @@ properties:
room: room:
title: RoomFilter title: RoomFilter
description: Filters to be applied to room data. description: Filters to be applied to room data.
type: object
properties: properties:
not_rooms: not_rooms:
description: A list of room IDs to exclude. If this list is absent then no rooms description: A list of room IDs to exclude. If this list is absent then no rooms
@ -76,5 +79,3 @@ properties:
allOf: allOf:
- $ref: room_event_filter.yaml - $ref: room_event_filter.yaml
description: The per user account data to include for rooms. description: The per user account data to include for rooms.
type: object
type: object

@ -54,44 +54,45 @@ paths:
allOf: allOf:
- $ref: "definitions/sync_filter.yaml" - $ref: "definitions/sync_filter.yaml"
example: { example: {
"room": { "room": {
"state": { "state": {
"types": ["m.room.*"], "types": ["m.room.*"],
"not_rooms": ["!726s6s6q:example.com"] "not_rooms": ["!726s6s6q:example.com"]
},
"timeline": {
"limit": 10,
"types": ["m.room.message"],
"not_rooms": ["!726s6s6q:example.com"],
"not_senders": ["@spam:example.com"]
},
"ephemeral": {
"types": ["m.receipt", "m.typing"],
"not_rooms": ["!726s6s6q:example.com"],
"not_senders": ["@spam:example.com"]
}
}, },
"presence": { "timeline": {
"types": ["m.presence"], "limit": 10,
"not_senders": ["@alice:example.com"] "types": ["m.room.message"],
"not_rooms": ["!726s6s6q:example.com"],
"not_senders": ["@spam:example.com"]
}, },
"event_format": "client", "ephemeral": {
"event_fields": ["type", "content", "sender"] "types": ["m.receipt", "m.typing"],
} "not_rooms": ["!726s6s6q:example.com"],
"not_senders": ["@spam:example.com"]
}
},
"presence": {
"types": ["m.presence"],
"not_senders": ["@alice:example.com"]
},
"event_format": "client",
"event_fields": ["type", "content", "sender"]
}
responses: responses:
200: 200:
description: The filter was created. description: The filter was created.
examples:
application/json: {
"filter_id": "66696p746572"
}
schema: schema:
type: object type: object
properties: properties:
filter_id: filter_id:
type: string type: string
description: |- description: |-
The ID of the filter that was created. The ID of the filter that was created. Cannot start
with a ``{`` as this character is used to determine
if the filter provided is inline JSON or a previously
declared filter by homeservers on some APIs.
example: "66696p746572"
required: ['filter_id']
tags: tags:
- Room participation - Room participation
"/user/{userId}/filter/{filterId}": "/user/{userId}/filter/{filterId}":

@ -0,0 +1 @@
Clarify the object structures and defaults for Filters.
Loading…
Cancel
Save