FeatureToggle: for storing signed in user object in a Remote Cache (#59883)
* FeatureToggle: for storing sessions in a Remote Cache Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com> * Fix conflicting modifications :D Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com> * rename the flag to userRemoteCache * undo unintended change * Users: Add option to use remote cache for SignedInUsers (#59892) * Add remote cache to GetSignedInUserWithCacheCtx Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com> * Populate SignedInUser remote cache Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com> * Line * minor fixes to make this work Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com> * Fix tests * change flag to updated name Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com> Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
This commit is contained in:
co-authored by
ievaVasiljeva
parent
3c86bf550e
commit
91b15eed1a
@@ -475,12 +475,12 @@ func (ss *SQLStore) GetUserOrgList(ctx context.Context, query *models.GetUserOrg
|
||||
})
|
||||
}
|
||||
|
||||
func newSignedInUserCacheKey(orgID, userID int64) string {
|
||||
func NewSignedInUserCacheKey(orgID, userID int64) string {
|
||||
return fmt.Sprintf("signed-in-user-%d-%d", userID, orgID)
|
||||
}
|
||||
|
||||
func (ss *SQLStore) GetSignedInUserWithCacheCtx(ctx context.Context, query *models.GetSignedInUserQuery) error {
|
||||
cacheKey := newSignedInUserCacheKey(query.OrgId, query.UserId)
|
||||
cacheKey := NewSignedInUserCacheKey(query.OrgId, query.UserId)
|
||||
if cached, found := ss.CacheService.Get(cacheKey); found {
|
||||
cachedUser := cached.(user.SignedInUser)
|
||||
query.Result = &cachedUser
|
||||
@@ -492,7 +492,7 @@ func (ss *SQLStore) GetSignedInUserWithCacheCtx(ctx context.Context, query *mode
|
||||
return err
|
||||
}
|
||||
|
||||
cacheKey = newSignedInUserCacheKey(query.Result.OrgID, query.UserId)
|
||||
cacheKey = NewSignedInUserCacheKey(query.Result.OrgID, query.UserId)
|
||||
ss.CacheService.Set(cacheKey, *query.Result, time.Second*5)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -457,7 +457,7 @@ func TestIntegrationUserDataAccess(t *testing.T) {
|
||||
require.NotNil(t, query4.Result)
|
||||
require.Equal(t, query4.Result.OrgID, users[0].OrgID)
|
||||
|
||||
cacheKey := newSignedInUserCacheKey(query4.Result.OrgID, query4.UserId)
|
||||
cacheKey := NewSignedInUserCacheKey(query4.Result.OrgID, query4.UserId)
|
||||
_, found := ss.CacheService.Get(cacheKey)
|
||||
require.True(t, found)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user