Skip to content

Commit 1a1d85c

Browse files
committed
Gebruikersbeheer: leraren in batch aanmaken
1 parent 9d544f3 commit 1a1d85c

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?php
2+
3+
namespace Koba\ToolboxClient\Directories\Gebruikersbeheer\CreatePersoneelBatch;
4+
5+
use DateTimeInterface;
6+
use Koba\ToolboxClient\Call\AbstractCall;
7+
use Koba\ToolboxClient\Directories\Gebruikersbeheer\GebruikersbeheerDirectory;
8+
use Koba\ToolboxClient\Request\HttpMethod;
9+
use Psr\Http\Message\ResponseInterface;
10+
11+
/**
12+
* @phpstan-type Leraar array{id: int, pointer: int, voornaam: string, naam: string, gebruikersnaam: string, stamnummer?: int, roepnaam?: string, geboortedatum?: DateTimeInterface, email?: string}
13+
*/
14+
class CreatePersoneelBatchCall extends AbstractCall
15+
{
16+
/**
17+
* @var Leraar[] $leraren
18+
*/
19+
protected array $leraren;
20+
21+
/**
22+
* @param Leraar[] $leraren
23+
*/
24+
public static function make(GebruikersbeheerDirectory $directory, array $leraren): self
25+
{
26+
return (new self($directory))->setLeraren($leraren);
27+
}
28+
29+
/**
30+
* Stel de leraren die gesynchroniseer moeten worden.
31+
*
32+
* @param Leraar[] $leraren
33+
*/
34+
public function setLeraren(array $leraren): self
35+
{
36+
$this->leraren = $leraren;
37+
return $this;
38+
}
39+
40+
protected function getMethod(): HttpMethod
41+
{
42+
return HttpMethod::PUT;
43+
}
44+
45+
protected function getEndpoint(): string
46+
{
47+
return "v1/gebruikersbeheer/leraar/batch";
48+
}
49+
50+
/**
51+
* @return array<mixed>
52+
*/
53+
protected function getBody(): array
54+
{
55+
return $this->leraren;
56+
}
57+
58+
public function send(): ResponseInterface
59+
{
60+
return $this->performRequest();
61+
}
62+
}

src/ToolboxClient/Directories/Gebruikersbeheer/GebruikersbeheerDirectory.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,27 @@
22

33
namespace Koba\ToolboxClient\Directories\Gebruikersbeheer;
44

5+
use Koba\ToolboxClient\Directories\Gebruikersbeheer\CreatePersoneelBatch\CreatePersoneelBatchCall;
56
use Koba\ToolboxClient\Directories\Gebruikersbeheer\GetPermissies\GetPermissiesCall;
67
use Koba\ToolboxClient\Directory\Directory;
78

9+
/**
10+
* @phpstan-import-type Leraar from CreatePersoneelBatchCall as BatchLeraar
11+
*/
812
class GebruikersbeheerDirectory extends Directory
913
{
1014
public function getPermissies(): GetPermissiesCall
1115
{
1216
return GetPermissiesCall::make($this);
1317
}
18+
19+
/**
20+
* Maak personeelsleden in batch aan.
21+
*
22+
* @param BatchLeraar[] $leraren
23+
*/
24+
public function createPersoneelBatch(array $leraren): CreatePersoneelBatchCall
25+
{
26+
return CreatePersoneelBatchCall::make($this, $leraren);
27+
}
1428
}

0 commit comments

Comments
 (0)