public static function add_user_assignment(UserProfile $profile, Token $id)
 {
     if ($id->getType() != TOKEN_ASSIGNMENT) {
         throw new InvalidAssignmentException("Assignment id provided is not a valid assignment id", $id);
     }
     $assignment = AssignmentBackend::fetch_assignment_profile($id);
     $query = Database::generate_query("user_assignment_add", [$profile->getUserId()->toString(), $assignment["assignment-id"], $assignment["assessment-id"]->toString()]);
     $query->execute();
     return $assignment;
 }