96 lines
3.6 KiB
Go
96 lines
3.6 KiB
Go
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"`
|
|
}
|