# Copyright 2016 OpenMarket Ltd
#
# 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.
allOf:
- $ref: event_filter.yaml
- type: object
  title: RoomEventFilter
  properties:
    lazy_load_members:
      type: boolean
      description: |-
        If ``true``, enables lazy-loading of membership events. See
        `Lazy-loading room members <#lazy-loading-room-members>`_
        for more information. Defaults to ``false``.
    include_redundant_members:
      type: boolean
      description: |-
        If ``true``, sends all membership events for all events, even if they have already
        been sent to the client. Does not
        apply unless ``lazy_load_members`` is ``true``. See
        `Lazy-loading room members <#lazy-loading-room-members>`_
        for more information. Defaults to ``false``.
    not_rooms:
      description: A list of room IDs to exclude. If this list is absent then no rooms
        are excluded. A matching room will be excluded even if it is listed in the ``'rooms'``
        filter.
      items:
        type: string
      type: array
    rooms:
      description: A list of room IDs to include. If this list is absent then all rooms
        are included.
      items:
        type: string
      type: array
    contains_url:
      type: boolean
      description: If ``true``, includes only events with a ``url`` key in their content. If
        ``false``, excludes those events. If omitted, ``url`` key is not considered for filtering.
