diff --git a/management/server/account.go b/management/server/account.go index 9b5fdc400..6481a71d8 100644 --- a/management/server/account.go +++ b/management/server/account.go @@ -62,6 +62,7 @@ func cacheEntryExpiration() time.Duration { type AccountManager interface { GetOrCreateAccountByUser(ctx context.Context, userId, domain string) (*Account, error) + GetAccount(ctx context.Context, accountID string) (*Account, error) CreateSetupKey(ctx context.Context, accountID string, keyName string, keyType SetupKeyType, expiresIn time.Duration, autoGroups []string, usageLimit int, userID string, ephemeral bool) (*SetupKey, error) SaveSetupKey(ctx context.Context, accountID string, key *SetupKey, userID string) (*SetupKey, error) @@ -1702,6 +1703,11 @@ func (am *DefaultAccountManager) MarkPATUsed(ctx context.Context, tokenID string return am.Store.SaveAccount(ctx, account) } +// GetAccount returns an account associated with this account ID. +func (am *DefaultAccountManager) GetAccount(ctx context.Context, accountID string) (*Account, error) { + return am.Store.GetAccount(ctx, accountID) +} + // GetAccountFromPAT returns Account and User associated with a personal access token func (am *DefaultAccountManager) GetAccountFromPAT(ctx context.Context, token string) (*Account, *User, *PersonalAccessToken, error) { if len(token) != PATLength { diff --git a/management/server/file_store.go b/management/server/file_store.go index 1ef40ad07..c7231ac6f 100644 --- a/management/server/file_store.go +++ b/management/server/file_store.go @@ -1011,15 +1011,6 @@ func (s *FileStore) GetPolicyByID(_ context.Context, _ LockingStrength, _ string } -func (s *FileStore) SavePolicy(_ context.Context, _ LockingStrength, _ *Policy) error { - return status.Errorf(status.Internal, "SavePolicy is not implemented") -} - -func (s *FileStore) DeletePolicy(_ context.Context, _ LockingStrength, _ string) error { - return status.Errorf(status.Internal, "DeletePolicy is not implemented") -} - - func (s *FileStore) GetAccountPostureChecks(_ context.Context, _ LockingStrength, _ string) ([]*posture.Checks, error) { return nil, status.Errorf(status.Internal, "GetAccountPostureChecks is not implemented") } @@ -1028,14 +1019,6 @@ func (s *FileStore) GetPostureChecksByID(_ context.Context, _ LockingStrength, _ return nil, status.Errorf(status.Internal, "GetPostureChecksByID is not implemented") } -func (s *FileStore) SavePostureChecks(_ context.Context, _ LockingStrength, _ *posture.Checks) error { - return status.Errorf(status.Internal, "SavePostureChecks is not implemented") -} - -func (s *FileStore) DeletePostureChecks(_ context.Context, _ LockingStrength, _ string) error { - return status.Errorf(status.Internal, "DeletePostureChecks is not implemented") -} - func (s *FileStore) GetAccountRoutes(_ context.Context, _ LockingStrength, _ string) ([]*route.Route, error) { return nil, status.Errorf(status.Internal, "GetAccountRoutes is not implemented") } diff --git a/management/server/mock_server/account_mock.go b/management/server/mock_server/account_mock.go index 0c953c789..7e5057dbd 100644 --- a/management/server/mock_server/account_mock.go +++ b/management/server/mock_server/account_mock.go @@ -23,6 +23,7 @@ import ( type MockAccountManager struct { GetOrCreateAccountByUserFunc func(ctx context.Context, userId, domain string) (*server.Account, error) + GetAccountFunc func(ctx context.Context, accountID string) (*server.Account, error) CreateSetupKeyFunc func(ctx context.Context, accountId string, keyName string, keyType server.SetupKeyType, expiresIn time.Duration, autoGroups []string, usageLimit int, userID string, ephemeral bool) (*server.SetupKey, error) GetSetupKeyFunc func(ctx context.Context, accountID, userID, keyID string) (*server.SetupKey, error) @@ -824,3 +825,10 @@ func (am *MockAccountManager) GetAccountSettings(ctx context.Context, accountID } return nil, status.Errorf(codes.Unimplemented, "method GetAccountSettings is not implemented") } + +func (am *MockAccountManager) GetAccount(ctx context.Context, accountID string) (*server.Account, error) { + if am.GetAccountFunc != nil { + return am.GetAccountFunc(ctx, accountID) + } + return nil, status.Errorf(codes.Unimplemented, "method GetAccount is not implemented") +} diff --git a/management/server/policy.go b/management/server/policy.go index e4569cb57..d0b41ddf3 100644 --- a/management/server/policy.go +++ b/management/server/policy.go @@ -3,6 +3,7 @@ package server import ( "context" _ "embed" + "slices" "fmt" "strconv" "strings"