aboutsummaryrefslogtreecommitdiff
path: root/db.go
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2020-02-29 10:51:09 +0100
committerAlex Auvolat <alex@adnab.me>2020-02-29 10:51:09 +0100
commit2649e41c85283c680b9e1aa3294868b985aecc22 (patch)
tree67a37cd6044f217e9be5fe217efaf86d040f06bc /db.go
parent38a3f1bdb18159cc4808fa86280da55f0599dcc8 (diff)
downloadeasybridge-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.go23
1 files changed, 13 insertions, 10 deletions
diff --git a/db.go b/db.go
index cdbdca1..42c9aee 100644
--- a/db.go
+++ b/db.go
@@ -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{