package room import "git.nutfactory.org/hoernschen/Matrix/entities/event" type Room struct { Id string `json:"id,omitempty"` Version string `json:"version,omitempty"` Name string `json:"name,omitempty"` Topic string `json:"topic,omitempty"` Members []string `json:"members,omitempty"` Servers []string Events map[string]*event.Event `json:"events,omitempty"` Visibility string `json:"visibility,omitempty"` IsDirect bool `json:"is_direct,omitempty"` Federated bool `json:"federated,omitempty"` } type CreateRoomRequest struct { Visibility string `json:"visibility,omitempty"` RoomAliasName string `json:"room_alias_name,omitempty"` Name string `json:"name,omitempty"` Topic string `json:"topic,omitempty"` Invite string `json:"invite,omitempty"` Invite3pid invite3pid `json:"invite_3pid,omitempty"` RoomVersion string `json:"room_version,omitempty"` CreationContent CreationContent `json:"creation_content,omitempty"` InitialState []event.StateEvent `json:"initial_state,omitempty"` Preset string `json:"preset,omitempty"` IsDirect bool `json:"is_direct,omitempty"` PowerLevelContentOverride string `json:"power_level_content_override,omitempty"` } type CreateRoomResponse struct { RoomId string `json:"room_id,omitempty"` } type getRoomMemberResponse struct { Chunk []*event.Event `json:"chunk,omitempty"` } type JoinRoomUserRequest struct { ThirdPartySigned thirdPartySigned `json:"third_party_signed,omitempty"` } type JoinRoomUserResponse struct { RoomId string `json:"room_id,omitempty"` } type makeJoinResponse struct { RoomVersion string `json:"room_version,omitempty"` Event event.Event `json:"event,omitempty"` } type joinRoomServerRequest struct { Sender string `json:"sender,omitempty"` Origin string `json:"origin,omitempty"` Timestamp int64 `json:"origin_server_ts,omitempty"` EventType string `json:"type,omitempty"` StateKey string `json:"state_key,omitempty"` Content event.MemberEventContent `json:"content,omitempty"` } type joinRoomServerResponse struct { Origin string `json:"origin,omitempty"` AuthChain []*event.Event `json:"auth_chain,omitempty"` State []*event.Event `json:"state,omitempty"` } type invite3pid struct { IdServer string `json:"id_server,omitempty"` IdAccessToken string `json:"id_access_token,omitempty"` Medium string `json:"medium,omitempty"` Address string `json:"address,omitempty"` } type CreationContent struct { Federated bool `json:"m.federate,omitempty"` } type unsignedData struct { Age int `json:"age,omitempty"` RedactedBecause *event.Event `json:"redacted_because,omitempty"` TransactionId string `json:"transaction_id,omitempty"` } type invite struct { DisplayName string `json:"display_name,omitempty"` Signed thirdPartySigned `json:"signed,omitempty"` } type thirdPartySigned struct { Sender string `json:"sender,omitempty"` MXID string `json:"mxid,omitempty"` Signatures map[string]map[string]string `json:"signatures,omitempty"` Token string `json:"token,omitempty"` }