2024-08-20 15:06:57 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
2024-08-22 14:19:42 +02:00
|
|
|
namespace OCA\OrganizationFolders\OrganizationProvider;
|
2024-08-20 15:06:57 +02:00
|
|
|
|
2024-08-22 14:19:42 +02:00
|
|
|
abstract class OrganizationProvider {
|
2024-08-20 15:06:57 +02:00
|
|
|
protected $id;
|
|
|
|
|
|
|
|
public function getId() {
|
|
|
|
return $this->id;
|
|
|
|
}
|
|
|
|
|
2024-08-22 15:08:54 +02:00
|
|
|
/* 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);
|
2024-08-20 15:06:57 +02:00
|
|
|
}
|