Add types
This commit is contained in:
parent
876e026fd0
commit
829dd01358
|
@ -374,7 +374,8 @@ class Api {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public function memberOverviewOf($groupId) {
|
public function memberOverviewOf(int $groupId): Collection
|
||||||
|
{
|
||||||
$url = self::$url.'/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/'.$groupId.'/flist';
|
$url = self::$url.'/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/'.$groupId.'/flist';
|
||||||
$response = $this->http()->get($url);
|
$response = $this->http()->get($url);
|
||||||
|
|
||||||
|
|
|
@ -2,26 +2,47 @@
|
||||||
|
|
||||||
namespace Zoomyboy\LaravelNami;
|
namespace Zoomyboy\LaravelNami;
|
||||||
|
|
||||||
|
use Illuminate\Contracts\Support\Arrayable;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\LazyCollection;
|
use Illuminate\Support\LazyCollection;
|
||||||
use Illuminate\Contracts\Support\Arrayable;
|
|
||||||
|
|
||||||
class Group implements Arrayable {
|
class Group implements Arrayable {
|
||||||
|
|
||||||
public $name;
|
public string $name;
|
||||||
public $id;
|
public int $id;
|
||||||
|
public ?int $parentId;
|
||||||
|
|
||||||
public static function fromResponse($response, $parent) {
|
public static function fromResponse(array $response, ?int $parent): self
|
||||||
$group = new self();
|
{
|
||||||
$group->name = $response['descriptor'];
|
return (new self())
|
||||||
$group->id = $response['id'];
|
->setName($response['descriptor'])
|
||||||
$group->parent_id = $parent;
|
->setId($response['id'])
|
||||||
|
->setParentId($parent);
|
||||||
|
}
|
||||||
|
|
||||||
return $group;
|
public function setName(string $name): self
|
||||||
|
{
|
||||||
|
$this->name = $name;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setId(int $id): self
|
||||||
|
{
|
||||||
|
$this->id = $id;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setParentId(?int $parentId = null): self
|
||||||
|
{
|
||||||
|
$this->parentId = $parentId;
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function toArray() {
|
public function toArray() {
|
||||||
return [ 'id' => $this->id, 'name' => $this->name, 'parent_id' => $this->parent_id ];
|
return [ 'id' => $this->id, 'name' => $this->name, 'parent_id' => $this->parentId ];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function subgroups() {
|
public function subgroups() {
|
||||||
|
@ -45,11 +66,12 @@ class Group implements Arrayable {
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function member($id): Member {
|
public function member(int $id): Member {
|
||||||
return Member::fromNami(Nami::member($this->id, $id));
|
return Member::fromNami(Nami::member($this->id, $id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function memberOverview() {
|
public function memberOverview(): Collection
|
||||||
|
{
|
||||||
return Nami::memberOverviewOf($this->id)->map(function($member) {
|
return Nami::memberOverviewOf($this->id)->map(function($member) {
|
||||||
return Member::fromNami($member);
|
return Member::fromNami($member);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue