aboutsummaryrefslogtreecommitdiff
path: root/db.go
diff options
context:
space:
mode:
Diffstat (limited to 'db.go')
-rw-r--r--db.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/db.go b/db.go
index fe3d1e3..602bd1f 100644
--- a/db.go
+++ b/db.go
@@ -36,6 +36,9 @@ func InitDb() error {
db.AutoMigrate(&DbPmRoomMap{})
db.Model(&DbPmRoomMap{}).AddIndex("idx_protocol_user_account_user", "protocol", "user_id", "mx_user_id", "account_name")
+ db.AutoMigrate(&DbJoinedRoom{})
+ db.Model(&DbJoinedRoom{}).AddIndex("idx_user_protocol_account", "mx_user_id", "protocol", "account_name")
+
return nil
}
@@ -86,6 +89,19 @@ type DbPmRoomMap struct {
MxRoomID string `gorm:"index:mxroomoid"`
}
+// List of joined channels to be re-joined on reconnect
+type DbJoinedRoom struct {
+ gorm.Model
+
+ // User id and account name
+ MxUserID string
+ Protocol string
+ AccountName string
+
+ // Room ID
+ RoomID connector.RoomID
+}
+
// ---- Simple locking mechanism
var dbLocks [256]sync.Mutex