Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
80.58% |
112 / 139 |
|
81.25% |
26 / 32 |
CRAP | |
0.00% |
0 / 1 |
ApiController | |
80.58% |
112 / 139 |
|
81.25% |
26 / 32 |
94.02 | |
0.00% |
0 / 1 |
apiAccountCreate | |
57.14% |
4 / 7 |
|
0.00% |
0 / 1 |
2.31 | |||
validateAccountCreate | |
80.00% |
4 / 5 |
|
0.00% |
0 / 1 |
3.07 | |||
createAccountFromRequest | |
0.00% |
0 / 4 |
|
0.00% |
0 / 1 |
2 | |||
apiAccountL11nCreate | |
0.00% |
0 / 7 |
|
0.00% |
0 / 1 |
6 | |||
createAccountL11nFromRequest | |
0.00% |
0 / 7 |
|
0.00% |
0 / 1 |
2 | |||
validateAccountL11nCreate | |
0.00% |
0 / 5 |
|
0.00% |
0 / 1 |
12 | |||
apiAccountUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateAccountUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiCostCenterCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateCostCenterCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiCostCenterUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateCostCenterUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiCostObjectCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateCostObjectCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiCostObjectUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateCostObjectUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiEntryCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateEntryCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiEntryUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateEntryUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiRecurringEntryCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateRecurringEntryCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiRecurringEntryUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateRecurringEntryUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiTaxKeyCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateTaxKeyCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiTaxKeyUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateTaxKeyUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiBatchEntryCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateBatchEntryCreate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
apiBatchEntryUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
validateBatchEntryUpdate | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 |
1 | <?php |
2 | /** |
3 | * Jingga |
4 | * |
5 | * PHP Version 8.1 |
6 | * |
7 | * @package Modules\Accounting |
8 | * @copyright Dennis Eichhorn |
9 | * @license OMS License 2.0 |
10 | * @version 1.0.0 |
11 | * @link https://jingga.app |
12 | */ |
13 | declare(strict_types=1); |
14 | |
15 | namespace Modules\Accounting\Controller; |
16 | |
17 | use Modules\Accounting\Models\AccountAbstract; |
18 | use Modules\Accounting\Models\AccountAbstractMapper; |
19 | use Modules\Accounting\Models\AccountL11nMapper; |
20 | use phpOMS\Localization\BaseStringL11n; |
21 | use phpOMS\Localization\ISO639x1Enum; |
22 | use phpOMS\Message\Http\RequestStatusCode; |
23 | use phpOMS\Message\RequestAbstract; |
24 | use phpOMS\Message\ResponseAbstract; |
25 | use phpOMS\Model\Message\FormValidation; |
26 | |
27 | /** |
28 | * Accounting controller class. |
29 | * |
30 | * This class is responsible for the basic accounting activities. |
31 | * |
32 | * @package Modules\Accounting |
33 | * @license OMS License 2.0 |
34 | * @link https://jingga.app |
35 | * @since 1.0.0 |
36 | */ |
37 | final class ApiController extends Controller |
38 | { |
39 | /** |
40 | * Api method to create an account |
41 | * |
42 | * @param RequestAbstract $request Request |
43 | * @param ResponseAbstract $response Response |
44 | * @param array $data Generic data |
45 | * |
46 | * @return void |
47 | * |
48 | * @api |
49 | * |
50 | * @since 1.0.0 |
51 | */ |
52 | public function apiAccountCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
53 | { |
54 | if (!empty($val = $this->validateAccountCreate($request))) { |
55 | $response->header->status = RequestStatusCode::R_400; |
56 | $this->createInvalidCreateResponse($request, $response, $val); |
57 | |
58 | return; |
59 | } |
60 | |
61 | $account = $this->createAccountFromRequest($request); |
62 | $this->createModel($request->header->account, $account, AccountAbstractMapper::class, 'account', $request->getOrigin()); |
63 | $this->createStandardCreateResponse($request, $response, $account); |
64 | } |
65 | |
66 | /** |
67 | * Validate account create request |
68 | * |
69 | * @param RequestAbstract $request Request |
70 | * |
71 | * @return array<string, bool> |
72 | * |
73 | * @since 1.0.0 |
74 | */ |
75 | private function validateAccountCreate(RequestAbstract $request) : array |
76 | { |
77 | $val = []; |
78 | if (($val['account'] = !$request->hasData('account')) |
79 | || ($val['content'] = !$request->hasData('content')) |
80 | ) { |
81 | return $val; |
82 | } |
83 | |
84 | return []; |
85 | } |
86 | |
87 | /** |
88 | * Method to create account from request. |
89 | * |
90 | * @param RequestAbstract $request Request |
91 | * |
92 | * @return AccountAbstract |
93 | * |
94 | * @since 1.0.0 |
95 | */ |
96 | private function createAccountFromRequest(RequestAbstract $request) : AccountAbstract |
97 | { |
98 | $account = new AccountAbstract(); |
99 | $account->account = $request->getDataString('account') ?? ''; |
100 | $account->setL11n($request->getDataString('content') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN); |
101 | |
102 | return $account; |
103 | } |
104 | |
105 | /** |
106 | * Api method to create item attribute l11n |
107 | * |
108 | * @param RequestAbstract $request Request |
109 | * @param ResponseAbstract $response Response |
110 | * @param array $data Generic data |
111 | * |
112 | * @return void |
113 | * |
114 | * @api |
115 | * |
116 | * @since 1.0.0 |
117 | */ |
118 | public function apiAccountL11nCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
119 | { |
120 | if (!empty($val = $this->validateAccountL11nCreate($request))) { |
121 | $response->header->status = RequestStatusCode::R_400; |
122 | $this->createInvalidCreateResponse($request, $response, $val); |
123 | |
124 | return; |
125 | } |
126 | |
127 | $contractTypeL11n = $this->createAccountL11nFromRequest($request); |
128 | $this->createModel($request->header->account, $contractTypeL11n, AccountL11nMapper::class, 'contract_type_l11n', $request->getOrigin()); |
129 | $this->createStandardCreateResponse($request, $response, $contractTypeL11n); |
130 | } |
131 | |
132 | /** |
133 | * Method to create item attribute l11n from request. |
134 | * |
135 | * @param RequestAbstract $request Request |
136 | * |
137 | * @return BaseStringL11n |
138 | * |
139 | * @since 1.0.0 |
140 | */ |
141 | private function createAccountL11nFromRequest(RequestAbstract $request) : BaseStringL11n |
142 | { |
143 | $contractTypeL11n = new BaseStringL11n(); |
144 | $contractTypeL11n->ref = $request->getDataInt('ref') ?? 0; |
145 | $contractTypeL11n->setLanguage( |
146 | $request->getDataString('language') ?? $request->header->l11n->language |
147 | ); |
148 | $contractTypeL11n->content = $request->getDataString('content') ?? ''; |
149 | |
150 | return $contractTypeL11n; |
151 | } |
152 | |
153 | /** |
154 | * Validate item attribute l11n create request |
155 | * |
156 | * @param RequestAbstract $request Request |
157 | * |
158 | * @return array<string, bool> |
159 | * |
160 | * @since 1.0.0 |
161 | */ |
162 | private function validateAccountL11nCreate(RequestAbstract $request) : array |
163 | { |
164 | $val = []; |
165 | if (($val['content'] = !$request->hasData('content')) |
166 | || ($val['ref'] = !$request->hasData('ref')) |
167 | ) { |
168 | return $val; |
169 | } |
170 | |
171 | return []; |
172 | } |
173 | |
174 | /** |
175 | * Api method to update an account |
176 | * |
177 | * @param RequestAbstract $request Request |
178 | * @param ResponseAbstract $response Response |
179 | * @param array $data Generic data |
180 | * |
181 | * @return void |
182 | * |
183 | * @api |
184 | * |
185 | * @since 1.0.0 |
186 | */ |
187 | public function apiAccountUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
188 | { |
189 | if (!empty($val = $this->validateAccountUpdate($request))) { |
190 | $response->data['account_update'] = new FormValidation($val); |
191 | $response->header->status = RequestStatusCode::R_400; |
192 | |
193 | return; |
194 | } |
195 | } |
196 | |
197 | /** |
198 | * Validate account update request |
199 | * |
200 | * @param RequestAbstract $request Request |
201 | * |
202 | * @return array<string, bool> |
203 | * |
204 | * @since 1.0.0 |
205 | */ |
206 | private function validateAccountUpdate(RequestAbstract $request) : array |
207 | { |
208 | $val = []; |
209 | if (($val['id'] = !$request->hasData('id')) |
210 | ) { |
211 | return $val; |
212 | } |
213 | |
214 | return []; |
215 | } |
216 | |
217 | /** |
218 | * Api method to create an cost center |
219 | * |
220 | * @param RequestAbstract $request Request |
221 | * @param ResponseAbstract $response Response |
222 | * @param array $data Generic data |
223 | * |
224 | * @return void |
225 | * |
226 | * @api |
227 | * |
228 | * @since 1.0.0 |
229 | */ |
230 | public function apiCostCenterCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
231 | { |
232 | if (!empty($val = $this->validateCostCenterCreate($request))) { |
233 | $response->header->status = RequestStatusCode::R_400; |
234 | $this->createInvalidCreateResponse($request, $response, $val); |
235 | |
236 | return; |
237 | } |
238 | } |
239 | |
240 | /** |
241 | * Validate cost center create request |
242 | * |
243 | * @param RequestAbstract $request Request |
244 | * |
245 | * @return array<string, bool> |
246 | * |
247 | * @since 1.0.0 |
248 | */ |
249 | private function validateCostCenterCreate(RequestAbstract $request) : array |
250 | { |
251 | $val = []; |
252 | if (($val['name'] = !$request->hasData('name')) |
253 | ) { |
254 | return $val; |
255 | } |
256 | |
257 | return []; |
258 | } |
259 | |
260 | /** |
261 | * Api method to update an cost center |
262 | * |
263 | * @param RequestAbstract $request Request |
264 | * @param ResponseAbstract $response Response |
265 | * @param array $data Generic data |
266 | * |
267 | * @return void |
268 | * |
269 | * @api |
270 | * |
271 | * @since 1.0.0 |
272 | */ |
273 | public function apiCostCenterUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
274 | { |
275 | if (!empty($val = $this->validateCostCenterUpdate($request))) { |
276 | $response->data['account_update'] = new FormValidation($val); |
277 | $response->header->status = RequestStatusCode::R_400; |
278 | |
279 | return; |
280 | } |
281 | } |
282 | |
283 | /** |
284 | * Validate cost center update request |
285 | * |
286 | * @param RequestAbstract $request Request |
287 | * |
288 | * @return array<string, bool> |
289 | * |
290 | * @since 1.0.0 |
291 | */ |
292 | private function validateCostCenterUpdate(RequestAbstract $request) : array |
293 | { |
294 | $val = []; |
295 | if (($val['id'] = !$request->hasData('id')) |
296 | ) { |
297 | return $val; |
298 | } |
299 | |
300 | return []; |
301 | } |
302 | |
303 | /** |
304 | * Api method to create an cost object |
305 | * |
306 | * @param RequestAbstract $request Request |
307 | * @param ResponseAbstract $response Response |
308 | * @param array $data Generic data |
309 | * |
310 | * @return void |
311 | * |
312 | * @api |
313 | * |
314 | * @since 1.0.0 |
315 | */ |
316 | public function apiCostObjectCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
317 | { |
318 | if (!empty($val = $this->validateCostObjectCreate($request))) { |
319 | $response->header->status = RequestStatusCode::R_400; |
320 | $this->createInvalidCreateResponse($request, $response, $val); |
321 | |
322 | return; |
323 | } |
324 | } |
325 | |
326 | /** |
327 | * Validate cost object create request |
328 | * |
329 | * @param RequestAbstract $request Request |
330 | * |
331 | * @return array<string, bool> |
332 | * |
333 | * @since 1.0.0 |
334 | */ |
335 | private function validateCostObjectCreate(RequestAbstract $request) : array |
336 | { |
337 | $val = []; |
338 | if (($val['name'] = !$request->hasData('name')) |
339 | ) { |
340 | return $val; |
341 | } |
342 | |
343 | return []; |
344 | } |
345 | |
346 | /** |
347 | * Api method to update an cost object |
348 | * |
349 | * @param RequestAbstract $request Request |
350 | * @param ResponseAbstract $response Response |
351 | * @param array $data Generic data |
352 | * |
353 | * @return void |
354 | * |
355 | * @api |
356 | * |
357 | * @since 1.0.0 |
358 | */ |
359 | public function apiCostObjectUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
360 | { |
361 | if (!empty($val = $this->validateCostObjectUpdate($request))) { |
362 | $response->data['account_update'] = new FormValidation($val); |
363 | $response->header->status = RequestStatusCode::R_400; |
364 | |
365 | return; |
366 | } |
367 | } |
368 | |
369 | /** |
370 | * Validate cost object update request |
371 | * |
372 | * @param RequestAbstract $request Request |
373 | * |
374 | * @return array<string, bool> |
375 | * |
376 | * @since 1.0.0 |
377 | */ |
378 | private function validateCostObjectUpdate(RequestAbstract $request) : array |
379 | { |
380 | $val = []; |
381 | if (($val['id'] = !$request->hasData('id')) |
382 | ) { |
383 | return $val; |
384 | } |
385 | |
386 | return []; |
387 | } |
388 | |
389 | /** |
390 | * Api method to create an entry |
391 | * |
392 | * @param RequestAbstract $request Request |
393 | * @param ResponseAbstract $response Response |
394 | * @param array $data Generic data |
395 | * |
396 | * @return void |
397 | * |
398 | * @api |
399 | * |
400 | * @since 1.0.0 |
401 | */ |
402 | public function apiEntryCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
403 | { |
404 | if (!empty($val = $this->validateEntryCreate($request))) { |
405 | $response->header->status = RequestStatusCode::R_400; |
406 | $this->createInvalidCreateResponse($request, $response, $val); |
407 | |
408 | return; |
409 | } |
410 | } |
411 | |
412 | /** |
413 | * Validate entry create request |
414 | * |
415 | * @param RequestAbstract $request Request |
416 | * |
417 | * @return array<string, bool> |
418 | * |
419 | * @since 1.0.0 |
420 | */ |
421 | private function validateEntryCreate(RequestAbstract $request) : array |
422 | { |
423 | $val = []; |
424 | if (($val['name'] = !$request->hasData('name')) |
425 | ) { |
426 | return $val; |
427 | } |
428 | |
429 | return []; |
430 | } |
431 | |
432 | /** |
433 | * Api method to update an entry |
434 | * |
435 | * @param RequestAbstract $request Request |
436 | * @param ResponseAbstract $response Response |
437 | * @param array $data Generic data |
438 | * |
439 | * @return void |
440 | * |
441 | * @api |
442 | * |
443 | * @since 1.0.0 |
444 | */ |
445 | public function apiEntryUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
446 | { |
447 | if (!empty($val = $this->validateEntryUpdate($request))) { |
448 | $response->data['account_update'] = new FormValidation($val); |
449 | $response->header->status = RequestStatusCode::R_400; |
450 | |
451 | return; |
452 | } |
453 | } |
454 | |
455 | /** |
456 | * Validate entry update request |
457 | * |
458 | * @param RequestAbstract $request Request |
459 | * |
460 | * @return array<string, bool> |
461 | * |
462 | * @since 1.0.0 |
463 | */ |
464 | private function validateEntryUpdate(RequestAbstract $request) : array |
465 | { |
466 | $val = []; |
467 | if (($val['id'] = !$request->hasData('id')) |
468 | ) { |
469 | return $val; |
470 | } |
471 | |
472 | return []; |
473 | } |
474 | |
475 | /** |
476 | * Api method to create an recurring entry |
477 | * |
478 | * @param RequestAbstract $request Request |
479 | * @param ResponseAbstract $response Response |
480 | * @param array $data Generic data |
481 | * |
482 | * @return void |
483 | * |
484 | * @api |
485 | * |
486 | * @since 1.0.0 |
487 | */ |
488 | public function apiRecurringEntryCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
489 | { |
490 | if (!empty($val = $this->validateRecurringEntryCreate($request))) { |
491 | $response->header->status = RequestStatusCode::R_400; |
492 | $this->createInvalidCreateResponse($request, $response, $val); |
493 | |
494 | return; |
495 | } |
496 | } |
497 | |
498 | /** |
499 | * Validate recurring entry create request |
500 | * |
501 | * @param RequestAbstract $request Request |
502 | * |
503 | * @return array<string, bool> |
504 | * |
505 | * @since 1.0.0 |
506 | */ |
507 | private function validateRecurringEntryCreate(RequestAbstract $request) : array |
508 | { |
509 | $val = []; |
510 | if (($val['name'] = !$request->hasData('name')) |
511 | ) { |
512 | return $val; |
513 | } |
514 | |
515 | return []; |
516 | } |
517 | |
518 | /** |
519 | * Api method to update an recurring entry |
520 | * |
521 | * @param RequestAbstract $request Request |
522 | * @param ResponseAbstract $response Response |
523 | * @param array $data Generic data |
524 | * |
525 | * @return void |
526 | * |
527 | * @api |
528 | * |
529 | * @since 1.0.0 |
530 | */ |
531 | public function apiRecurringEntryUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
532 | { |
533 | if (!empty($val = $this->validateRecurringEntryUpdate($request))) { |
534 | $response->data['account_update'] = new FormValidation($val); |
535 | $response->header->status = RequestStatusCode::R_400; |
536 | |
537 | return; |
538 | } |
539 | } |
540 | |
541 | /** |
542 | * Validate recurring entry update request |
543 | * |
544 | * @param RequestAbstract $request Request |
545 | * |
546 | * @return array<string, bool> |
547 | * |
548 | * @since 1.0.0 |
549 | */ |
550 | private function validateRecurringEntryUpdate(RequestAbstract $request) : array |
551 | { |
552 | $val = []; |
553 | if (($val['id'] = !$request->hasData('id')) |
554 | ) { |
555 | return $val; |
556 | } |
557 | |
558 | return []; |
559 | } |
560 | |
561 | /** |
562 | * Api method to create an tax key |
563 | * |
564 | * @param RequestAbstract $request Request |
565 | * @param ResponseAbstract $response Response |
566 | * @param array $data Generic data |
567 | * |
568 | * @return void |
569 | * |
570 | * @api |
571 | * |
572 | * @since 1.0.0 |
573 | */ |
574 | public function apiTaxKeyCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
575 | { |
576 | if (!empty($val = $this->validateTaxKeyCreate($request))) { |
577 | $response->header->status = RequestStatusCode::R_400; |
578 | $this->createInvalidCreateResponse($request, $response, $val); |
579 | |
580 | return; |
581 | } |
582 | } |
583 | |
584 | /** |
585 | * Validate tax key create request |
586 | * |
587 | * @param RequestAbstract $request Request |
588 | * |
589 | * @return array<string, bool> |
590 | * |
591 | * @since 1.0.0 |
592 | */ |
593 | private function validateTaxKeyCreate(RequestAbstract $request) : array |
594 | { |
595 | $val = []; |
596 | if (($val['name'] = !$request->hasData('name')) |
597 | ) { |
598 | return $val; |
599 | } |
600 | |
601 | return []; |
602 | } |
603 | |
604 | /** |
605 | * Api method to update an tax key |
606 | * |
607 | * @param RequestAbstract $request Request |
608 | * @param ResponseAbstract $response Response |
609 | * @param array $data Generic data |
610 | * |
611 | * @return void |
612 | * |
613 | * @api |
614 | * |
615 | * @since 1.0.0 |
616 | */ |
617 | public function apiTaxKeyUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
618 | { |
619 | if (!empty($val = $this->validateTaxKeyUpdate($request))) { |
620 | $response->data['account_update'] = new FormValidation($val); |
621 | $response->header->status = RequestStatusCode::R_400; |
622 | |
623 | return; |
624 | } |
625 | } |
626 | |
627 | /** |
628 | * Validate tax key update request |
629 | * |
630 | * @param RequestAbstract $request Request |
631 | * |
632 | * @return array<string, bool> |
633 | * |
634 | * @since 1.0.0 |
635 | */ |
636 | private function validateTaxKeyUpdate(RequestAbstract $request) : array |
637 | { |
638 | $val = []; |
639 | if (($val['id'] = !$request->hasData('id')) |
640 | ) { |
641 | return $val; |
642 | } |
643 | |
644 | return []; |
645 | } |
646 | |
647 | /** |
648 | * Api method to create an batch entry |
649 | * |
650 | * @param RequestAbstract $request Request |
651 | * @param ResponseAbstract $response Response |
652 | * @param array $data Generic data |
653 | * |
654 | * @return void |
655 | * |
656 | * @api |
657 | * |
658 | * @since 1.0.0 |
659 | */ |
660 | public function apiBatchEntryCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
661 | { |
662 | if (!empty($val = $this->validateBatchEntryCreate($request))) { |
663 | $response->header->status = RequestStatusCode::R_400; |
664 | $this->createInvalidCreateResponse($request, $response, $val); |
665 | |
666 | return; |
667 | } |
668 | } |
669 | |
670 | /** |
671 | * Validate batch entry create request |
672 | * |
673 | * @param RequestAbstract $request Request |
674 | * |
675 | * @return array<string, bool> |
676 | * |
677 | * @since 1.0.0 |
678 | */ |
679 | private function validateBatchEntryCreate(RequestAbstract $request) : array |
680 | { |
681 | $val = []; |
682 | if (($val['name'] = !$request->hasData('name')) |
683 | ) { |
684 | return $val; |
685 | } |
686 | |
687 | return []; |
688 | } |
689 | |
690 | /** |
691 | * Api method to update an batch entry |
692 | * |
693 | * @param RequestAbstract $request Request |
694 | * @param ResponseAbstract $response Response |
695 | * @param array $data Generic data |
696 | * |
697 | * @return void |
698 | * |
699 | * @api |
700 | * |
701 | * @since 1.0.0 |
702 | */ |
703 | public function apiBatchEntryUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void |
704 | { |
705 | if (!empty($val = $this->validateBatchEntryUpdate($request))) { |
706 | $response->data['account_update'] = new FormValidation($val); |
707 | $response->header->status = RequestStatusCode::R_400; |
708 | |
709 | return; |
710 | } |
711 | } |
712 | |
713 | /** |
714 | * Validate batch entry update request |
715 | * |
716 | * @param RequestAbstract $request Request |
717 | * |
718 | * @return array<string, bool> |
719 | * |
720 | * @since 1.0.0 |
721 | */ |
722 | private function validateBatchEntryUpdate(RequestAbstract $request) : array |
723 | { |
724 | $val = []; |
725 | if (($val['id'] = !$request->hasData('id')) |
726 | ) { |
727 | return $val; |
728 | } |
729 | |
730 | return []; |
731 | } |
732 | } |