Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 104
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
OlzApi
0.00% covered (danger)
0.00%
0 / 104
0.00% covered (danger)
0.00%
0 / 2
6
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 99
0.00% covered (danger)
0.00%
0 / 1
2
 generate
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Olz\Api;
4
5use Olz\Apps\OlzApps;
6use PhpTypeScriptApi\Api;
7
8class OlzApi extends Api {
9    public function __construct(
10        OlzApps $olz_apps,
11        Endpoints\OnContinuouslyEndpoint $onContinuouslyEndpoint,
12        Endpoints\LoginEndpoint $loginEndpoint,
13        Endpoints\ResetPasswordEndpoint $resetPasswordEndpoint,
14        Endpoints\SwitchUserEndpoint $switchUserEndpoint,
15        Endpoints\LogoutEndpoint $logoutEndpoint,
16        Endpoints\GetAuthenticatedUserEndpoint $getAuthenticatedUserEndpoint,
17        Endpoints\GetAuthenticatedRolesEndpoint $getAuthenticatedRolesEndpoint,
18        Endpoints\GetEntitiesAroundPositionEndpoint $getEntitiesAroundPositionEndpoint,
19        Endpoints\VerifyUserEmailEndpoint $verifyUserEmailEndpoint,
20        Endpoints\UpdateUserPasswordEndpoint $updateUserPasswordEndpoint,
21        Endpoints\ExecuteEmailReactionEndpoint $executeEmailReactionEndpoint,
22        Endpoints\LinkStravaEndpoint $linkStravaEndpoint,
23        Endpoints\LinkTelegramEndpoint $linkTelegramEndpoint,
24        Endpoints\OnTelegramEndpoint $onTelegramEndpoint,
25        Endpoints\StartUploadEndpoint $startUploadEndpoint,
26        Endpoints\UpdateUploadEndpoint $updateUploadEndpoint,
27        Endpoints\FinishUploadEndpoint $finishUploadEndpoint,
28        Endpoints\SearchEntitiesEndpoint $searchEntitiesEndpoint,
29        \Olz\Anniversary\Endpoints\CreateRunEndpoint $createRunEndpoint,
30        \Olz\Anniversary\Endpoints\GetRunEndpoint $getRunEndpoint,
31        \Olz\Anniversary\Endpoints\EditRunEndpoint $editRunEndpoint,
32        \Olz\Anniversary\Endpoints\UpdateRunEndpoint $updateRunEndpoint,
33        \Olz\Anniversary\Endpoints\DeleteRunEndpoint $deleteRunEndpoint,
34        \Olz\Karten\Endpoints\CreateKarteEndpoint $createKarteEndpoint,
35        \Olz\Karten\Endpoints\GetKarteEndpoint $getKarteEndpoint,
36        \Olz\Karten\Endpoints\EditKarteEndpoint $editKarteEndpoint,
37        \Olz\Karten\Endpoints\UpdateKarteEndpoint $updateKarteEndpoint,
38        \Olz\Karten\Endpoints\DeleteKarteEndpoint $deleteKarteEndpoint,
39        \Olz\News\Endpoints\CreateNewsEndpoint $createNewsEndpoint,
40        \Olz\News\Endpoints\GetNewsEndpoint $getNewsEndpoint,
41        \Olz\News\Endpoints\EditNewsEndpoint $editNewsEndpoint,
42        \Olz\News\Endpoints\UpdateNewsEndpoint $updateNewsEndpoint,
43        \Olz\News\Endpoints\DeleteNewsEndpoint $deleteNewsEndpoint,
44        \Olz\News\Endpoints\GetAuthorInfoEndpoint $getAuthorInfoEndpoint,
45        \Olz\Roles\Endpoints\CreateRoleEndpoint $createRoleEndpoint,
46        \Olz\Roles\Endpoints\GetRoleEndpoint $getRoleEndpoint,
47        \Olz\Roles\Endpoints\EditRoleEndpoint $editRoleEndpoint,
48        \Olz\Roles\Endpoints\UpdateRoleEndpoint $updateRoleEndpoint,
49        \Olz\Roles\Endpoints\DeleteRoleEndpoint $deleteRoleEndpoint,
50        \Olz\Roles\Endpoints\AddUserRoleMembershipEndpoint $addUserRoleMembershipEndpoint,
51        \Olz\Roles\Endpoints\RemoveUserRoleMembershipEndpoint $removeUserRoleMembershipEndpoint,
52        \Olz\Roles\Endpoints\GetRoleInfoEndpoint $getRoleInfoEndpoint,
53        \Olz\Snippets\Endpoints\GetSnippetEndpoint $getSnippetEndpoint,
54        \Olz\Snippets\Endpoints\EditSnippetEndpoint $editSnippetEndpoint,
55        \Olz\Snippets\Endpoints\UpdateSnippetEndpoint $updateSnippetEndpoint,
56        \Olz\Service\Endpoints\CreateDownloadEndpoint $createDownloadEndpoint,
57        \Olz\Service\Endpoints\GetDownloadEndpoint $getDownloadEndpoint,
58        \Olz\Service\Endpoints\EditDownloadEndpoint $editDownloadEndpoint,
59        \Olz\Service\Endpoints\UpdateDownloadEndpoint $updateDownloadEndpoint,
60        \Olz\Service\Endpoints\DeleteDownloadEndpoint $deleteDownloadEndpoint,
61        \Olz\Service\Endpoints\CreateLinkEndpoint $createLinkEndpoint,
62        \Olz\Service\Endpoints\GetLinkEndpoint $getLinkEndpoint,
63        \Olz\Service\Endpoints\EditLinkEndpoint $editLinkEndpoint,
64        \Olz\Service\Endpoints\UpdateLinkEndpoint $updateLinkEndpoint,
65        \Olz\Service\Endpoints\DeleteLinkEndpoint $deleteLinkEndpoint,
66        \Olz\Faq\Endpoints\CreateQuestionEndpoint $createQuestionEndpoint,
67        \Olz\Faq\Endpoints\GetQuestionEndpoint $getQuestionEndpoint,
68        \Olz\Faq\Endpoints\EditQuestionEndpoint $editQuestionEndpoint,
69        \Olz\Faq\Endpoints\UpdateQuestionEndpoint $updateQuestionEndpoint,
70        \Olz\Faq\Endpoints\DeleteQuestionEndpoint $deleteQuestionEndpoint,
71        \Olz\Faq\Endpoints\CreateQuestionCategoryEndpoint $createQuestionCategoryEndpoint,
72        \Olz\Faq\Endpoints\GetQuestionCategoryEndpoint $getQuestionCategoryEndpoint,
73        \Olz\Faq\Endpoints\EditQuestionCategoryEndpoint $editQuestionCategoryEndpoint,
74        \Olz\Faq\Endpoints\UpdateQuestionCategoryEndpoint $updateQuestionCategoryEndpoint,
75        \Olz\Faq\Endpoints\DeleteQuestionCategoryEndpoint $deleteQuestionCategoryEndpoint,
76        \Olz\Startseite\Endpoints\CreateWeeklyPictureEndpoint $createWeeklyPictureEndpoint,
77        \Olz\Startseite\Endpoints\GetWeeklyPictureEndpoint $getWeeklyPictureEndpoint,
78        \Olz\Startseite\Endpoints\EditWeeklyPictureEndpoint $editWeeklyPictureEndpoint,
79        \Olz\Startseite\Endpoints\UpdateWeeklyPictureEndpoint $updateWeeklyPictureEndpoint,
80        \Olz\Startseite\Endpoints\DeleteWeeklyPictureEndpoint $deleteWeeklyPictureEndpoint,
81        \Olz\Termine\Endpoints\CreateTerminEndpoint $createTerminEndpoint,
82        \Olz\Termine\Endpoints\GetTerminEndpoint $getTerminEndpoint,
83        \Olz\Termine\Endpoints\EditTerminEndpoint $editTerminEndpoint,
84        \Olz\Termine\Endpoints\UpdateTerminEndpoint $updateTerminEndpoint,
85        \Olz\Termine\Endpoints\DeleteTerminEndpoint $deleteTerminEndpoint,
86        \Olz\Termine\Endpoints\CreateTerminLabelEndpoint $createTerminLabelEndpoint,
87        \Olz\Termine\Endpoints\ListTerminLabelsEndpoint $listTerminLabelsEndpoint,
88        \Olz\Termine\Endpoints\GetTerminLabelEndpoint $getTerminLabelEndpoint,
89        \Olz\Termine\Endpoints\EditTerminLabelEndpoint $editTerminLabelEndpoint,
90        \Olz\Termine\Endpoints\UpdateTerminLabelEndpoint $updateTerminLabelEndpoint,
91        \Olz\Termine\Endpoints\DeleteTerminLabelEndpoint $deleteTerminLabelEndpoint,
92        \Olz\Termine\Endpoints\CreateTerminLocationEndpoint $createTerminLocationEndpoint,
93        \Olz\Termine\Endpoints\GetTerminLocationEndpoint $getTerminLocationEndpoint,
94        \Olz\Termine\Endpoints\EditTerminLocationEndpoint $editTerminLocationEndpoint,
95        \Olz\Termine\Endpoints\UpdateTerminLocationEndpoint $updateTerminLocationEndpoint,
96        \Olz\Termine\Endpoints\DeleteTerminLocationEndpoint $deleteTerminLocationEndpoint,
97        \Olz\Termine\Endpoints\CreateTerminTemplateEndpoint $createTerminTemplateEndpoint,
98        \Olz\Termine\Endpoints\GetTerminTemplateEndpoint $getTerminTemplateEndpoint,
99        \Olz\Termine\Endpoints\EditTerminTemplateEndpoint $editTerminTemplateEndpoint,
100        \Olz\Termine\Endpoints\UpdateTerminTemplateEndpoint $updateTerminTemplateEndpoint,
101        \Olz\Termine\Endpoints\DeleteTerminTemplateEndpoint $deleteTerminTemplateEndpoint,
102        \Olz\Users\Endpoints\CreateUserEndpoint $createUserEndpoint,
103        \Olz\Users\Endpoints\GetUserEndpoint $getUserEndpoint,
104        \Olz\Users\Endpoints\EditUserEndpoint $editUserEndpoint,
105        \Olz\Users\Endpoints\UpdateUserEndpoint $updateUserEndpoint,
106        \Olz\Users\Endpoints\DeleteUserEndpoint $deleteUserEndpoint,
107        \Olz\Users\Endpoints\GetUserInfoEndpoint $getUserInfoEndpoint,
108        \Olz\Captcha\Endpoints\StartCaptchaEndpoint $startCaptchaEndpoint,
109    ) {
110        $this->registerEndpoint('onContinuously', $onContinuouslyEndpoint);
111        $this->registerEndpoint('login', $loginEndpoint);
112        $this->registerEndpoint('resetPassword', $resetPasswordEndpoint);
113        $this->registerEndpoint('switchUser', $switchUserEndpoint);
114        $this->registerEndpoint('logout', $logoutEndpoint);
115        $this->registerEndpoint('getAuthenticatedUser', $getAuthenticatedUserEndpoint);
116        $this->registerEndpoint('getAuthenticatedRoles', $getAuthenticatedRolesEndpoint);
117        $this->registerEndpoint('getEntitiesAroundPosition', $getEntitiesAroundPositionEndpoint);
118        $this->registerEndpoint('verifyUserEmail', $verifyUserEmailEndpoint);
119        $this->registerEndpoint('updatePassword', $updateUserPasswordEndpoint);
120        $this->registerEndpoint('executeEmailReaction', $executeEmailReactionEndpoint);
121        $this->registerEndpoint('linkStrava', $linkStravaEndpoint);
122        $this->registerEndpoint('linkTelegram', $linkTelegramEndpoint);
123        $this->registerEndpoint('onTelegram', $onTelegramEndpoint);
124        $this->registerEndpoint('startUpload', $startUploadEndpoint);
125        $this->registerEndpoint('updateUpload', $updateUploadEndpoint);
126        $this->registerEndpoint('finishUpload', $finishUploadEndpoint);
127        $this->registerEndpoint('searchEntities', $searchEntitiesEndpoint);
128
129        // Downloads
130
131        $this->registerEndpoint('createDownload', $createDownloadEndpoint);
132        $this->registerEndpoint('getDownload', $getDownloadEndpoint);
133        $this->registerEndpoint('editDownload', $editDownloadEndpoint);
134        $this->registerEndpoint('updateDownload', $updateDownloadEndpoint);
135        $this->registerEndpoint('deleteDownload', $deleteDownloadEndpoint);
136
137        // Karten
138
139        $this->registerEndpoint('createKarte', $createKarteEndpoint);
140        $this->registerEndpoint('getKarte', $getKarteEndpoint);
141        $this->registerEndpoint('editKarte', $editKarteEndpoint);
142        $this->registerEndpoint('updateKarte', $updateKarteEndpoint);
143        $this->registerEndpoint('deleteKarte', $deleteKarteEndpoint);
144
145        // Links
146
147        $this->registerEndpoint('createLink', $createLinkEndpoint);
148        $this->registerEndpoint('getLink', $getLinkEndpoint);
149        $this->registerEndpoint('editLink', $editLinkEndpoint);
150        $this->registerEndpoint('updateLink', $updateLinkEndpoint);
151        $this->registerEndpoint('deleteLink', $deleteLinkEndpoint);
152
153        // News
154
155        $this->registerEndpoint('createNews', $createNewsEndpoint);
156        $this->registerEndpoint('getNews', $getNewsEndpoint);
157        $this->registerEndpoint('editNews', $editNewsEndpoint);
158        $this->registerEndpoint('updateNews', $updateNewsEndpoint);
159        $this->registerEndpoint('deleteNews', $deleteNewsEndpoint);
160        $this->registerEndpoint('getAuthorInfo', $getAuthorInfoEndpoint);
161
162        // Roles
163
164        $this->registerEndpoint('createRole', $createRoleEndpoint);
165        $this->registerEndpoint('getRole', $getRoleEndpoint);
166        $this->registerEndpoint('editRole', $editRoleEndpoint);
167        $this->registerEndpoint('updateRole', $updateRoleEndpoint);
168        $this->registerEndpoint('deleteRole', $deleteRoleEndpoint);
169
170        $this->registerEndpoint('addUserRoleMembership', $addUserRoleMembershipEndpoint);
171        $this->registerEndpoint('removeUserRoleMembership', $removeUserRoleMembershipEndpoint);
172        $this->registerEndpoint('getRoleInfo', $getRoleInfoEndpoint);
173
174        // Runs
175
176        $this->registerEndpoint('createRun', $createRunEndpoint);
177        $this->registerEndpoint('getRun', $getRunEndpoint);
178        $this->registerEndpoint('editRun', $editRunEndpoint);
179        $this->registerEndpoint('updateRun', $updateRunEndpoint);
180        $this->registerEndpoint('deleteRun', $deleteRunEndpoint);
181
182        // Snippets
183
184        $this->registerEndpoint('getSnippet', $getSnippetEndpoint);
185        $this->registerEndpoint('editSnippet', $editSnippetEndpoint);
186        $this->registerEndpoint('updateSnippet', $updateSnippetEndpoint);
187
188        // Fragen & Antworten (FAQ)
189
190        $this->registerEndpoint('createQuestion', $createQuestionEndpoint);
191        $this->registerEndpoint('getQuestion', $getQuestionEndpoint);
192        $this->registerEndpoint('editQuestion', $editQuestionEndpoint);
193        $this->registerEndpoint('updateQuestion', $updateQuestionEndpoint);
194        $this->registerEndpoint('deleteQuestion', $deleteQuestionEndpoint);
195
196        $this->registerEndpoint('createQuestionCategory', $createQuestionCategoryEndpoint);
197        $this->registerEndpoint('getQuestionCategory', $getQuestionCategoryEndpoint);
198        $this->registerEndpoint('editQuestionCategory', $editQuestionCategoryEndpoint);
199        $this->registerEndpoint('updateQuestionCategory', $updateQuestionCategoryEndpoint);
200        $this->registerEndpoint('deleteQuestionCategory', $deleteQuestionCategoryEndpoint);
201
202        // Startseite
203
204        $this->registerEndpoint('createWeeklyPicture', $createWeeklyPictureEndpoint);
205        $this->registerEndpoint('getWeeklyPicture', $getWeeklyPictureEndpoint);
206        $this->registerEndpoint('editWeeklyPicture', $editWeeklyPictureEndpoint);
207        $this->registerEndpoint('updateWeeklyPicture', $updateWeeklyPictureEndpoint);
208        $this->registerEndpoint('deleteWeeklyPicture', $deleteWeeklyPictureEndpoint);
209
210        // Termine
211
212        $this->registerEndpoint('createTermin', $createTerminEndpoint);
213        $this->registerEndpoint('getTermin', $getTerminEndpoint);
214        $this->registerEndpoint('editTermin', $editTerminEndpoint);
215        $this->registerEndpoint('updateTermin', $updateTerminEndpoint);
216        $this->registerEndpoint('deleteTermin', $deleteTerminEndpoint);
217
218        // Termin Label
219
220        $this->registerEndpoint('createTerminLabel', $createTerminLabelEndpoint);
221        $this->registerEndpoint('listTerminLabels', $listTerminLabelsEndpoint);
222        $this->registerEndpoint('getTerminLabel', $getTerminLabelEndpoint);
223        $this->registerEndpoint('editTerminLabel', $editTerminLabelEndpoint);
224        $this->registerEndpoint('updateTerminLabel', $updateTerminLabelEndpoint);
225        $this->registerEndpoint('deleteTerminLabel', $deleteTerminLabelEndpoint);
226
227        // Termin Locations
228
229        $this->registerEndpoint('createTerminLocation', $createTerminLocationEndpoint);
230        $this->registerEndpoint('getTerminLocation', $getTerminLocationEndpoint);
231        $this->registerEndpoint('editTerminLocation', $editTerminLocationEndpoint);
232        $this->registerEndpoint('updateTerminLocation', $updateTerminLocationEndpoint);
233        $this->registerEndpoint('deleteTerminLocation', $deleteTerminLocationEndpoint);
234
235        // Termin Templates
236
237        $this->registerEndpoint('createTerminTemplate', $createTerminTemplateEndpoint);
238        $this->registerEndpoint('getTerminTemplate', $getTerminTemplateEndpoint);
239        $this->registerEndpoint('editTerminTemplate', $editTerminTemplateEndpoint);
240        $this->registerEndpoint('updateTerminTemplate', $updateTerminTemplateEndpoint);
241        $this->registerEndpoint('deleteTerminTemplate', $deleteTerminTemplateEndpoint);
242
243        // Users
244
245        $this->registerEndpoint('createUser', $createUserEndpoint);
246        $this->registerEndpoint('getUser', $getUserEndpoint);
247        $this->registerEndpoint('editUser', $editUserEndpoint);
248        $this->registerEndpoint('updateUser', $updateUserEndpoint);
249        $this->registerEndpoint('deleteUser', $deleteUserEndpoint);
250        $this->registerEndpoint('getUserInfo', $getUserInfoEndpoint);
251
252        // Utils
253
254        $this->registerEndpoint('startCaptcha', $startCaptchaEndpoint);
255
256        $olz_apps->registerAllEndpoints($this);
257    }
258
259    public function generate(): void {
260        file_put_contents(
261            __DIR__.'/client/generated_olz_api_types.ts',
262            $this->getTypeScriptDefinition('OlzApi')
263        );
264
265        echo "\nOLZ API client generated.\n";
266    }
267}