github.com/quickfeed/quickfeed@v0.0.0-20240507093252-ed8ca812a09c/qf/ids.go (about)

     1  package qf
     2  
     3  // IDFor returns zero.
     4  func (*Void) IDFor(_ string) uint64 {
     5  	return 0
     6  }
     7  
     8  // IDFor returns course ID.
     9  func (r *Course) IDFor(_ string) uint64 {
    10  	return r.GetID()
    11  }
    12  
    13  // IDFor returns user ID.
    14  func (r *User) IDFor(_ string) uint64 {
    15  	return r.GetID()
    16  }
    17  
    18  // IDFor returns user ID.
    19  func (r *Enrollment) IDFor(_ string) uint64 {
    20  	return r.GetUserID()
    21  }
    22  
    23  // IDFor returns course ID.
    24  func (r *Enrollments) IDFor(_ string) uint64 {
    25  	return r.GetCourseID()
    26  }
    27  
    28  // IDFor returns course ID.
    29  func (r *Group) IDFor(_ string) uint64 {
    30  	return r.GetCourseID()
    31  }
    32  
    33  // IDFor returns user, group, or course ID.
    34  func (r *GroupRequest) IDFor(role string) uint64 {
    35  	switch role {
    36  	case "user":
    37  		return r.GetUserID()
    38  	case "group":
    39  		return r.GetGroupID()
    40  	case "course":
    41  		return r.GetCourseID()
    42  	}
    43  	return 0
    44  }
    45  
    46  // IDFor returns course ID.
    47  func (r *CourseRequest) IDFor(_ string) uint64 {
    48  	return r.GetCourseID()
    49  }
    50  
    51  // IDFor returns course ID.
    52  func (r *EnrollmentRequest) IDFor(role string) uint64 {
    53  	switch role {
    54  	case "course":
    55  		return r.GetCourseID()
    56  	case "user":
    57  		return r.GetUserID()
    58  	}
    59  	return 0
    60  }
    61  
    62  // IDFor returns user, group, or course ID.
    63  func (r *SubmissionRequest) IDFor(role string) uint64 {
    64  	switch role {
    65  	case "course":
    66  		return r.GetCourseID()
    67  	case "user":
    68  		return r.GetUserID()
    69  	case "group":
    70  		return r.GetGroupID()
    71  	case "submission":
    72  		return r.GetSubmissionID()
    73  	}
    74  	return 0
    75  }
    76  
    77  // IDFor returns course ID.
    78  func (r *UpdateSubmissionsRequest) IDFor(_ string) uint64 {
    79  	return r.GetCourseID()
    80  }
    81  
    82  // IDFor returns course ID.
    83  func (r *UpdateSubmissionRequest) IDFor(role string) uint64 {
    84  	switch role {
    85  	case "course":
    86  		return r.GetCourseID()
    87  	case "submission":
    88  		return r.GetSubmissionID()
    89  	}
    90  	return 0
    91  }
    92  
    93  // IDFor returns course ID.
    94  func (r *RebuildRequest) IDFor(role string) uint64 {
    95  	switch role {
    96  	case "course":
    97  		return r.GetCourseID()
    98  	case "submission":
    99  		return r.GetSubmissionID()
   100  	}
   101  	return 0
   102  }
   103  
   104  // IDFor returns course ID.
   105  func (r *RepositoryRequest) IDFor(_ string) uint64 {
   106  	return r.GetCourseID()
   107  }
   108  
   109  // IDFor returns course ID.
   110  func (r *ReviewRequest) IDFor(_ string) uint64 {
   111  	return r.GetCourseID()
   112  }
   113  
   114  // IDFor returns course ID.
   115  func (r *GradingBenchmark) IDFor(_ string) uint64 {
   116  	return r.GetCourseID()
   117  }
   118  
   119  // IDFor returns course ID.
   120  func (r *GradingCriterion) IDFor(_ string) uint64 {
   121  	return r.GetCourseID()
   122  }
   123  
   124  // IDFor returns 0, this request is only used by admins.
   125  func (*Organization) IDFor(_ string) uint64 {
   126  	return 0
   127  }