ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.InternalRepoService.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\Exercise;
22
30use ILIAS\Repository\RepoServiceBase;
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
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}
Internal factory for data objects.
__construct(protected InternalDataService $data, protected \ilDBInterface $db)
Table exc_team_data: Team Table il_exc_team: Team participants (holds the sequence due to historic re...
Interface ilDBInterface.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...