Avoid resetting device id when removed from push proxy (#28269)
* Avoid resetting device id when removed from push proxy * Fix test and minor improvements * Add MySQL support
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
c15c924c49
Коммит
da6b40665a
@@ -146,6 +146,10 @@ func (me SqlSessionStore) GetLRUSessions(c request.CTX, userId string, limit uin
|
||||
}
|
||||
|
||||
func (me SqlSessionStore) GetSessionsWithActiveDeviceIds(userId string) ([]*model.Session, error) {
|
||||
lastRemovedQuery := `DeviceId != COALESCE(Props->>'last_removed_device_id', '')`
|
||||
if me.DriverName() == model.DatabaseDriverMysql {
|
||||
lastRemovedQuery = `DeviceId != COALESCE(Props->>'$.last_removed_device_id', '')`
|
||||
}
|
||||
query :=
|
||||
`SELECT *
|
||||
FROM
|
||||
@@ -154,7 +158,8 @@ func (me SqlSessionStore) GetSessionsWithActiveDeviceIds(userId string) ([]*mode
|
||||
UserId = ? AND
|
||||
ExpiresAt != 0 AND
|
||||
? <= ExpiresAt AND
|
||||
DeviceId != ''`
|
||||
DeviceId != '' AND
|
||||
` + lastRemovedQuery
|
||||
|
||||
sessions := []*model.Session{}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user