Skip to content

Commit

Permalink
🐛 Check frameworks when assigning and bailing early (#646)
Browse files Browse the repository at this point in the history
Co-authored-by: Preslav Gerchev <preslavgerchevmail@gmail.com>
  • Loading branch information
jaym and preslavgerchev authored Jul 10, 2023
1 parent e12c5a6 commit 9aec663
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions policy/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ type AssetMutation struct {
// 2. asset is local (via incognito mode) but policy is upstream
// 3. asset and policy are upstream
func (s *LocalServices) Assign(ctx context.Context, assignment *PolicyAssignment) (*Empty, error) {
if len(assignment.PolicyMrns) == 0 {
return nil, status.Error(codes.InvalidArgument, "a policy mrn is required")
if len(assignment.PolicyMrns)+len(assignment.FrameworkMrns) == 0 {
return nil, status.Error(codes.InvalidArgument, "a policy or framework mrn is required")
}

// all remote, call upstream
Expand All @@ -61,7 +61,9 @@ func (s *LocalServices) Assign(ctx context.Context, assignment *PolicyAssignment
}
}

s.DataLake.EnsureAsset(ctx, assignment.AssetMrn)
if err := s.DataLake.EnsureAsset(ctx, assignment.AssetMrn); err != nil {
return nil, err
}

policyActions := map[string]explorer.Action{}
for i := range assignment.PolicyMrns {
Expand Down

0 comments on commit 9aec663

Please sign in to comment.