diff --git a/lib/OrganisationProvider/OrganisationProvider.php b/lib/OrganisationProvider/OrganisationProvider.php index f94726e..2455ba7 100644 --- a/lib/OrganisationProvider/OrganisationProvider.php +++ b/lib/OrganisationProvider/OrganisationProvider.php @@ -11,5 +11,37 @@ abstract class OrganizationProvider { return $this->id; } - // TODO: functions to access organisation structure + /* Return one level of the Organization Tree */ + /* + * ┌────────────────────────────┐ + * │ Root Node │ + * │ (of Organization Provider) │ + * └──┬──────────────────────┬──┘ + * │ │ + * │ │ + * ┌── ── ── │── ── ── ── ── ── ── ─│─ ── ── ─┐ + * │ │ + * │ ▼ ▼ │ + * ┌──────────────┐ ┌──────────────┐ + * │ │ │ │ │ │ + * │Organization 1│ │Organization 2│ ◄── ── ── getOrganizations(); + * │ │ │ │ │ │ + * └┬────────────┬┘ └┬────────────┬┘ + * │ │ │ │ │ │ + * │ │ │ │ + * └── ├─ ── ── ── ─┤ ── ── ─┼ ── ── ── ──│── ┘ + * │ │ │ │ + * ▼ ▼ │ │ + * ... ... ▼ ▼ + * ┌── ── ── ── ── ── ── ── ── ── ─┐ + * ┌────────────┐ ┌────────────┐ + * │ │ │ │ │ │ + * │ Suborg. 21 │ │ Suborg. 22 │ ◄── ── ── getOrganizations(2); + * │ │ │ │ │ │ + * └────────────┘ └────────────┘ + * └── ── ── ── ── ── ── ── ── ── ─┘ + */ + abstract public function getOrganizations(?int $parentOrganizationId); + + abstract public function getRolesOfOrganization(int $organizationId); } \ No newline at end of file