@@ -314,7 +314,7 @@ pub enum Assignment {
314314 ExpectedPullRequest {
315315 title : String ,
316316 html_url : Url ,
317- assignment_descriptor_id : u64 ,
317+ assignment_issue_id : u64 ,
318318 optionality : AssignmentOptionality ,
319319 } ,
320320}
@@ -543,7 +543,7 @@ pub enum Submission {
543543 PullRequest {
544544 pull_request : Pr ,
545545 optionality : AssignmentOptionality ,
546- assignment_descriptor : u64 ,
546+ assignment_issue_id : u64 ,
547547 } ,
548548}
549549
@@ -944,6 +944,7 @@ fn match_pr_to_assignment(
944944 sprint_index : usize ,
945945 assignment_index : usize ,
946946 optionality : AssignmentOptionality ,
947+ assignment_issue_id : u64 ,
947948 }
948949
949950 let mut best_match: Option < Match > = None ;
@@ -964,6 +965,7 @@ fn match_pr_to_assignment(
964965 Assignment :: ExpectedPullRequest {
965966 title : expected_title,
966967 optionality,
968+ assignment_issue_id,
967969 ..
968970 } => {
969971 let mut assignment_title_words = make_title_more_matchable ( expected_title) ;
@@ -988,6 +990,7 @@ fn match_pr_to_assignment(
988990 sprint_index,
989991 assignment_index,
990992 optionality : optionality. clone ( ) ,
993+ assignment_issue_id : * assignment_issue_id,
991994 } ) ;
992995 }
993996 }
@@ -1000,22 +1003,15 @@ fn match_pr_to_assignment(
10001003 sprint_index,
10011004 assignment_index,
10021005 optionality,
1006+ assignment_issue_id,
10031007 ..
10041008 } ) = best_match
10051009 {
1006- let pr_assignment_descriptor_id: u64 =
1007- match assignments[ sprint_index] . assignments [ assignment_index] {
1008- Assignment :: ExpectedPullRequest {
1009- assignment_descriptor_id,
1010- ..
1011- } => assignment_descriptor_id,
1012- _ => 0 ,
1013- } ;
10141010 submissions[ sprint_index] . submissions [ assignment_index] =
10151011 SubmissionState :: Some ( Submission :: PullRequest {
10161012 pull_request : pr,
10171013 optionality,
1018- assignment_descriptor : pr_assignment_descriptor_id ,
1014+ assignment_issue_id : assignment_issue_id ,
10191015 } ) ;
10201016 } else if !pr. is_closed {
10211017 unknown_prs. push ( pr) ;
@@ -1024,7 +1020,10 @@ fn match_pr_to_assignment(
10241020
10251021// Given a vector of sprints, and a target pr number, for a given person
10261022// return the issue ID for the associated assignment descriptor
1027- pub fn get_descriptor_id_for_pr ( sprints : Vec < SprintWithSubmissions > , target_pr_number : u64 ) -> u64 {
1023+ pub fn get_descriptor_id_for_pr (
1024+ sprints : Vec < SprintWithSubmissions > ,
1025+ target_pr_number : u64 ,
1026+ ) -> Option < u64 > {
10281027 match sprints
10291028 . iter ( )
10301029 . flat_map ( |sprint_with_subs| sprint_with_subs. submissions . clone ( ) )
@@ -1037,10 +1036,10 @@ pub fn get_descriptor_id_for_pr(sprints: Vec<SprintWithSubmissions>, target_pr_n
10371036 _ => false ,
10381037 } ) {
10391038 Some ( Submission :: PullRequest {
1040- assignment_descriptor ,
1039+ assignment_issue_id ,
10411040 ..
1042- } ) => assignment_descriptor ,
1043- _ => 0 ,
1041+ } ) => Some ( assignment_issue_id ) ,
1042+ _ => None , // Was called with a nonexistent PR number, can't find an associated assignment
10441043 }
10451044}
10461045
0 commit comments