diff options
Diffstat (limited to 'db.go')
-rw-r--r-- | db.go | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -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 |