Create Missing Allowed Policies #3
16
src/main.rs
16
src/main.rs
@@ -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)?;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user