generated from coulomb/repo-seed
Add rule PDP adapter boundary
This commit is contained in:
26
internal/adapters/rule/policy_artifact.go
Normal file
26
internal/adapters/rule/policy_artifact.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package rule
|
||||
|
||||
import (
|
||||
"github.com/netkingdom/flex-auth/internal/policy"
|
||||
"github.com/netkingdom/flex-auth/pkg/api"
|
||||
)
|
||||
|
||||
// PolicyArtifactFromPackage preserves the extracted Rego module and metadata
|
||||
// from a flex-auth Rego-in-Markdown package.
|
||||
func PolicyArtifactFromPackage(pkg *policy.Package) PolicyArtifact {
|
||||
tests := make([]string, 0, len(pkg.TestBlocks))
|
||||
for _, block := range pkg.TestBlocks {
|
||||
tests = append(tests, block.Body)
|
||||
}
|
||||
return PolicyArtifact{
|
||||
ID: pkg.Metadata.ID,
|
||||
Version: pkg.Metadata.Version,
|
||||
Language: LanguageRego,
|
||||
Package: pkg.Metadata.Package,
|
||||
Module: pkg.RegoModule,
|
||||
Tests: tests,
|
||||
Fixtures: append([]api.PolicyFixture(nil), pkg.Fixtures...),
|
||||
Caring: pkg.Metadata.Caring,
|
||||
Metadata: copyMap(pkg.Metadata.Metadata),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user