diff options
author | Alex Auvolat <alex@adnab.me> | 2020-02-29 10:51:09 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2020-02-29 10:51:09 +0100 |
commit | 2649e41c85283c680b9e1aa3294868b985aecc22 (patch) | |
tree | 67a37cd6044f217e9be5fe217efaf86d040f06bc /db.go | |
parent | 38a3f1bdb18159cc4808fa86280da55f0599dcc8 (diff) | |
download | easybridge-2649e41c85283c680b9e1aa3294868b985aecc22.tar.gz easybridge-2649e41c85283c680b9e1aa3294868b985aecc22.zip |
Allow _ezbr_ to be put in suffix of usernames/room aliases instead of prefix
Diffstat (limited to 'db.go')
-rw-r--r-- | db.go | 23 |
1 files changed, 13 insertions, 10 deletions
@@ -213,18 +213,21 @@ func dbGetMxRoom(protocol string, roomId connector.RoomID) (string, error) { if must_create { alias := roomAlias(protocol, roomId) - // Lookup alias - mx_room_id, err := mx.DirectoryRoom(fmt.Sprintf("#%s:%s", alias, config.MatrixDomain)) - // If no alias found, create room - if err != nil { - name := fmt.Sprintf("%s (%s)", roomId, protocol) + // Delete previous alias if it existed + prev_full_alias := fmt.Sprintf("#%s:%s", alias, config.MatrixDomain) + mx_room_id, err := mx.DirectoryRoom(prev_full_alias) + if err == nil { + mx.DirectoryDeleteRoom(prev_full_alias) + } - mx_room_id, err = mx.CreateRoom(name, alias, []string{}) - if err != nil { - log.Warnf("Could not create room for %s: %s", name, err) - return "", err - } + // Create room + name := fmt.Sprintf("%s (%s)", roomId, protocol) + + mx_room_id, err = mx.CreateRoom(name, alias, []string{}) + if err != nil { + log.Warnf("Could not create room for %s: %s", name, err) + return "", err } room = DbRoomMap{ |