Agniva De Sarker
2021-08-13 20:13:27 +05:30
committed by GitHub
parent db80740414
commit 2711262729
2 changed files with 15 additions and 10 deletions

View File

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

View File

@@ -70,6 +70,15 @@ func testSessionGet(t *testing.T, ss store.Store) {
require.NoError(t, err)
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)
require.NoError(t, err)
require.Len(t, data, 3, "should match len")