summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/matrix-org/gomatrix/responses.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2017-02-20 00:49:27 +0100
committerWim <wim@42.be>2017-02-20 00:50:37 +0100
commitc5cfbc22972c397805c8385840d6cfd0de307c87 (patch)
tree336b2676a878092cb421ca17590db40c5da86a23 /vendor/github.com/matrix-org/gomatrix/responses.go
parentcd0a2beb11efb4f03fa9fab38b93391b346864e9 (diff)
downloadmatterbridge-msglm-c5cfbc22972c397805c8385840d6cfd0de307c87.tar.gz
matterbridge-msglm-c5cfbc22972c397805c8385840d6cfd0de307c87.tar.bz2
matterbridge-msglm-c5cfbc22972c397805c8385840d6cfd0de307c87.zip
Add matrix support
Diffstat (limited to 'vendor/github.com/matrix-org/gomatrix/responses.go')
-rw-r--r--vendor/github.com/matrix-org/gomatrix/responses.go144
1 files changed, 144 insertions, 0 deletions
diff --git a/vendor/github.com/matrix-org/gomatrix/responses.go b/vendor/github.com/matrix-org/gomatrix/responses.go
new file mode 100644
index 00000000..de7a8ae9
--- /dev/null
+++ b/vendor/github.com/matrix-org/gomatrix/responses.go
@@ -0,0 +1,144 @@
+package gomatrix
+
+// RespError is the standard JSON error response from Homeservers. It also implements the Golang "error" interface.
+// See http://matrix.org/docs/spec/client_server/r0.2.0.html#api-standards
+type RespError struct {
+ ErrCode string `json:"errcode"`
+ Err string `json:"error"`
+}
+
+// Error returns the errcode and error message.
+func (e RespError) Error() string {
+ return e.ErrCode + ": " + e.Err
+}
+
+// RespCreateFilter is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-user-userid-filter
+type RespCreateFilter struct {
+ FilterID string `json:"filter_id"`
+}
+
+// RespVersions is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#get-matrix-client-versions
+type RespVersions struct {
+ Versions []string `json:"versions"`
+}
+
+// RespJoinRoom is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-join
+type RespJoinRoom struct {
+ RoomID string `json:"room_id"`
+}
+
+// RespLeaveRoom is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-leave
+type RespLeaveRoom struct{}
+
+// RespForgetRoom is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-forget
+type RespForgetRoom struct{}
+
+// RespInviteUser is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-invite
+type RespInviteUser struct{}
+
+// RespKickUser is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-kick
+type RespKickUser struct{}
+
+// RespBanUser is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-ban
+type RespBanUser struct{}
+
+// RespUnbanUser is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-unban
+type RespUnbanUser struct{}
+
+// RespJoinedRooms is the JSON response for TODO-SPEC https://github.com/matrix-org/synapse/pull/1680
+type RespJoinedRooms struct {
+ JoinedRooms []string `json:"joined_rooms"`
+}
+
+// RespJoinedMembers is the JSON response for TODO-SPEC https://github.com/matrix-org/synapse/pull/1680
+type RespJoinedMembers struct {
+ Joined map[string]struct {
+ DisplayName *string `json:"display_name"`
+ AvatarURL *string `json:"avatar_url"`
+ } `json:"joined"`
+}
+
+// RespSendEvent is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#put-matrix-client-r0-rooms-roomid-send-eventtype-txnid
+type RespSendEvent struct {
+ EventID string `json:"event_id"`
+}
+
+// RespMediaUpload is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-media-r0-upload
+type RespMediaUpload struct {
+ ContentURI string `json:"content_uri"`
+}
+
+// RespUserInteractive is the JSON response for https://matrix.org/docs/spec/client_server/r0.2.0.html#user-interactive-authentication-api
+type RespUserInteractive struct {
+ Flows []struct {
+ Stages []string `json:"stages"`
+ } `json:"flows"`
+ Params map[string]interface{} `json:"params"`
+ Session string `json:"string"`
+ Completed []string `json:"completed"`
+ ErrCode string `json:"errcode"`
+ Error string `json:"error"`
+}
+
+// HasSingleStageFlow returns true if there exists at least 1 Flow with a single stage of stageName.
+func (r RespUserInteractive) HasSingleStageFlow(stageName string) bool {
+ for _, f := range r.Flows {
+ if len(f.Stages) == 1 && f.Stages[0] == stageName {
+ return true
+ }
+ }
+ return false
+}
+
+// RespRegister is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-register
+type RespRegister struct {
+ AccessToken string `json:"access_token"`
+ DeviceID string `json:"device_id"`
+ HomeServer string `json:"home_server"`
+ RefreshToken string `json:"refresh_token"`
+ UserID string `json:"user_id"`
+}
+
+// RespLogin is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-login
+type RespLogin struct {
+ AccessToken string `json:"access_token"`
+ DeviceID string `json:"device_id"`
+ HomeServer string `json:"home_server"`
+ UserID string `json:"user_id"`
+}
+
+// RespLogout is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-logout
+type RespLogout struct{}
+
+// RespCreateRoom is the JSON response for https://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-createroom
+type RespCreateRoom struct {
+ RoomID string `json:"room_id"`
+}
+
+// RespSync is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#get-matrix-client-r0-sync
+type RespSync struct {
+ NextBatch string `json:"next_batch"`
+ AccountData struct {
+ Events []Event `json:"events"`
+ } `json:"account_data"`
+ Presence struct {
+ Events []Event `json:"events"`
+ } `json:"presence"`
+ Rooms struct {
+ Join map[string]struct {
+ State struct {
+ Events []Event `json:"events"`
+ } `json:"state"`
+ Timeline struct {
+ Events []Event `json:"events"`
+ Limited bool `json:"limited"`
+ PrevBatch string `json:"prev_batch"`
+ } `json:"timeline"`
+ } `json:"join"`
+ Invite map[string]struct {
+ State struct {
+ Events []Event
+ } `json:"invite_state"`
+ } `json:"invite"`
+ } `json:"rooms"`
+}