diff --git a/src/Entities/Tag.php b/src/Entities/Tag.php new file mode 100644 index 0000000..0a53926 --- /dev/null +++ b/src/Entities/Tag.php @@ -0,0 +1,23 @@ +<?php + +namespace D3\KlicktippPhpClient\Entities; + +use Doctrine\Common\Collections\ArrayCollection; + +class Tag extends ArrayCollection +{ + public function getId(): string + { + return $this->get('tagid'); + } + + public function getName(): string + { + return $this->get('name'); + } + + public function getText(): string + { + return $this->get('text'); + } +} \ No newline at end of file diff --git a/src/Resources/Tag.php b/src/Resources/Tag.php new file mode 100644 index 0000000..d4d1d1a --- /dev/null +++ b/src/Resources/Tag.php @@ -0,0 +1,40 @@ +<?php + +namespace D3\KlicktippPhpClient\Resources; + +use D3\KlicktippPhpClient\Entities\Tag as TagEntity; +use D3\KlicktippPhpClient\Exceptions\BaseException; +use GuzzleHttp\Exception\GuzzleException; + +class Tag extends Model +{ + /** + * @throws BaseException|GuzzleException + */ + public function index(): array + { + return $this->connection->requestAndParse( + 'GET', + 'tag', + [ + 'query' => $this->getQuery() + ] + ); + } + + /** + * @throws BaseException|GuzzleException + */ + public function get(string $tagId): TagEntity + { + $data = $this->connection->requestAndParse( + 'GET', + 'tag/'.urlencode(trim($tagId)), + [ + 'query' => $this->getQuery() + ] + ); + + return new TagEntity($data); + } +}