Skip to content
Merged
956 changes: 533 additions & 423 deletions lib/Service/OrganizationSyncService.php

Large diffs are not rendered by default.

16 changes: 3 additions & 13 deletions lib/Service/StackiqService.php
Original file line number Diff line number Diff line change
Expand Up @@ -1364,7 +1364,6 @@ public function syncOrganizationWithOpenRegister(object $organizationObject): bo

// Update the organization using OrganisationService.
$updatedOrganisation = $this->updateOrganisationInOpenRegister(
organisationService: $organisationService,
existingOrganisation: $existingOrganisation,
mappedData: $mappedData
);
Expand Down Expand Up @@ -1395,7 +1394,6 @@ public function syncOrganizationWithOpenRegister(object $organizationObject): bo
// Create the organization using OrganisationService.
$this->_logger->info('StackiqService: SYNC_STEP_10 - Calling createOrganisationInOpenRegister');
$createdOrganisation = $this->createOrganisationInOpenRegisterInternal(
organisationService: $organisationService,
mappedData: $mappedData,
organizationUuid: $organizationUuid
);
Expand Down Expand Up @@ -1452,11 +1450,10 @@ public function createOrganisationInOpenRegister(array $objectData): ?object {
'participants' => $objectData['participants'] ?? [],
];

// Get organisation service.
$organisationService = $this->_container->get('OCA\OpenRegister\Service\OrganisationService');
// Fails early when OpenRegister's organisation service is not available.
$this->_container->get('OCA\OpenRegister\Service\OrganisationService');

return $this->createOrganisationInOpenRegisterInternal(
organisationService: $organisationService,
mappedData: $mappedData,
organizationUuid: $organizationUuid
);
Expand Down Expand Up @@ -1494,17 +1491,12 @@ private function mapStatus(string $status): bool {
/**
* Creates an organization in OpenRegister using OrganisationService
*
* @param \OCA\OpenRegister\Service\OrganisationService $organisationService The OpenRegister organisation service
* @param array $mappedData The mapped organization data
* @param string $organizationUuid The organization UUID to use
*
* @return \OCA\OpenRegister\Db\Organisation The created organization
*/
private function createOrganisationInOpenRegisterInternal(
\OCA\OpenRegister\Service\OrganisationService $organisationService,
array $mappedData,
string $organizationUuid,
): \OCA\OpenRegister\Db\Organisation {
private function createOrganisationInOpenRegisterInternal(array $mappedData, string $organizationUuid): \OCA\OpenRegister\Db\Organisation {
$this->_logger->info(
'StackiqService: STEP 1 - Starting createOrganisationInOpenRegister',
[
Expand Down Expand Up @@ -1778,14 +1770,12 @@ private function createOrganisationInOpenRegisterInternal(
/**
* Updates an organization in OpenRegister using OrganisationService
*
* @param \OCA\OpenRegister\Service\OrganisationService $organisationService The OpenRegister organisation service
* @param \OCA\OpenRegister\Db\Organisation $existingOrganisation The existing organization
* @param array $mappedData The mapped organization data
*
* @return \OCA\OpenRegister\Db\Organisation The updated organization
*/
private function updateOrganisationInOpenRegister(
\OCA\OpenRegister\Service\OrganisationService $organisationService,
\OCA\OpenRegister\Db\Organisation $existingOrganisation,
array $mappedData,
): \OCA\OpenRegister\Db\Organisation {
Expand Down
9 changes: 9 additions & 0 deletions tests/Stubs/Db/OrganisationMapper.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,15 @@ abstract class OrganisationMapper {
*/
abstract public function findByUuid(string $uuid): Organisation;

/**
* Find an organisation by slug.
*
* @param string $slug The organisation slug.
*
* @return Organisation
*/
abstract public function findBySlug(string $slug): Organisation;

/**
* Persist an organisation entity.
*
Expand Down
Loading
Loading