# Copyright 2018 New Vector 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.

# Note: this is technically not a core event schema, however it is included here
# to keep things sane. The short story is that /sync doesn't require a room_id to
# be on events, so we give it a whole event structure as a base for room_event.
# This base doesn't declare a room_id, which instead appears in the room_event.

allOf:
- $ref: event.yaml
description: In addition to the Event fields, Room Events have the following additional
  fields.
properties:
  event_id:
    description: The globally unique event identifier.
    type: string
  sender:
    description: Contains the fully-qualified ID of the user who sent this event.
    type: string
  origin_server_ts:
    description: Timestamp in milliseconds on originating homeserver
      when this event was sent.
    type: integer
    format: int64
  unsigned:
    $ref: unsigned_prop.yaml
required:
- event_id
- sender
- origin_server_ts
title: SyncRoomEvent
type: object
