aboutsummaryrefslogtreecommitdiff
path: root/clientapi/jsonerror
diff options
context:
space:
mode:
authorS7evinK <2353100+S7evinK@users.noreply.github.com>2022-02-18 16:05:03 +0100
committerGitHub <noreply@github.com>2022-02-18 16:05:03 +0100
commit002429c9e24cc746e0929b41eccbe429f89a6e1f (patch)
tree217eaea280343f46c61868a694d75fccd8fe66af /clientapi/jsonerror
parentdbded875257703eb63c8eb8af8d47d74c811642f (diff)
Implement server notices (#2180)
* Add server_notices config * Disallow rejecting "server notice" invites * Update config * Slightly refactor sendEvent and CreateRoom so it can be reused * Implement unspecced server notices * Validate the request * Set the user api when starting * Rename function/variables * Update comments * Update config * Set the avatar on account creation * Update test * Only create the account when starting Only add routes if sever notices are enabled * Use reserver username Check that we actually got roomData * Add check for admin account Enable server notices for CI Return same values as Synapse * Add custom error for rejecting server notice invite * Move building an invite to it's own function, for reusability * Don't create new rooms, use the existing one (follow Synapse behavior) Co-authored-by: kegsay <kegan@matrix.org>
Diffstat (limited to 'clientapi/jsonerror')
-rw-r--r--clientapi/jsonerror/jsonerror.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/clientapi/jsonerror/jsonerror.go b/clientapi/jsonerror/jsonerror.go
index caa216e6..97c59703 100644
--- a/clientapi/jsonerror/jsonerror.go
+++ b/clientapi/jsonerror/jsonerror.go
@@ -149,6 +149,15 @@ func MissingParam(msg string) *MatrixError {
return &MatrixError{"M_MISSING_PARAM", msg}
}
+// LeaveServerNoticeError is an error returned when trying to reject an invite
+// for a server notice room.
+func LeaveServerNoticeError() *MatrixError {
+ return &MatrixError{
+ ErrCode: "M_CANNOT_LEAVE_SERVER_NOTICE_ROOM",
+ Err: "You cannot reject this invite",
+ }
+}
+
type IncompatibleRoomVersionError struct {
RoomVersion string `json:"room_version"`
Error string `json:"error"`