mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
* Add migration * Migrator: Extend support to rename columns * Fix getting current key * Fix column name in migration * Fix deks reencryption * Fix caching * Add back separate caches for byName and byPrefix * Do not concatenate prefix with uid * Rename DataKey struc fields * SQLStore: Add deprecation comments for breaking migrations * Add comment * Minor corrections Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
70 lines
1.6 KiB
Go
70 lines
1.6 KiB
Go
package fakes
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/grafana/grafana/pkg/services/secrets"
|
|
"xorm.io/xorm"
|
|
)
|
|
|
|
type FakeSecretsStore struct {
|
|
store map[string]*secrets.DataKey
|
|
}
|
|
|
|
func NewFakeSecretsStore() FakeSecretsStore {
|
|
return FakeSecretsStore{store: make(map[string]*secrets.DataKey)}
|
|
}
|
|
|
|
func (f FakeSecretsStore) GetDataKey(_ context.Context, id string) (*secrets.DataKey, error) {
|
|
key, ok := f.store[id]
|
|
if !ok {
|
|
return nil, secrets.ErrDataKeyNotFound
|
|
}
|
|
|
|
return key, nil
|
|
}
|
|
|
|
func (f FakeSecretsStore) GetCurrentDataKey(_ context.Context, label string) (*secrets.DataKey, error) {
|
|
for _, key := range f.store {
|
|
if key.Label == label && key.Active {
|
|
return key, nil
|
|
}
|
|
}
|
|
|
|
return nil, secrets.ErrDataKeyNotFound
|
|
}
|
|
|
|
func (f FakeSecretsStore) GetAllDataKeys(_ context.Context) ([]*secrets.DataKey, error) {
|
|
result := make([]*secrets.DataKey, 0)
|
|
for _, key := range f.store {
|
|
result = append(result, key)
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
func (f FakeSecretsStore) CreateDataKey(_ context.Context, dataKey *secrets.DataKey) error {
|
|
f.store[dataKey.Id] = dataKey
|
|
return nil
|
|
}
|
|
|
|
func (f FakeSecretsStore) CreateDataKeyWithDBSession(_ context.Context, dataKey *secrets.DataKey, _ *xorm.Session) error {
|
|
f.store[dataKey.Id] = dataKey
|
|
return nil
|
|
}
|
|
|
|
func (f FakeSecretsStore) DisableDataKeys(_ context.Context) error {
|
|
for id := range f.store {
|
|
f.store[id].Active = false
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (f FakeSecretsStore) DeleteDataKey(_ context.Context, id string) error {
|
|
delete(f.store, id)
|
|
return nil
|
|
}
|
|
|
|
func (f FakeSecretsStore) ReEncryptDataKeys(_ context.Context, _ map[secrets.ProviderID]secrets.Provider, _ secrets.ProviderID) error {
|
|
return nil
|
|
}
|