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), } }