diff --git a/policy/diamond/policy/session/session.rego b/policy/diamond/policy/session/session.rego index 8339b18..1215271 100644 --- a/policy/diamond/policy/session/session.rego +++ b/policy/diamond/policy/session/session.rego @@ -56,8 +56,11 @@ write_to_beamline_visit if { matches_beamline } -user_sessions contains session if { - subject := token.claims.fedid +user_sessions contains user_session if { some session in data.diamond.data.sessions - access_session(subject, session.proposal_number, session.visit_number) + access_session(token.claims.fedid, session.proposal_number, session.visit_number) + user_session := sprintf( + "\"proposal_number\": %d, \"visit_number\": %d, \"beamline\": %s", + [session.proposal_number, session.visit_number, session.beamline], + ) } diff --git a/policy/diamond/policy/session/session_test.rego b/policy/diamond/policy/session/session_test.rego index 9d40bb9..7202a0d 100644 --- a/policy/diamond/policy/session/session_test.rego +++ b/policy/diamond/policy/session/session_test.rego @@ -186,18 +186,18 @@ test_user_session_tags if { session.user_sessions == set() with data.diamond.data as diamond_data with data.diamond.policy.token.claims as {"fedid": "oscar"} session.user_sessions == { - {"proposal_number": 1, "visit_number": 2, "beamline": "b07"}, - {"proposal_number": 1, "visit_number": 1, "beamline": "i03"}, + "\"proposal_number\": 1, \"visit_number\": 2, \"beamline\": b07", + "\"proposal_number\": 1, \"visit_number\": 1, \"beamline\": i03", } with data.diamond.data as diamond_data with data.diamond.policy.token.claims as {"fedid": "alice"} session.user_sessions == { - {"proposal_number": 1, "visit_number": 2, "beamline": "b07"}, - {"proposal_number": 1, "visit_number": 1, "beamline": "i03"}, + "\"proposal_number\": 1, \"visit_number\": 2, \"beamline\": b07", + "\"proposal_number\": 1, \"visit_number\": 1, \"beamline\": i03", } with data.diamond.data as diamond_data with data.diamond.policy.token.claims as {"fedid": "bob"} session.user_sessions == { - {"proposal_number": 1, "visit_number": 2, "beamline": "b07"}, - {"proposal_number": 1, "visit_number": 1, "beamline": "i03"}, + "\"proposal_number\": 1, \"visit_number\": 2, \"beamline\": b07", + "\"proposal_number\": 1, \"visit_number\": 1, \"beamline\": i03", } with data.diamond.data as diamond_data with data.diamond.policy.token.claims as {"fedid": "carol"} }