mirror of
https://github.com/verdigado/organization_folders.git
synced 2024-12-06 11:22:41 +01:00
Added organization controller
This commit is contained in:
parent
e910ed5134
commit
01d63a7f76
2 changed files with 66 additions and 0 deletions
61
lib/Controller/OrganizationController.php
Normal file
61
lib/Controller/OrganizationController.php
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
|
||||
namespace OCA\OrganizationFolders\Controller;
|
||||
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
|
||||
|
||||
use OCA\OrganizationFolders\OrganizationProvider\OrganizationProviderManager;
|
||||
|
||||
class OrganizationController extends BaseController {
|
||||
use Errors;
|
||||
|
||||
public function __construct(
|
||||
private OrganizationProviderManager $oganizationProviderManager,
|
||||
) {
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
#[NoAdminRequired]
|
||||
public function getOrganizationProviders(): JSONResponse {
|
||||
return $this->handleErrors(function () {
|
||||
return array_keys($this->oganizationProviderManager->getOrganizationProviders());
|
||||
});
|
||||
}
|
||||
|
||||
#[NoAdminRequired]
|
||||
public function getOrganization(string $organizationProviderId, int $organizationId): JSONResponse {
|
||||
return $this->handleErrors(function () use ($organizationProviderId, $organizationId) {
|
||||
$organizationProvider = $this->oganizationProviderManager->getOrganizationProvider($organizationProviderId);
|
||||
|
||||
return $organizationProvider->getOrganization($organizationId);
|
||||
});
|
||||
}
|
||||
|
||||
#[NoAdminRequired]
|
||||
public function getTopLevelOrganizations(string $organizationProviderId): JSONResponse {
|
||||
return $this->handleErrors(function () use ($organizationProviderId) {
|
||||
$organizationProvider = $this->oganizationProviderManager->getOrganizationProvider($organizationProviderId);
|
||||
|
||||
return $organizationProvider->getSubOrganizations();
|
||||
});
|
||||
}
|
||||
|
||||
#[NoAdminRequired]
|
||||
public function getSubOrganizations(string $organizationProviderId, int $parentOrganizationId): JSONResponse {
|
||||
return $this->handleErrors(function () use ($organizationProviderId, $parentOrganizationId) {
|
||||
$organizationProvider = $this->oganizationProviderManager->getOrganizationProvider($organizationProviderId);
|
||||
|
||||
return $organizationProvider->getSubOrganizations($parentOrganizationId);
|
||||
});
|
||||
}
|
||||
|
||||
#[NoAdminRequired]
|
||||
public function getRoles(string $organizationProviderId, int $organizationId): JSONResponse {
|
||||
return $this->handleErrors(function () use ($organizationProviderId, $organizationId) {
|
||||
$organizationProvider = $this->oganizationProviderManager->getOrganizationProvider($organizationProviderId);
|
||||
|
||||
return $organizationProvider->getRolesOfOrganization($organizationId);
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue