diff options
Diffstat (limited to 'mxlib')
-rw-r--r-- | mxlib/api.go | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/mxlib/api.go b/mxlib/api.go index 59e1267..cb2d10c 100644 --- a/mxlib/api.go +++ b/mxlib/api.go @@ -4,6 +4,15 @@ import ( _ "encoding/json" ) +type MxError struct { + ErrCode string `json:"errcode"` + ErrMsg string `json:"error"` +} + +func (e *MxError) Error() string { + return e.ErrMsg +} + type Transaction struct { Events []Event `json:"events"` } @@ -16,3 +25,55 @@ type Event struct { Sender string `json:"sender"` OriginServerTs int `json:"origin_server_ts"` } + +type RegisterRequest struct { + Username string `json:"username"` +} + +type RegisterResponse struct { + UserId string `json:"user_id"` + AccessToken string `json:"access_token"` + DeviceId string `json:"device_id"` +} + +type ProfileDisplaynameRequest struct { + Displayname string `json:"displayname"` +} + +type CreateRoomRequest struct { + Preset string `json:"preset"` + RoomAliasName string `json:"room_alias_name"` + Name string `json:"name"` + Topic string `json:"topic"` + Invite []string `json:"invite"` + CreationContent map[string]interface{} `json:"creation_content"` +} + +type CreateRoomResponse struct { + RoomId string `json:"room_id"` +} + +type DirectoryRoomResponse struct { + RoomId string `json:"room_id"` + Servers []string `json:"string"` +} + +type RoomInviteRequest struct { + UserId string `json:"user_id"` +} + +type RoomKickRequest struct { + UserId string `json:"user_id"` + Reason string `json:"reason"` +} +type RoomJoinResponse struct { + RoomId string `json:"room_id"` +} + +type RoomSendRequest struct { + MsgType string `json:"msgtype"` + Body string `json:"body"` +} +type RoomSendResponse struct { + EventId string `json:"event_id"` +} |