|
5 | 5 | use CrowdinApiClient\Model\ProjectMember; |
6 | 6 | use CrowdinApiClient\Model\ProjectMemberAddedStatistics; |
7 | 7 | use CrowdinApiClient\Model\User; |
| 8 | +use CrowdinApiClient\Model\UserReportSettingsTemplate; |
8 | 9 | use CrowdinApiClient\ModelCollection; |
9 | 10 |
|
10 | 11 | /** |
@@ -138,4 +139,95 @@ public function deleteMemberFromProject(int $projectId, int $memberId): void |
138 | 139 | { |
139 | 140 | $this->_delete(sprintf('projects/%d/members/%s', $projectId, $memberId)); |
140 | 141 | } |
| 142 | + |
| 143 | + /** |
| 144 | + * List User Report Settings Templates |
| 145 | + * @link https://developer.crowdin.com/api/v2/#operation/api.users.reports.settings-templates.getMany API Documentation |
| 146 | + * @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.users.reports.settings-templates.getMany API Documentation Enterprise |
| 147 | + * |
| 148 | + * @param int $userId |
| 149 | + * @param array $params |
| 150 | + * integer $params[limit]<br> |
| 151 | + * integer $params[offset] |
| 152 | + * @return ModelCollection |
| 153 | + */ |
| 154 | + public function listReportSettingsTemplates(int $userId, array $params = []): ModelCollection |
| 155 | + { |
| 156 | + return $this->_list( |
| 157 | + sprintf('users/%d/reports/settings-templates', $userId), |
| 158 | + UserReportSettingsTemplate::class, |
| 159 | + $params |
| 160 | + ); |
| 161 | + } |
| 162 | + |
| 163 | + /** |
| 164 | + * Create User Report Settings Template |
| 165 | + * @link https://developer.crowdin.com/api/v2/#operation/api.users.reports.settings-templates.post API Documentation |
| 166 | + * @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.users.reports.settings-templates.post API Documentation Enterprise |
| 167 | + * |
| 168 | + * @param int $userId |
| 169 | + * @param array $data |
| 170 | + * string $data[name] required<br> |
| 171 | + * string $data[currency] required<br> |
| 172 | + * string $data[unit] required<br> |
| 173 | + * array $data[config] required |
| 174 | + * @return UserReportSettingsTemplate|null |
| 175 | + */ |
| 176 | + public function createReportSettingsTemplate(int $userId, array $data): ?UserReportSettingsTemplate |
| 177 | + { |
| 178 | + return $this->_create( |
| 179 | + sprintf('users/%d/reports/settings-templates', $userId), |
| 180 | + UserReportSettingsTemplate::class, |
| 181 | + $data |
| 182 | + ); |
| 183 | + } |
| 184 | + |
| 185 | + /** |
| 186 | + * Get User Report Settings Template |
| 187 | + * @link https://developer.crowdin.com/api/v2/#operation/api.users.reports.settings-templates.get API Documentation |
| 188 | + * @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.users.reports.settings-templates.get API Documentation Enterprise |
| 189 | + * |
| 190 | + * @param int $userId |
| 191 | + * @param int $reportSettingsTemplateId |
| 192 | + * @return UserReportSettingsTemplate|null |
| 193 | + */ |
| 194 | + public function getReportSettingsTemplate(int $userId, int $reportSettingsTemplateId): ?UserReportSettingsTemplate |
| 195 | + { |
| 196 | + return $this->_get( |
| 197 | + sprintf('users/%d/reports/settings-templates/%d', $userId, $reportSettingsTemplateId), |
| 198 | + UserReportSettingsTemplate::class |
| 199 | + ); |
| 200 | + } |
| 201 | + |
| 202 | + /** |
| 203 | + * Delete User Report Settings Template |
| 204 | + * @link https://developer.crowdin.com/api/v2/#operation/api.users.reports.settings-templates.delete API Documentation |
| 205 | + * @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.users.reports.settings-templates.delete API Documentation Enterprise |
| 206 | + * |
| 207 | + * @param int $userId |
| 208 | + * @param int $reportSettingsTemplateId |
| 209 | + */ |
| 210 | + public function deleteReportSettingsTemplate(int $userId, int $reportSettingsTemplateId): void |
| 211 | + { |
| 212 | + $this->_delete(sprintf('users/%d/reports/settings-templates/%d', $userId, $reportSettingsTemplateId)); |
| 213 | + } |
| 214 | + |
| 215 | + /** |
| 216 | + * Update User Report Settings Template |
| 217 | + * @link https://developer.crowdin.com/api/v2/#operation/api.users.reports.settings-templates.patch API Documentation |
| 218 | + * @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.users.reports.settings-templates.patch API Documentation Enterprise |
| 219 | + * |
| 220 | + * @param int $userId |
| 221 | + * @param UserReportSettingsTemplate $reportSettingsTemplate |
| 222 | + * @return UserReportSettingsTemplate|null |
| 223 | + */ |
| 224 | + public function updateReportSettingsTemplate( |
| 225 | + int $userId, |
| 226 | + UserReportSettingsTemplate $reportSettingsTemplate |
| 227 | + ): ?UserReportSettingsTemplate { |
| 228 | + return $this->_update( |
| 229 | + sprintf('users/%d/reports/settings-templates/%d', $userId, $reportSettingsTemplate->getId()), |
| 230 | + $reportSettingsTemplate |
| 231 | + ); |
| 232 | + } |
141 | 233 | } |
0 commit comments