MCPcopy Create free account
hub / github.com/dfinity/orbit / reevaluate

Method reevaluate

core/station/impl/src/models/request.rs:422–441  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

420 }
421
422 pub async fn reevaluate(&mut self) -> Result<Option<RequestEvaluationResult>, EvaluateError> {
423 if self.status == RequestStatus::Created {
424 let evaluator = RequestEvaluator {
425 request: self.to_owned(),
426 policy_rule_evaluator: REQUEST_POLICY_RULE_EVALUATOR.to_owned(),
427 };
428
429 let evaluation_result = evaluator.evaluate()?;
430
431 if evaluation_result.status == EvaluationStatus::Approved {
432 self.status = RequestStatus::Approved;
433 } else if evaluation_result.status == EvaluationStatus::Rejected {
434 self.status = RequestStatus::Rejected;
435 }
436
437 Ok(Some(evaluation_result))
438 } else {
439 Ok(None)
440 }
441 }
442
443 pub async fn find_all_possible_approvers(&self) -> Result<HashSet<UUID>, EvaluateError> {
444 let evaluator = RequestPossibleApproversFinder {

Callers 3

create_requestMethod · 0.80

Calls 1

evaluateMethod · 0.45

Tested by

no test coverage detected