Create Missing Allowed Policies #3

Merged
Quaternions merged 8 commits from repair into master 2025-07-05 10:20:06 +00:00
Showing only changes of commit d609804d33 - Show all commits

View File

@@ -640,7 +640,7 @@ async fn repair(config:RepairConfig)->Result<(),RepairError>{
}
}
let mut create_allow_policy=Vec::new();
let mut create_allow_policy=std::collections::HashSet::new();
for (policy,to_script) in check_policy_exists{
if let Some(&allow_policy)=policy_from_hash.get(to_script.Hash.as_str()){
if policy.Policy==Policy::Replace&&allow_policy.Policy!=Policy::Allowed{
@@ -649,11 +649,7 @@ async fn repair(config:RepairConfig)->Result<(),RepairError>{
}else{
if policy.Policy==Policy::Replace{
println!("Policy {:?} ToScript {:?} has no Allowed policy!",policy.ID,to_script.ID);
create_allow_policy.push(submissions_api::types::CreateScriptPolicyRequest{
FromScriptID:to_script.ID,
ToScriptID:to_script.ID,
Policy:Policy::Allowed,
});
create_allow_policy.insert(to_script.ID);
}
}
}
@@ -729,8 +725,12 @@ async fn repair(config:RepairConfig)->Result<(),RepairError>{
return Ok(());
},
}
futures::stream::iter(create_allow_policy).map(Ok).try_for_each_concurrent(REMOTE_CONCURRENCY,async|request|{
api.create_script_policy(request).await?;
futures::stream::iter(create_allow_policy).map(Ok).try_for_each_concurrent(REMOTE_CONCURRENCY,async|script_id|{
api.create_script_policy(submissions_api::types::CreateScriptPolicyRequest{
FromScriptID:script_id,
ToScriptID:script_id,
Policy:Policy::Allowed,
}).await?;
Ok(())
}).await.map_err(RepairError::CreateScriptPolicy)?;
}