Skip to content

Commit cbbb845

Browse files
Make TPE policy validation complete (#1830)
Signed-off-by: Shaobo He <[email protected]>
1 parent 2dfca35 commit cbbb845

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

cedar-policy-core/src/tpe.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,17 @@ pub(crate) fn policy_expr_map<'a>(
4646
if !p.is_static() {
4747
return Err(NonstaticPolicyError.into());
4848
}
49+
4950
let t = p.template();
51+
52+
let errs: Vec<_> = crate::validator::Validator::validate_entity_types(schema, t)
53+
.chain(crate::validator::Validator::validate_enum_entity(schema, t))
54+
.chain(crate::validator::Validator::validate_action_ids(schema, t))
55+
.collect();
56+
if !errs.is_empty() {
57+
return Err(TPEError::Validation(errs));
58+
}
59+
5060
match tc.typecheck_by_single_request_env(t, &env) {
5161
PolicyCheck::Success(expr) => {
5262
exprs.insert(p.id(), expr);

0 commit comments

Comments
 (0)