diff --git a/internal/controlplane/handlers_artifacts.go b/internal/controlplane/handlers_artifacts.go index 9e52b2d12c..9a58b92f69 100644 --- a/internal/controlplane/handlers_artifacts.go +++ b/internal/controlplane/handlers_artifacts.go @@ -28,7 +28,7 @@ import ( "google.golang.org/protobuf/types/known/timestamppb" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/logger" "github.com/stacklok/minder/internal/util" "github.com/stacklok/minder/internal/util/ptr" @@ -38,7 +38,7 @@ import ( // ListArtifacts lists all artifacts for a given project and provider // nolint:gocyclo func (s *Server) ListArtifacts(ctx context.Context, in *pb.ListArtifactsRequest) (*pb.ListArtifactsResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID providerName := entityCtx.Provider.Name @@ -68,7 +68,7 @@ func (s *Server) GetArtifactByName(ctx context.Context, in *pb.GetArtifactByName return nil, util.UserVisibleError(codes.InvalidArgument, "invalid artifact name user repoOwner/repoName/artifactName") } - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID providerName := entityCtx.Provider.Name providerFilter := getNameFilterParam(providerName) @@ -135,7 +135,7 @@ func (s *Server) GetArtifactByName(ctx context.Context, in *pb.GetArtifactByName // GetArtifactById gets an artifact by id // nolint:gocyclo func (s *Server) GetArtifactById(ctx context.Context, in *pb.GetArtifactByIdRequest) (*pb.GetArtifactByIdResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID // tag and latest versions cannot be set at same time diff --git a/internal/controlplane/handlers_authz.go b/internal/controlplane/handlers_authz.go index 0ec41714d7..36eca5409c 100644 --- a/internal/controlplane/handlers_authz.go +++ b/internal/controlplane/handlers_authz.go @@ -32,7 +32,7 @@ import ( "github.com/stacklok/minder/internal/auth" "github.com/stacklok/minder/internal/authz" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/flags" "github.com/stacklok/minder/internal/invite" "github.com/stacklok/minder/internal/util" @@ -102,7 +102,7 @@ func ProjectAuthorizationInterceptor(ctx context.Context, req interface{}, info return nil, status.Errorf(codes.Internal, "error getting name for requested relation %v", relation) } - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) server := info.Server.(*Server) if err := server.authzClient.Check(ctx, relationName, entityCtx.Project.ID); err != nil { @@ -135,16 +135,16 @@ func populateEntityContext( } } - entityCtx := &engine.EntityContext{ - Project: engine.Project{ + entityCtx := &engcontext.EntityContext{ + Project: engcontext.Project{ ID: projectID, }, - Provider: engine.Provider{ + Provider: engcontext.Provider{ Name: getProviderFromContext(req), }, } - return engine.WithEntityContext(ctx, entityCtx), nil + return engcontext.WithEntityContext(ctx, entityCtx), nil } func getProjectIDFromContext(req any) (uuid.UUID, error) { @@ -233,7 +233,7 @@ func (s *Server) ListRoleAssignments( ) (*minder.ListRoleAssignmentsResponse, error) { invitations := make([]*minder.Invitation, 0) // Determine the target project. - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) targetProject := entityCtx.Project.ID as, err := s.authzClient.AssignmentsToProject(ctx, targetProject) @@ -300,7 +300,7 @@ func (s *Server) AssignRole(ctx context.Context, req *minder.AssignRoleRequest) email := req.GetRoleAssignment().GetEmail() // Determine the target project. - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) targetProject := entityCtx.Project.ID // Ensure user is not updating their own role @@ -496,7 +496,7 @@ func (s *Server) RemoveRole(ctx context.Context, req *minder.RemoveRoleRequest) sub := req.GetRoleAssignment().GetSubject() email := req.GetRoleAssignment().GetEmail() // Determine the target project. - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) targetProject := entityCtx.Project.ID // Ensure user is not updating their own role @@ -613,7 +613,7 @@ func (s *Server) UpdateRole(ctx context.Context, req *minder.UpdateRoleRequest) sub := req.GetSubject() // Determine the target project. - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) targetProject := entityCtx.Project.ID if sub == "" { diff --git a/internal/controlplane/handlers_authz_test.go b/internal/controlplane/handlers_authz_test.go index 2014936a31..af86a5a46d 100644 --- a/internal/controlplane/handlers_authz_test.go +++ b/internal/controlplane/handlers_authz_test.go @@ -43,7 +43,7 @@ import ( "github.com/stacklok/minder/internal/authz" "github.com/stacklok/minder/internal/authz/mock" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/flags" "github.com/stacklok/minder/internal/util" minder "github.com/stacklok/minder/pkg/api/protobuf/go/minder/v1" @@ -60,7 +60,7 @@ func (m request) GetContext() *minder.Context { // Reply type containing the detected entityContext. type replyType struct { - Context engine.EntityContext + Context engcontext.EntityContext } func TestEntityContextProjectInterceptor(t *testing.T) { @@ -83,7 +83,7 @@ func TestEntityContextProjectInterceptor(t *testing.T) { buildStubs func(t *testing.T, store *mockdb.MockStore) rpcErr error defaultProject bool - expectedContext engine.EntityContext // Only if non-error + expectedContext engcontext.EntityContext // Only if non-error }{ { name: "not implementing proto context throws error", @@ -102,7 +102,7 @@ func TestEntityContextProjectInterceptor(t *testing.T) { name: "non project owner bypasses interceptor", req: &request{}, resource: minder.TargetResource_TARGET_RESOURCE_USER, - expectedContext: engine.EntityContext{}, + expectedContext: engcontext.EntityContext{}, }, { name: "invalid request with nil context", @@ -137,9 +137,9 @@ func TestEntityContextProjectInterceptor(t *testing.T) { ID: 1, }, nil) }, - expectedContext: engine.EntityContext{ + expectedContext: engcontext.EntityContext{ // Uses the default project id - Project: engine.Project{ID: defaultProjectID}, + Project: engcontext.Project{ID: defaultProjectID}, }, }, { name: "no provider", @@ -149,8 +149,8 @@ func TestEntityContextProjectInterceptor(t *testing.T) { }, }, resource: minder.TargetResource_TARGET_RESOURCE_PROJECT, - expectedContext: engine.EntityContext{ - Project: engine.Project{ID: projectID}, + expectedContext: engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, }, }, { name: "sets entity context", @@ -161,9 +161,9 @@ func TestEntityContextProjectInterceptor(t *testing.T) { }, }, resource: minder.TargetResource_TARGET_RESOURCE_PROJECT, - expectedContext: engine.EntityContext{ - Project: engine.Project{ID: projectID}, - Provider: engine.Provider{Name: provider}, + expectedContext: engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, + Provider: engcontext.Provider{Name: provider}, }, }, } @@ -177,7 +177,7 @@ func TestEntityContextProjectInterceptor(t *testing.T) { } unaryHandler := func(ctx context.Context, _ interface{}) (any, error) { - return replyType{engine.EntityFromContext(ctx)}, nil + return replyType{engcontext.EntityFromContext(ctx)}, nil } ctrl := gomock.NewController(t) @@ -226,25 +226,25 @@ func TestProjectAuthorizationInterceptor(t *testing.T) { testCases := []struct { name string - entityCtx *engine.EntityContext + entityCtx *engcontext.EntityContext resource minder.TargetResource rpcErr error }{ { name: "anonymous bypasses interceptor", - entityCtx: &engine.EntityContext{}, + entityCtx: &engcontext.EntityContext{}, resource: minder.TargetResource_TARGET_RESOURCE_NONE, }, { name: "non project owner bypasses interceptor", resource: minder.TargetResource_TARGET_RESOURCE_USER, - entityCtx: &engine.EntityContext{}, + entityCtx: &engcontext.EntityContext{}, }, { name: "not authorized on project error", resource: minder.TargetResource_TARGET_RESOURCE_PROJECT, - entityCtx: &engine.EntityContext{ - Project: engine.Project{ + entityCtx: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: projectID, }, }, @@ -255,8 +255,8 @@ func TestProjectAuthorizationInterceptor(t *testing.T) { { name: "authorized on project", resource: minder.TargetResource_TARGET_RESOURCE_PROJECT, - entityCtx: &engine.EntityContext{ - Project: engine.Project{ + entityCtx: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: defaultProjectID, }, }, @@ -272,7 +272,7 @@ func TestProjectAuthorizationInterceptor(t *testing.T) { } unaryHandler := func(ctx context.Context, _ interface{}) (any, error) { - return replyType{engine.EntityFromContext(ctx)}, nil + return replyType{engcontext.EntityFromContext(ctx)}, nil } server := Server{ authzClient: &mock.SimpleClient{ @@ -280,7 +280,7 @@ func TestProjectAuthorizationInterceptor(t *testing.T) { }, } ctx := withRpcOptions(context.Background(), rpcOptions) - ctx = engine.WithEntityContext(ctx, tc.entityCtx) + ctx = engcontext.WithEntityContext(ctx, tc.entityCtx) ctx = auth.WithAuthTokenContext(ctx, userJWT) _, err := ProjectAuthorizationInterceptor(ctx, request{}, &grpc.UnaryServerInfo{ Server: &server, @@ -505,8 +505,8 @@ func TestRoleManagement(t *testing.T) { ctx := context.Background() ctx = auth.WithAuthTokenContext(ctx, user) - ctx = engine.WithEntityContext(ctx, &engine.EntityContext{ - Project: engine.Project{ + ctx = engcontext.WithEntityContext(ctx, &engcontext.EntityContext{ + Project: engcontext.Project{ ID: project, }, }) diff --git a/internal/controlplane/handlers_entities.go b/internal/controlplane/handlers_entities.go index f5d827cc26..0b434af8b7 100644 --- a/internal/controlplane/handlers_entities.go +++ b/internal/controlplane/handlers_entities.go @@ -24,7 +24,7 @@ import ( "google.golang.org/grpc/codes" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/events" "github.com/stacklok/minder/internal/logger" "github.com/stacklok/minder/internal/providers" @@ -44,7 +44,7 @@ func (s *Server) ReconcileEntityRegistration( ) (*pb.ReconcileEntityRegistrationResponse, error) { l := zerolog.Ctx(ctx).With().Logger() - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID logger.BusinessRecord(ctx).Project = projectID diff --git a/internal/controlplane/handlers_entities_test.go b/internal/controlplane/handlers_entities_test.go index e77c5521a9..bcbf73f3e8 100644 --- a/internal/controlplane/handlers_entities_test.go +++ b/internal/controlplane/handlers_entities_test.go @@ -22,7 +22,7 @@ import ( "go.uber.org/mock/gomock" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" mockevents "github.com/stacklok/minder/internal/events/mock" mockgh "github.com/stacklok/minder/internal/providers/github/mock" mockmanager "github.com/stacklok/minder/internal/providers/manager/mock" @@ -97,8 +97,8 @@ func TestServer_ReconcileEntityRegistration(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() - ctx := engine.WithEntityContext(context.Background(), &engine.EntityContext{ - Project: engine.Project{ID: projectID}, + ctx := engcontext.WithEntityContext(context.Background(), &engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, }) manager := mockmanager.NewMockProviderManager(ctrl) diff --git a/internal/controlplane/handlers_evalstatus.go b/internal/controlplane/handlers_evalstatus.go index 36b0254d1e..dd50f39f23 100644 --- a/internal/controlplane/handlers_evalstatus.go +++ b/internal/controlplane/handlers_evalstatus.go @@ -26,7 +26,7 @@ import ( "google.golang.org/protobuf/types/known/timestamppb" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" minderv1 "github.com/stacklok/minder/pkg/api/protobuf/go/minder/v1" ) @@ -36,7 +36,7 @@ func (s *Server) ListEvaluationResults( ctx context.Context, in *minderv1.ListEvaluationResultsRequest, ) (*minderv1.ListEvaluationResultsResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID if _, err := uuid.Parse(in.GetProfile()); err != nil && in.GetProfile() != "" { diff --git a/internal/controlplane/handlers_oauth.go b/internal/controlplane/handlers_oauth.go index f1db4ecdba..25d98de159 100644 --- a/internal/controlplane/handlers_oauth.go +++ b/internal/controlplane/handlers_oauth.go @@ -39,7 +39,7 @@ import ( "github.com/stacklok/minder/internal/auth" mcrypto "github.com/stacklok/minder/internal/crypto" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/logger" "github.com/stacklok/minder/internal/providers" "github.com/stacklok/minder/internal/providers/credentials" @@ -55,7 +55,7 @@ import ( // nolint:gocyclo func (s *Server) GetAuthorizationURL(ctx context.Context, req *pb.GetAuthorizationURLRequest) (*pb.GetAuthorizationURLResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID var providerName string @@ -469,7 +469,7 @@ func (s *Server) handleAppInstallWithoutInvite(ctx context.Context, token *oauth // StoreProviderToken stores the provider token for a project func (s *Server) StoreProviderToken(ctx context.Context, in *pb.StoreProviderTokenRequest) (*pb.StoreProviderTokenResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID providerName := entityCtx.Provider.Name @@ -541,7 +541,7 @@ func (s *Server) StoreProviderToken(ctx context.Context, // Deprecated: Use VerifyProviderCredential instead func (s *Server) VerifyProviderTokenFrom(ctx context.Context, in *pb.VerifyProviderTokenFromRequest) (*pb.VerifyProviderTokenFromResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID providerName := entityCtx.Provider.Name @@ -605,7 +605,7 @@ func (s *Server) VerifyProviderTokenFrom(ctx context.Context, // VerifyProviderCredential verifies the provider credential has been created for the matching enrollment nonce func (s *Server) VerifyProviderCredential(ctx context.Context, in *pb.VerifyProviderCredentialRequest) (*pb.VerifyProviderCredentialResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID enrollmentNonce := in.EnrollmentNonce diff --git a/internal/controlplane/handlers_oauth_test.go b/internal/controlplane/handlers_oauth_test.go index b118899f82..54346ca61c 100644 --- a/internal/controlplane/handlers_oauth_test.go +++ b/internal/controlplane/handlers_oauth_test.go @@ -48,7 +48,7 @@ import ( "github.com/stacklok/minder/internal/controlplane/metrics" "github.com/stacklok/minder/internal/crypto" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/events" "github.com/stacklok/minder/internal/providers" "github.com/stacklok/minder/internal/providers/dockerhub" @@ -349,7 +349,7 @@ func TestGetAuthorizationURL(t *testing.T) { TargetResource: pb.TargetResource_TARGET_RESOURCE_USER, } - baseCtx := withRpcOptions(context.Background(), rpcOptions) + basengcontext := withRpcOptions(context.Background(), rpcOptions) userJWT := openid.New() if err := userJWT.Set("sub", "testuser"); err != nil { @@ -357,8 +357,8 @@ func TestGetAuthorizationURL(t *testing.T) { } // Set the entity context - baseCtx = engine.WithEntityContext(baseCtx, &engine.EntityContext{ - Project: engine.Project{ + basengcontext = engcontext.WithEntityContext(basengcontext, &engcontext.EntityContext{ + Project: engcontext.Project{ ID: projectID, }, }) @@ -375,7 +375,7 @@ func TestGetAuthorizationURL(t *testing.T) { if tc.getToken != nil { token = tc.getToken(token) } - ctx := auth.WithAuthTokenContext(baseCtx, token) + ctx := auth.WithAuthTokenContext(basengcontext, token) ctrl := gomock.NewController(t) defer ctrl.Finish() @@ -993,8 +993,8 @@ func TestVerifyProviderCredential(t *testing.T) { t.Run(tc.name, func(t *testing.T) { t.Parallel() - ctx := engine.WithEntityContext(context.Background(), &engine.EntityContext{ - Project: engine.Project{ID: projectID}, + ctx := engcontext.WithEntityContext(context.Background(), &engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, }) ctrl := gomock.NewController(t) diff --git a/internal/controlplane/handlers_profile.go b/internal/controlplane/handlers_profile.go index f91bca3912..3528418ec3 100644 --- a/internal/controlplane/handlers_profile.go +++ b/internal/controlplane/handlers_profile.go @@ -29,7 +29,7 @@ import ( "google.golang.org/protobuf/types/known/timestamppb" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/engine/entities" "github.com/stacklok/minder/internal/logger" prof "github.com/stacklok/minder/internal/profiles" @@ -48,7 +48,7 @@ func (s *Server) CreateProfile(ctx context.Context, return nil, status.Errorf(codes.InvalidArgument, "invalid profile: %v", err) } - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) // validate that project is valid and exist in the db err := entityCtx.ValidateProject(ctx, s.store) @@ -74,7 +74,7 @@ func (s *Server) CreateProfile(ctx context.Context, // DeleteProfile is a method to delete a profile func (s *Server) DeleteProfile(ctx context.Context, in *minderv1.DeleteProfileRequest) (*minderv1.DeleteProfileResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { @@ -122,7 +122,7 @@ func (s *Server) DeleteProfile(ctx context.Context, // ListProfiles is a method to get all profiles for a project func (s *Server) ListProfiles(ctx context.Context, req *minderv1.ListProfilesRequest) (*minderv1.ListProfilesResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { @@ -167,7 +167,7 @@ func (s *Server) ListProfiles(ctx context.Context, func (s *Server) GetProfileById(ctx context.Context, in *minderv1.GetProfileByIdRequest) (*minderv1.GetProfileByIdResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { @@ -200,7 +200,7 @@ func (s *Server) GetProfileById(ctx context.Context, func getProfilePBFromDB( ctx context.Context, id uuid.UUID, - entityCtx engine.EntityContext, + entityCtx engcontext.EntityContext, querier db.ExtendQuerier, ) (*minderv1.Profile, error) { profiles, err := querier.GetProfileByProjectAndID(ctx, db.GetProfileByProjectAndIDParams{ @@ -272,7 +272,7 @@ func getRuleEvalEntityInfo( func (s *Server) GetProfileStatusByName(ctx context.Context, in *minderv1.GetProfileStatusByNameRequest) (*minderv1.GetProfileStatusByNameResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID err := entityCtx.ValidateProject(ctx, s.store) @@ -489,7 +489,7 @@ func getRuleEvalStatus( func (s *Server) GetProfileStatusByProject(ctx context.Context, _ *minderv1.GetProfileStatusByProjectRequest) (*minderv1.GetProfileStatusByProjectResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { @@ -526,7 +526,7 @@ func (s *Server) GetProfileStatusByProject(ctx context.Context, // PatchProfile updates a profile for a project with a partial request func (s *Server) PatchProfile(ctx context.Context, ppr *minderv1.PatchProfileRequest) (*minderv1.PatchProfileResponse, error) { patch := ppr.GetPatch() - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { @@ -560,7 +560,7 @@ func (s *Server) UpdateProfile(ctx context.Context, cpr *minderv1.UpdateProfileRequest) (*minderv1.UpdateProfileResponse, error) { in := cpr.GetProfile() - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { diff --git a/internal/controlplane/handlers_profile_test.go b/internal/controlplane/handlers_profile_test.go index e51495d495..0928f6a6d7 100644 --- a/internal/controlplane/handlers_profile_test.go +++ b/internal/controlplane/handlers_profile_test.go @@ -31,7 +31,7 @@ import ( "github.com/stacklok/minder/internal/db" "github.com/stacklok/minder/internal/db/embedded" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" stubeventer "github.com/stacklok/minder/internal/events/stubs" "github.com/stacklok/minder/internal/profiles" "github.com/stacklok/minder/internal/providers" @@ -371,8 +371,8 @@ func TestCreateProfile(t *testing.T) { } } - ctx := engine.WithEntityContext(context.Background(), &engine.EntityContext{ - Project: engine.Project{ID: dbproj.ID}, + ctx := engcontext.WithEntityContext(context.Background(), &engcontext.EntityContext{ + Project: engcontext.Project{ID: dbproj.ID}, }) evts := &stubeventer.StubEventer{} s := &Server{ @@ -926,8 +926,8 @@ func TestPatchProfile(t *testing.T) { t.Run(tc.name, func(t *testing.T) { t.Parallel() - ctx := engine.WithEntityContext(context.Background(), &engine.EntityContext{ - Project: engine.Project{ID: dbproj.ID}, + ctx := engcontext.WithEntityContext(context.Background(), &engcontext.EntityContext{ + Project: engcontext.Project{ID: dbproj.ID}, }) evts := &stubeventer.StubEventer{} s := &Server{ @@ -1034,8 +1034,8 @@ func TestPatchManagedProfile(t *testing.T) { }) require.NoError(t, err) - ctx = engine.WithEntityContext(context.Background(), &engine.EntityContext{ - Project: engine.Project{ID: dbproj.ID}, + ctx = engcontext.WithEntityContext(context.Background(), &engcontext.EntityContext{ + Project: engcontext.Project{ID: dbproj.ID}, }) evts := &stubeventer.StubEventer{} s := &Server{ diff --git a/internal/controlplane/handlers_projects.go b/internal/controlplane/handlers_projects.go index 0f645d7599..81f89adbed 100644 --- a/internal/controlplane/handlers_projects.go +++ b/internal/controlplane/handlers_projects.go @@ -28,7 +28,7 @@ import ( "github.com/stacklok/minder/internal/auth" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/projects" "github.com/stacklok/minder/internal/projects/features" "github.com/stacklok/minder/internal/util" @@ -91,7 +91,7 @@ func (s *Server) ListChildProjects( ctx context.Context, req *minderv1.ListChildProjectsRequest, ) (*minderv1.ListChildProjectsResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID var projs []*minderv1.Project @@ -164,7 +164,7 @@ func (s *Server) CreateProject( ctx context.Context, req *minderv1.CreateProjectRequest, ) (*minderv1.CreateProjectResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID if !features.ProjectAllowsProjectHierarchyOperations(ctx, s.store, projectID) { @@ -236,7 +236,7 @@ func (s *Server) DeleteProject( ctx context.Context, _ *minderv1.DeleteProjectRequest, ) (*minderv1.DeleteProjectResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID tx, err := s.store.BeginTransaction() @@ -285,7 +285,7 @@ func (s *Server) UpdateProject( ctx context.Context, req *minderv1.UpdateProjectRequest, ) (*minderv1.UpdateProjectResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID tx, err := s.store.BeginTransaction() @@ -355,7 +355,7 @@ func (s *Server) PatchProject( ctx context.Context, req *minderv1.PatchProjectRequest, ) (*minderv1.PatchProjectResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID tx, err := s.store.BeginTransaction() diff --git a/internal/controlplane/handlers_providers.go b/internal/controlplane/handlers_providers.go index b2241b6da8..0a7948fd0a 100644 --- a/internal/controlplane/handlers_providers.go +++ b/internal/controlplane/handlers_providers.go @@ -31,7 +31,7 @@ import ( config "github.com/stacklok/minder/internal/config/server" "github.com/stacklok/minder/internal/crypto" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/providers" "github.com/stacklok/minder/internal/util" cursorutil "github.com/stacklok/minder/internal/util/cursor" @@ -42,7 +42,7 @@ import ( func (s *Server) CreateProvider( ctx context.Context, req *minderv1.CreateProviderRequest, ) (*minderv1.CreateProviderResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID provider := req.GetProvider() @@ -88,7 +88,7 @@ func (s *Server) CreateProvider( // GetProvider gets a given provider available in a specific project. func (s *Server) GetProvider(ctx context.Context, req *minderv1.GetProviderRequest) (*minderv1.GetProviderResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID dbProv, err := s.providerStore.GetByNameInSpecificProject(ctx, projectID, req.GetName()) @@ -111,7 +111,7 @@ func (s *Server) GetProvider(ctx context.Context, req *minderv1.GetProviderReque // ListProviders lists the providers available in a specific project. func (s *Server) ListProviders(ctx context.Context, req *minderv1.ListProvidersRequest) (*minderv1.ListProvidersResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID params := db.ListProvidersByProjectIDPaginatedParams{ @@ -188,7 +188,7 @@ func (s *Server) DeleteProvider( ctx context.Context, _ *minderv1.DeleteProviderRequest, ) (*minderv1.DeleteProviderResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID providerName := entityCtx.Provider.Name @@ -214,7 +214,7 @@ func (s *Server) DeleteProviderByID( ctx context.Context, in *minderv1.DeleteProviderByIDRequest, ) (*minderv1.DeleteProviderByIDResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID parsedProviderID, err := uuid.Parse(in.Id) @@ -240,7 +240,7 @@ func (s *Server) PatchProvider( ctx context.Context, req *minderv1.PatchProviderRequest, ) (*minderv1.PatchProviderResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID providerName := entityCtx.Provider.Name diff --git a/internal/controlplane/handlers_providers_test.go b/internal/controlplane/handlers_providers_test.go index 6ef7746916..7b692dee4e 100644 --- a/internal/controlplane/handlers_providers_test.go +++ b/internal/controlplane/handlers_providers_test.go @@ -43,7 +43,7 @@ import ( "github.com/stacklok/minder/internal/crypto/algorithms" mockcrypto "github.com/stacklok/minder/internal/crypto/mock" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/providers" "github.com/stacklok/minder/internal/providers/dockerhub" ghmanager "github.com/stacklok/minder/internal/providers/github/manager" @@ -243,9 +243,9 @@ func TestCreateProvider(t *testing.T) { ctx := context.Background() ctx = auth.WithAuthTokenContext(ctx, user) - ctx = engine.WithEntityContext(ctx, &engine.EntityContext{ - Project: engine.Project{ID: projectID}, - Provider: engine.Provider{Name: scenario.name}, + ctx = engcontext.WithEntityContext(ctx, &engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, + Provider: engcontext.Provider{Name: scenario.name}, }) jsonConfig, err := scenario.expected.Config.MarshalJSON() @@ -355,9 +355,9 @@ func TestCreateProviderFailures(t *testing.T) { ctx := context.Background() ctx = auth.WithAuthTokenContext(ctx, user) - ctx = engine.WithEntityContext(ctx, &engine.EntityContext{ - Project: engine.Project{ID: projectID}, - Provider: engine.Provider{Name: providerName}, + ctx = engcontext.WithEntityContext(ctx, &engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, + Provider: engcontext.Provider{Name: providerName}, }) fakeServer.mockStore.EXPECT().CreateProvider(gomock.Any(), gomock.Any()). @@ -592,9 +592,9 @@ func TestDeleteProvider(t *testing.T) { ctx := context.Background() ctx = auth.WithAuthTokenContext(ctx, user) - ctx = engine.WithEntityContext(ctx, &engine.EntityContext{ - Project: engine.Project{ID: projectID}, - Provider: engine.Provider{Name: providerName}, + ctx = engcontext.WithEntityContext(ctx, &engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, + Provider: engcontext.Provider{Name: providerName}, }) resp, err := server.DeleteProvider(ctx, &minder.DeleteProviderRequest{ @@ -705,8 +705,8 @@ func TestDeleteProviderByID(t *testing.T) { ctx := context.Background() ctx = auth.WithAuthTokenContext(ctx, user) - ctx = engine.WithEntityContext(ctx, &engine.EntityContext{ - Project: engine.Project{ID: projectID}, + ctx = engcontext.WithEntityContext(ctx, &engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, }) resp, err := server.DeleteProviderByID(ctx, &minder.DeleteProviderByIDRequest{ diff --git a/internal/controlplane/handlers_reconciliationtasks.go b/internal/controlplane/handlers_reconciliationtasks.go index 712d78637a..079379e47c 100644 --- a/internal/controlplane/handlers_reconciliationtasks.go +++ b/internal/controlplane/handlers_reconciliationtasks.go @@ -26,7 +26,7 @@ import ( "google.golang.org/grpc/status" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/events" "github.com/stacklok/minder/internal/logger" reconcilers "github.com/stacklok/minder/internal/reconcilers/messages" @@ -39,7 +39,7 @@ func (s *Server) CreateEntityReconciliationTask(ctx context.Context, *pb.CreateEntityReconciliationTaskResponse, error, ) { // Populated by EntityContextProjectInterceptor using incoming request - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.Validate(ctx, s.store, s.providerStore) if err != nil { return nil, status.Errorf(codes.InvalidArgument, "error in entity context: %v", err) @@ -74,7 +74,7 @@ func (s *Server) CreateEntityReconciliationTask(ctx context.Context, } func getRepositoryReconciliationMessage(ctx context.Context, store db.Store, - repoIdString string, entityCtx engine.EntityContext) (*message.Message, error) { + repoIdString string, entityCtx engcontext.EntityContext) (*message.Message, error) { repoUUID, err := uuid.Parse(repoIdString) if err != nil { return nil, status.Errorf(codes.InvalidArgument, "error parsing repository id: %v", err) diff --git a/internal/controlplane/handlers_reconciliationtasks_test.go b/internal/controlplane/handlers_reconciliationtasks_test.go index 24d2887d5f..af1e2fcea5 100644 --- a/internal/controlplane/handlers_reconciliationtasks_test.go +++ b/internal/controlplane/handlers_reconciliationtasks_test.go @@ -25,7 +25,7 @@ import ( mockdb "github.com/stacklok/minder/database/mock" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" stubeventer "github.com/stacklok/minder/internal/events/stubs" "github.com/stacklok/minder/internal/providers" pb "github.com/stacklok/minder/pkg/api/protobuf/go/minder/v1" @@ -39,8 +39,8 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { tests := []struct { name string input *pb.CreateEntityReconciliationTaskRequest - entityContext *engine.EntityContext - setup func(store *mockdb.MockStore, entityContext *engine.EntityContext) + entityContext *engcontext.EntityContext + setup func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) err string }{ { @@ -51,15 +51,15 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { Id: repoUuid.String(), }, }, - entityContext: &engine.EntityContext{ - Project: engine.Project{ + entityContext: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: uuid.New(), }, - Provider: engine.Provider{ + Provider: engcontext.Provider{ Name: ghProvider, }, }, - setup: func(store *mockdb.MockStore, entityContext *engine.EntityContext) { + setup: func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) { projId := entityContext.Project.ID prov := entityContext.Provider.Name setupTestingEntityContextValidation(store, projId, prov) @@ -84,13 +84,13 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { Id: repoUuid.String(), }, }, - entityContext: &engine.EntityContext{ - Project: engine.Project{ + entityContext: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: uuid.New(), }, - Provider: engine.Provider{}, + Provider: engcontext.Provider{}, }, - setup: func(store *mockdb.MockStore, entityContext *engine.EntityContext) { + setup: func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) { projId := entityContext.Project.ID store.EXPECT(). GetProjectByID(gomock.Any(), projId). @@ -125,15 +125,15 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { Id: repoUuid.String(), }, }, - entityContext: &engine.EntityContext{ - Project: engine.Project{ + entityContext: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: uuid.New(), }, - Provider: engine.Provider{ + Provider: engcontext.Provider{ Name: ghProvider, }, }, - setup: func(store *mockdb.MockStore, entityContext *engine.EntityContext) { + setup: func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) { projId := entityContext.Project.ID store.EXPECT(). GetProjectByID(gomock.Any(), projId). @@ -149,15 +149,15 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { Id: repoUuid.String(), }, }, - entityContext: &engine.EntityContext{ - Project: engine.Project{ + entityContext: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: uuid.New(), }, - Provider: engine.Provider{ + Provider: engcontext.Provider{ Name: ghProvider, }, }, - setup: func(store *mockdb.MockStore, entityContext *engine.EntityContext) { + setup: func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) { projId := entityContext.Project.ID prov := entityContext.Provider.Name setupTestingEntityContextValidation(store, projId, prov) @@ -178,15 +178,15 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { Id: repoUuid.String(), }, }, - entityContext: &engine.EntityContext{ - Project: engine.Project{ + entityContext: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: uuid.New(), }, - Provider: engine.Provider{ + Provider: engcontext.Provider{ Name: ghProvider, }, }, - setup: func(store *mockdb.MockStore, entityContext *engine.EntityContext) { + setup: func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) { projId := entityContext.Project.ID prov := entityContext.Provider.Name setupTestingEntityContextValidation(store, projId, prov) @@ -207,15 +207,15 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { Id: "foo", }, }, - entityContext: &engine.EntityContext{ - Project: engine.Project{ + entityContext: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: uuid.New(), }, - Provider: engine.Provider{ + Provider: engcontext.Provider{ Name: ghProvider, }, }, - setup: func(store *mockdb.MockStore, entityContext *engine.EntityContext) { + setup: func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) { projId := entityContext.Project.ID prov := entityContext.Provider.Name setupTestingEntityContextValidation(store, projId, prov) @@ -229,15 +229,15 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { Type: pb.Entity_ENTITY_UNSPECIFIED, }, }, - entityContext: &engine.EntityContext{ - Project: engine.Project{ + entityContext: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: uuid.New(), }, - Provider: engine.Provider{ + Provider: engcontext.Provider{ Name: ghProvider, }, }, - setup: func(store *mockdb.MockStore, entityContext *engine.EntityContext) { + setup: func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) { projId := entityContext.Project.ID prov := entityContext.Provider.Name setupTestingEntityContextValidation(store, projId, prov) @@ -249,15 +249,15 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { input: &pb.CreateEntityReconciliationTaskRequest{ Entity: nil, }, - entityContext: &engine.EntityContext{ - Project: engine.Project{ + entityContext: &engcontext.EntityContext{ + Project: engcontext.Project{ ID: uuid.New(), }, - Provider: engine.Provider{ + Provider: engcontext.Provider{ Name: ghProvider, }, }, - setup: func(store *mockdb.MockStore, entityContext *engine.EntityContext) { + setup: func(store *mockdb.MockStore, entityContext *engcontext.EntityContext) { projId := entityContext.Project.ID prov := entityContext.Provider.Name setupTestingEntityContextValidation(store, projId, prov) @@ -285,7 +285,7 @@ func TestServer_CreateRepositoryReconciliationTask(t *testing.T) { providerStore: providers.NewProviderStore(mockStore), } - ctx := engine.WithEntityContext(context.Background(), tt.entityContext) + ctx := engcontext.WithEntityContext(context.Background(), tt.entityContext) _, err := s.CreateEntityReconciliationTask(ctx, tt.input) if tt.err != "" { require.Error(t, err) diff --git a/internal/controlplane/handlers_repositories.go b/internal/controlplane/handlers_repositories.go index 4d462f5ebf..0f90ff670a 100644 --- a/internal/controlplane/handlers_repositories.go +++ b/internal/controlplane/handlers_repositories.go @@ -28,7 +28,7 @@ import ( "google.golang.org/grpc/status" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/logger" "github.com/stacklok/minder/internal/projects/features" "github.com/stacklok/minder/internal/providers" @@ -104,7 +104,7 @@ func (s *Server) RegisterRepository( // repositories that are registered present in the minder database func (s *Server) ListRepositories(ctx context.Context, in *pb.ListRepositoriesRequest) (*pb.ListRepositoriesResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID providerName := entityCtx.Provider.Name @@ -222,7 +222,7 @@ func (s *Server) GetRepositoryByName(ctx context.Context, return nil, util.UserVisibleError(codes.InvalidArgument, "invalid repository name, needs to have the format: owner/name") } - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID // TODO: move this lookup logic out of the controlplane @@ -312,7 +312,7 @@ func (s *Server) ListRemoteRepositoriesFromProvider( ctx context.Context, in *pb.ListRemoteRepositoriesFromProviderRequest, ) (*pb.ListRemoteRepositoriesFromProviderResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) projectID := entityCtx.Project.ID // Telemetry logging @@ -480,11 +480,11 @@ func (s *Server) inferProviderByOwner(ctx context.Context, owner string, project } func getProjectID(ctx context.Context) uuid.UUID { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) return entityCtx.Project.ID } func getProviderName(ctx context.Context) string { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) return entityCtx.Provider.Name } diff --git a/internal/controlplane/handlers_repositories_test.go b/internal/controlplane/handlers_repositories_test.go index 53d870b66f..fb0171e1a4 100644 --- a/internal/controlplane/handlers_repositories_test.go +++ b/internal/controlplane/handlers_repositories_test.go @@ -29,7 +29,7 @@ import ( mockdb "github.com/stacklok/minder/database/mock" "github.com/stacklok/minder/internal/config/server" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/providers" ghprovider "github.com/stacklok/minder/internal/providers/github/clients" mockgh "github.com/stacklok/minder/internal/providers/github/mock" @@ -135,9 +135,9 @@ func TestServer_RegisterRepository(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() - ctx := engine.WithEntityContext(context.Background(), &engine.EntityContext{ - Provider: engine.Provider{Name: ghprovider.Github}, - Project: engine.Project{ID: projectID}, + ctx := engcontext.WithEntityContext(context.Background(), &engcontext.EntityContext{ + Provider: engcontext.Provider{Name: ghprovider.Github}, + Project: engcontext.Project{ID: projectID}, }) server := createServer( @@ -218,8 +218,8 @@ func TestServer_ListRemoteRepositoriesFromProvider(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() - ctx := engine.WithEntityContext(context.Background(), &engine.EntityContext{ - Project: engine.Project{ID: projectID}, + ctx := engcontext.WithEntityContext(context.Background(), &engcontext.EntityContext{ + Project: engcontext.Project{ID: projectID}, }) prov := scenario.GitHubSetup(ctrl) @@ -322,9 +322,9 @@ func TestServer_DeleteRepository(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) defer ctrl.Finish() - ctx := engine.WithEntityContext(context.Background(), &engine.EntityContext{ - Provider: engine.Provider{Name: ghprovider.Github}, - Project: engine.Project{ID: projectID}, + ctx := engcontext.WithEntityContext(context.Background(), &engcontext.EntityContext{ + Provider: engcontext.Provider{Name: ghprovider.Github}, + Project: engcontext.Project{ID: projectID}, }) server := createServer( diff --git a/internal/controlplane/handlers_ruletype.go b/internal/controlplane/handlers_ruletype.go index cbd77c5406..5932d33728 100644 --- a/internal/controlplane/handlers_ruletype.go +++ b/internal/controlplane/handlers_ruletype.go @@ -26,7 +26,7 @@ import ( "google.golang.org/grpc/status" "github.com/stacklok/minder/internal/db" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" "github.com/stacklok/minder/internal/logger" "github.com/stacklok/minder/internal/ruletypes" "github.com/stacklok/minder/internal/util" @@ -38,7 +38,7 @@ func (s *Server) ListRuleTypes( ctx context.Context, _ *minderv1.ListRuleTypesRequest, ) (*minderv1.ListRuleTypesResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { @@ -73,7 +73,7 @@ func (s *Server) GetRuleTypeByName( ctx context.Context, in *minderv1.GetRuleTypeByNameRequest, ) (*minderv1.GetRuleTypeByNameResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { @@ -112,7 +112,7 @@ func (s *Server) GetRuleTypeById( ctx context.Context, in *minderv1.GetRuleTypeByIdRequest, ) (*minderv1.GetRuleTypeByIdResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { @@ -152,7 +152,7 @@ func (s *Server) CreateRuleType( ctx context.Context, crt *minderv1.CreateRuleTypeRequest, ) (*minderv1.CreateRuleTypeResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { return nil, status.Errorf(codes.InvalidArgument, "error in entity context: %v", err) @@ -182,7 +182,7 @@ func (s *Server) UpdateRuleType( ctx context.Context, urt *minderv1.UpdateRuleTypeRequest, ) (*minderv1.UpdateRuleTypeResponse, error) { - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err := entityCtx.ValidateProject(ctx, s.store) if err != nil { return nil, status.Errorf(codes.InvalidArgument, "error in entity context: %v", err) @@ -233,7 +233,7 @@ func (s *Server) DeleteRuleType( return nil, status.Errorf(codes.InvalidArgument, "cannot delete rule type from bundle") } - entityCtx := engine.EntityFromContext(ctx) + entityCtx := engcontext.EntityFromContext(ctx) err = entityCtx.ValidateProject(ctx, s.store) if err != nil { diff --git a/internal/engine/context.go b/internal/engine/engcontext/context.go similarity index 97% rename from internal/engine/context.go rename to internal/engine/engcontext/context.go index 0d372f418c..01f8850596 100644 --- a/internal/engine/context.go +++ b/internal/engine/engcontext/context.go @@ -12,7 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -package engine +// Package engcontext defines the EngineContext type. +package engcontext import ( "context" diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 9d8f6a34db..ddab910298 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -27,7 +27,7 @@ import ( "github.com/stacklok/minder/internal/auth" config "github.com/stacklok/minder/internal/config/server" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" ) // Experiment is a type alias for a feature flag experiment, to ensure that all feature flags @@ -37,7 +37,7 @@ type Experiment string // fromContext extracts the targeting flags from the current context. func fromContext(ctx context.Context) openfeature.EvaluationContext { // Note: engine.EntityFromContext is best-effort, so these values may be zero. - ec := engine.EntityFromContext(ctx) + ec := engcontext.EntityFromContext(ctx) return openfeature.NewEvaluationContext( auth.GetUserSubjectFromContext(ctx), map[string]interface{}{ diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index c283074832..0e4a4722b0 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -29,7 +29,7 @@ import ( "github.com/stacklok/minder/internal/auth" config "github.com/stacklok/minder/internal/config/server" - "github.com/stacklok/minder/internal/engine" + "github.com/stacklok/minder/internal/engine/engcontext" ) // nolint: tparallel @@ -94,9 +94,9 @@ idp_resolver: t.Fatalf("failed to set sub claim: %v", err) } ctx = auth.WithAuthTokenContext(ctx, userJWT) - ctx = engine.WithEntityContext(ctx, &engine.EntityContext{ - Project: engine.Project{ID: uuid.New()}, - Provider: engine.Provider{Name: "testing"}, + ctx = engcontext.WithEntityContext(ctx, &engcontext.EntityContext{ + Project: engcontext.Project{ID: uuid.New()}, + Provider: engcontext.Provider{Name: "testing"}, }) flagResult := Bool(ctx, client, IDPResolver)