generated from coulomb/repo-seed
27 lines
780 B
Go
27 lines
780 B
Go
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),
|
|
}
|
|
}
|