Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .license-overrides.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{
"@fortawesome/free-solid-svg-icons": "License is (CC-BY-4.0 AND MIT) — both are approved open-source licenses, compound AND expression not parsed by checker"
"@fortawesome/free-solid-svg-icons": "License is (CC-BY-4.0 AND MIT) — both are approved open-source licenses, compound AND expression not parsed by checker",
"pako": "License is (MIT AND Zlib) — both are approved open-source licenses, compound AND expression not parsed by checker",
"sha.js": "License is (MIT AND BSD-3-Clause) — both are approved open-source licenses, compound AND expression not parsed by checker"
}
8 changes: 8 additions & 0 deletions docs/features.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[
{
"slug": "org-archimate-export",
"title": "Organization-Specific ArchiMate Export",
"summary": "Defines how the softwarecatalog app exports an organization-enriched ArchiMate (AMEFF) XML file that includes the base GEMMA model plus the organization's applications plotted on referentiecomponenten, with proper folder structure, naming, and metadata. Supports toggling data layers (modules, deelnames, gebruik) via query parameters and organises output into typed folders. The exported file is designed to import cleanly into Archi (the open-source ArchiMate modelling tool) and other AMEFF-compatible tools.",
"docsUrl": "openspec/specs/org-archimate-export/spec.md"
}
]
4 changes: 2 additions & 2 deletions lib/BackgroundJob/CronjobContextTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ trait CronjobContextTrait
* @param string $jobId The identifier of the cronjob (e.g., 'organization_contact_sync')
*
* @return bool True if context was successfully set, false otherwise
* @spec openspec/changes/retrofit-2026-05-26-cronjob-context/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-cronjob-context/tasks.md#task-1
*/
protected function setCronjobContext(string $jobId): bool
{
Expand Down Expand Up @@ -184,7 +184,7 @@ protected function setCronjobContext(string $jobId): bool
* @param string $jobId The identifier of the cronjob
*
* @return void
* @spec openspec/changes/retrofit-2026-05-26-cronjob-context/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-cronjob-context/tasks.md#task-1
*/
protected function clearCronjobContext(string $jobId): void
{
Expand Down
2 changes: 1 addition & 1 deletion lib/BackgroundJob/OrganizationContactSyncJob.php
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public function __construct(
* @return void
*
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
* @spec openspec/changes/retrofit-2026-05-26-cronjob-context/tasks.md#task-2
* @spec openspec/changes/retrofit-2026-05-26-cronjob-context/tasks.md#task-2
*/
protected function run($argument): void
{
Expand Down
34 changes: 18 additions & 16 deletions lib/Controller/AangebodenGebruikController.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IGroupManager;
use OCP\IRequest;
use OCP\IUserSession;
use OCA\SoftwareCatalog\Service\AangebodenGebruikService;
Expand Down Expand Up @@ -50,18 +51,20 @@ class AangebodenGebruikController extends Controller
/**
* Constructor for AangebodenGebruikController.
*
* @param string $appName The name of the app
* @param IRequest $request The HTTP request object
* @param IUserSession $userSession The user session service for getting the current user
* @param AangebodenGebruikService $gebruikSvc The business logic service
* @param LoggerInterface $logger The logger service for debugging and error reporting
* @param string $appName The name of the app
* @param IRequest $request The HTTP request object
* @param IUserSession $userSession The user session service for getting the current user
* @param AangebodenGebruikService $gebruikSvc The business logic service
* @param LoggerInterface $logger The logger service for debugging and error reporting
* @param IGroupManager $groupManager The group manager for group membership checks
*/
public function __construct(
string $appName,
IRequest $request,
private readonly IUserSession $userSession,
private readonly AangebodenGebruikService $gebruikSvc,
private readonly LoggerInterface $logger
private readonly LoggerInterface $logger,
private readonly IGroupManager $groupManager
) {
parent::__construct(appName: $appName, request: $request);
}//end __construct()
Expand All @@ -85,7 +88,7 @@ public function __construct(
* @NoCSRFRequired
* @PublicPage
* @PublicPage
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
*/
public function getGebruiksWhereAfnemer(): JSONResponse
{
Expand Down Expand Up @@ -161,7 +164,7 @@ public function getGebruiksWhereAfnemer(): JSONResponse
* @NoAdminRequired
* @NoCSRFRequired
* @PublicPage
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
*/
public function getKoppelingenGebruikByUuid(string $uuid): JSONResponse
{
Expand Down Expand Up @@ -252,7 +255,7 @@ public function getKoppelingenGebruikByUuid(string $uuid): JSONResponse
* @NoAdminRequired
* @NoCSRFRequired
* @PublicPage
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
*/
public function getAllGebruiksForAmbtenaar(): JSONResponse
{
Expand Down Expand Up @@ -360,7 +363,7 @@ public function getAllGebruiksForAmbtenaar(): JSONResponse
* @PublicPage
*
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
*/
public function getSingleGebruikForAmbtenaar(string $gebruikId): JSONResponse
{
Expand Down Expand Up @@ -481,8 +484,7 @@ private function isUserInGroup(string $groupName): bool
return false;
}

$userId = $user->getUID();
$groupManager = \OC::$server->getGroupManager();
$userId = $user->getUID();

$group = $groupManager->get($groupName);
if ($group === null) {
Expand Down Expand Up @@ -533,7 +535,7 @@ private function isUserInGroup(string $groupName): bool
* @NoCSRFRequired
* @PublicPage
* @PublicPage
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-1
*/
public function getGebruiksWhereDeelnemers(): JSONResponse
{
Expand Down Expand Up @@ -612,7 +614,7 @@ public function getGebruiksWhereDeelnemers(): JSONResponse
* @NoCSRFRequired
* @PublicPage
* @PublicPage
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-2
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-2
*/
public function setGebruikSelfToActiveOrg(string $gebruikId): JSONResponse
{
Expand Down Expand Up @@ -720,7 +722,7 @@ function ($key) {
* @NoCSRFRequired
* @PublicPage
* @PublicPage
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-2
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-2
*/
public function deleteGebruikAsAfnemer(string $gebruikId): JSONResponse
{
Expand Down Expand Up @@ -821,7 +823,7 @@ function ($key) {
* @PublicPage
*
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-3
* @spec openspec/changes/retrofit-2026-05-26-aangeboden-gebruik-api/tasks.md#task-3
*/
public function getApiDocumentation(): JSONResponse
{
Expand Down
24 changes: 12 additions & 12 deletions lib/Controller/ContactpersonenController.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ public function __construct(
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
*/
public function getContactpersonen(string $organisationId): JSONResponse
{
Expand Down Expand Up @@ -265,7 +265,7 @@ function ($group) {
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-2
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-2
*/
public function convertToUser(string $contactpersoonId): JSONResponse
{
Expand Down Expand Up @@ -491,7 +491,7 @@ public function convertToUser(string $contactpersoonId): JSONResponse
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
*/
public function changePassword(string $username, string $newPassword): JSONResponse
{
Expand Down Expand Up @@ -580,7 +580,7 @@ public function changePassword(string $username, string $newPassword): JSONRespo
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
*/
public function updateUserGroups(string $username, array $groups=[]): JSONResponse
{
Expand Down Expand Up @@ -704,7 +704,7 @@ function ($group) {
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
*/
public function getContactPersonsWithUserDetailsForOrganization(string $organizationUuid): JSONResponse
{
Expand Down Expand Up @@ -796,7 +796,7 @@ public function getContactPersonsWithUserDetailsForOrganization(string $organiza
* @NoCSRFRequired
*
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
*/
public function getUserInfo(string $contactpersoonId): JSONResponse
{
Expand Down Expand Up @@ -923,7 +923,7 @@ public function getUserInfo(string $contactpersoonId): JSONResponse
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
*/
public function getAvailableGroups(): JSONResponse
{
Expand Down Expand Up @@ -988,7 +988,7 @@ public function getAvailableGroups(): JSONResponse
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
*/
public function disableUser(string $contactpersoonId): JSONResponse
{
Expand Down Expand Up @@ -1036,7 +1036,7 @@ public function disableUser(string $contactpersoonId): JSONResponse
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-3
*/
public function enableUser(string $contactpersoonId): JSONResponse
{
Expand Down Expand Up @@ -1082,7 +1082,7 @@ public function enableUser(string $contactpersoonId): JSONResponse
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
*/
public function testBulkUserInfo(): JSONResponse
{
Expand Down Expand Up @@ -1143,7 +1143,7 @@ public function testBulkUserInfo(): JSONResponse
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
*/
public function getBulkUserInfo(): JSONResponse
{
Expand Down Expand Up @@ -1209,7 +1209,7 @@ public function getBulkUserInfo(): JSONResponse
* @NoCSRFRequired
*
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-contactpersonen-api/tasks.md#task-1
*/
public function getMe(): JSONResponse
{
Expand Down
4 changes: 2 additions & 2 deletions lib/Controller/DashboardController.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public function __construct($appName, IRequest $request)
* @NoCSRFRequired
*
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
* @spec openspec/changes/retrofit-2026-05-26-dashboard-views-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-dashboard-views-api/tasks.md#task-1
*/
public function page(?string $getParameter): TemplateResponse
{
Expand Down Expand Up @@ -76,7 +76,7 @@ public function page(?string $getParameter): TemplateResponse
* @NoCSRFRequired
*
* @return JSONResponse The JSON response with empty results
* @spec openspec/changes/retrofit-2026-05-26-dashboard-views-api/tasks.md#task-1
* @spec openspec/changes/retrofit-2026-05-26-dashboard-views-api/tasks.md#task-1
*/
public function index(): JSONResponse
{
Expand Down
24 changes: 12 additions & 12 deletions lib/Controller/GebruikController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
* Handles HTTP requests for view-related operations including querying views
* with enrichment options for products and usage data.
*
* @category Controller
* @package OCA\SoftwareCatalog\Controller
* @author Conduction b.v. <info@conduction.nl>
* @category Controller
* @package OCA\SoftwareCatalog\Controller
* @author Conduction b.v. <info@conduction.nl>
* @copyright 2024 Conduction B.V. <info@conduction.nl>
* @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
* @version GIT: <git_id>
* @link https://github.com/nextcloud/softwarecatalog
* @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
* @version GIT: <git_id>
* @link https://github.com/nextcloud/softwarecatalog
*
* @spec openspec/changes/retrofit-2026-05-24-annotate-softwarecatalog/tasks.md#task-10
*/
Expand All @@ -35,13 +35,13 @@
* This controller provides REST API endpoints for querying and managing gebruik objects
* with role-based access for gebruik-beheerder and aanbod-beheerder users.
*
* @category Controller
* @package OCA\SoftwareCatalog\Controller
* @author Conduction b.v. <info@conduction.nl>
* @category Controller
* @package OCA\SoftwareCatalog\Controller
* @author Conduction b.v. <info@conduction.nl>
* @copyright 2024 Conduction B.V. <info@conduction.nl>
* @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
* @version GIT: <git_id>
* @link https://github.com/nextcloud/softwarecatalog
* @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
* @version GIT: <git_id>
* @link https://github.com/nextcloud/softwarecatalog
*/
class GebruikController extends Controller
{
Expand Down
4 changes: 2 additions & 2 deletions lib/Controller/PreferencesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public function __construct(
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-dashboard-views-api/tasks.md#task-3
* @spec openspec/changes/retrofit-2026-05-26-dashboard-views-api/tasks.md#task-3
*/
public function getPreference(string $key): JSONResponse
{
Expand Down Expand Up @@ -102,7 +102,7 @@ public function getPreference(string $key): JSONResponse
*
* @NoAdminRequired
* @NoCSRFRequired
* @spec openspec/changes/retrofit-2026-05-26-dashboard-views-api/tasks.md#task-3
* @spec openspec/changes/retrofit-2026-05-26-dashboard-views-api/tasks.md#task-3
*/
public function setPreference(string $key, string $value=''): JSONResponse
{
Expand Down
Loading