Agniva De Sarker
2021-08-13 20:13:27 +05:30
коммит произвёл GitHub
родитель db80740414
Коммит 2711262729
2 изменённых файлов: 15 добавлений и 10 удалений

Просмотреть файл

@@ -249,19 +249,15 @@ func (me SqlSessionStore) UpdateDeviceId(id string, deviceId string, expiresAt i
} }
func (me SqlSessionStore) UpdateProps(session *model.Session) error { func (me SqlSessionStore) UpdateProps(session *model.Session) error {
oldSession, err := me.Get(context.Background(), session.Id) _, err := me.GetMaster().Exec(`UPDATE Sessions
if err != nil { SET Props=:Props
return err WHERE Id=:Id`, map[string]interface{}{
} "Props": model.MapToJson(session.Props),
oldSession.Props = session.Props "Id": session.Id,
})
count, err := me.GetMaster().Update(oldSession)
if err != nil { if err != nil {
return errors.Wrap(err, "failed to update Session") return errors.Wrap(err, "failed to update Session")
} }
if count != 1 {
return fmt.Errorf("updated Sessions were %d, expected 1", count)
}
return nil return nil
} }

Просмотреть файл

@@ -70,6 +70,15 @@ func testSessionGet(t *testing.T, ss store.Store) {
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, session.Id, s1.Id, "should match") require.Equal(t, session.Id, s1.Id, "should match")
session.Props[model.SessionPropOs] = "linux"
session.Props[model.SessionPropBrowser] = "Chrome"
err = ss.Session().UpdateProps(session)
require.NoError(t, err)
session2, err := ss.Session().Get(context.Background(), session.Id)
require.NoError(t, err)
require.Equal(t, session.Props, session2.Props, "should match")
data, err := ss.Session().GetSessions(s1.UserId) data, err := ss.Session().GetSessions(s1.UserId)
require.NoError(t, err) require.NoError(t, err)
require.Len(t, data, 3, "should match len") require.Len(t, data, 3, "should match len")