ILIAS  trunk Revision v11.0_alpha-1723-g8e69f309bab
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
class.InternalRepoService.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\Exercise;
22 
31 
33 {
34  use RepoServiceBase;
35 
36  protected static array $instance = [];
37 
38  public function __construct(
39  protected InternalDataService $data,
40  protected \ilDBInterface $db
41  ) {
42  }
43 
44  public function settings(): SettingsDBRepository
45  {
46  return self::$instance["settings"] ??= new SettingsDBRepository(
47  $this->db,
48  $this->data
49  );
50  }
51 
52  public function assignment(): Assignment\RepoService
53  {
54  return self::$instance["assignment"] ??= new Assignment\RepoService(
55  $this->data,
56  $this->db
57  );
58  }
59 
60  public function peerReview(): PeerReview\RepoService
61  {
62  return self::$instance["peer_review"] ??= new PeerReview\RepoService(
63  $this->irss(),
64  $this->data,
65  $this->db
66  );
67  }
68 
69 
70  public function submission(): Submission\SubmissionRepositoryInterface
71  {
72  return self::$instance["submission"] ??= new Submission\SubmissionRepository(
73  $this->irss(),
74  $this->data,
75  $this->db
76  );
77  }
78 
80  {
81  return self::$instance["instruction"] ??= new InstructionFileRepository(
82  $this->irss(),
83  $this->db
84  );
85  }
86 
88  {
89  return self::$instance["sample_sol"] ??= new SampleSolutionRepository(
90  $this->irss(),
91  $this->db
92  );
93  }
94 
96  {
97  return self::$instance["tutor_feedback"] ??= new TutorFeedbackFileRepository(
98  $this->irss(),
99  $this->db
100  );
101  }
102 
104  {
105  return self::$instance["tutor_feedback_team"] ??= new TutorFeedbackFileTeamRepository(
106  $this->irss(),
107  $this->db
108  );
109  }
110 
112  {
113  return self::$instance["tutor_feedback_zip"] ??= new TutorFeedbackZipRepository(
114  $this->irss(),
115  $this->db
116  );
117  }
118 
119  public function team(): TeamDBRepository
120  {
121  return self::$instance["team"] ??= new TeamDBRepository(
122  $this->db,
123  $this->data
124  );
125  }
126 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Internal factory for data objects.
Table exc_team_data: Team Table il_exc_team: Team participants (holds the sequence due to historic re...
__construct(protected InternalDataService $data, protected \ilDBInterface $db)