Skip to content

fix: reference reusable quality workflow from main#925

Merged
rubenvdlinde merged 1617 commits intodevelopmentfrom
fix/sbom-reusable-workflow
Mar 19, 2026
Merged

fix: reference reusable quality workflow from main#925
rubenvdlinde merged 1617 commits intodevelopmentfrom
fix/sbom-reusable-workflow

Conversation

@rubenvdlinde
Copy link
Contributor

Summary

  • Updated quality workflow to reference ConductionNL/.github@main instead of @feature/add-sbom-generation
  • The feature branch has been merged to main, so this just cleans up the stale reference

Test plan

  • Verify quality workflow still runs correctly on PRs

rubenvdlinde and others added 30 commits March 5, 2026 08:58
…ealthchecks

- Set AppAPI-assigned ports per ExApp (keycloak=23002, openzaak=23003,
  valtimo=23004, openklant=23005, opentalk=23005)
- Hardcode APP_SECRET values from AppAPI registration
- Switch healthchecks from wget to Python urllib (not available in all base images)
- Fix LiveKit command-line config format

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Apply PHPCBF auto-fixes and manual coding standard fixes including named
parameters, explicit boolean comparisons, and formatting. Reduced errors
from 4888 to 1923 across 270 files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
REQUIRES the branch `feature/class-fixes` from nextcloud-vue be merged
Applied named parameters, explicit comparisons, inline if replacements,
and formatting fixes across 217 files. Fixed subagent-introduced bugs:
wrong parameter names for markFieldUpdated/resolveSchemaReference,
corrupted variables, and double named params.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolve merge conflicts in UnifiedObjectMapper and FilePropertyHandler.
Brings PHPCS coding standard fixes into the php-linting branch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix inline IF statements, missing doc comments, named arguments
- Fix line length violations and control structure spacing
- All WorkflowEngine files brought to PHPCS compliance
- 0 errors remaining (176 warnings)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…trapping

- Add NC tests/autoload.php loading to bootstrap.php (full NC convention)
- Register Test\ namespace in bootstrap-unit.php for lightweight unit testing
- Fix VectorEmbeddingServiceTest to use NC's static invokePrivate() convention
- Create consolidated quality.yml workflow with 4 jobs:
  PHP Quality (lint/phpcs/phpmd/psalm/phpstan), Frontend Quality (eslint/stylelint),
  PHPUnit Tests (NC server checkout, SQLite, PHP 8.2+8.3), Integration Tests (Newman/PostgreSQL)
- Delete 9 superseded/disabled workflow files (2500+ lines removed)
- Include pending PHPCS fixes from feature/php-linting branch

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…locks

Fixes 15 PossiblyUndefinedVariable Psalm errors by initializing variables
before try/if blocks. Also adds app_api availability check in
WorkflowEngineRegistry and improves N8nAdapter docblock.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…sibility

Each tool (PHP Lint, PHPCS, PHPMD, Psalm, PHPStan, phpmetrics) now
shows as a separate box in the GitHub Actions workflow graph.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove overly broad excludePaths that blocked OCP stub scanning
- Add doctrine/dbal and symfony/http-foundation as dev deps for type info
- Add ignore rules for Nextcloud internal classes (OC\, OCA\DAV\)
- Generate baseline for 1,594 remaining level-5 errors (incremental fix)
- PHPStan now reports 0 errors at level 5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove continue-on-error from all tools — failures now show red X
- Split frontend into ESLint + Stylelint matrix (individual boxes)
- Summary now runs on pushes (step summary) and PRs (comment)
- Newman tests now blocking too

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Auto-fix 75 ESLint errors (indentation, trailing spaces, blank lines)
- Fix unused variable in N8nConfiguration.vue
- Upgrade stylelint 14→15 to match @nextcloud/stylelint-config peer dep
- Switch to @nextcloud/stylelint-config, allow ::v-deep pseudo-element
- Add cost-saving notes to PHPUnit/Newman workflow gates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extends the 2-phase import pipeline (schemas→objects) to 4 phases
(schemas→workflows→hooks→objects). Workflows defined in import JSON
are deployed to configured engines (n8n/Windmill) with SHA-256 hash-based
idempotency, and optionally wired to schema hook events.

- Add DeployedWorkflow entity and mapper for tracking deployed workflows
- Add database migration for openregister_deployed_workflows table
- Add updateWorkflow() and getWorkflow() to WorkflowEngineInterface
- Implement updateWorkflow/getWorkflow in N8nAdapter and WindmillAdapter
- Add processWorkflowDeployment/processWorkflowHookWiring to ImportHandler
- Add exportWorkflowsForSchema to ExportHandler for round-trip export
- Wire workflow dependencies in Application.php via setter injection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace $platform->getName() === 'postgresql' with instanceof checks
  across all mappers (DBAL 4.x compatibility)
- Add missing @method annotations to ObjectEntity
- Add indexFiles/getFileIndexStats/fixMismatchedFields to SearchBackendInterface
- Rewrite VectorEmbeddingServiceTest to match current VectorSearchHandler API
  (use PHPUnit\Framework\TestCase + ReflectionMethod, fix RRF test data format)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ReferentialIntegrityService::logRestrictViolation — use $targetUuid
for early validation and $isArray for query mode selection.

RenderObject::resolveInversedByRelations — add input validation using
all 4 params ($entityUuids, $targetSchemaId, $registerId,
$inversedByFields) before the OC::$server call.

ComputedFieldHandler::resolveReferences — add max $depth guard (>10)
to prevent infinite recursion in nested reference resolution.

SaveObjects::performBulkWriteBackUpdates — use $savedObjectIds to
filter objects needing write-back, $existingObjects to merge existing
data with updates.
@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit 0018d6b
Branch 925/merge
Event pull_request
Generated 2026-03-18 14:19 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23249194515

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security PASS
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer FAIL
npm FAIL

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 0
Denied 1

Denied packages

Package Version License
smalot/pdfparser v2.12.4 LGPL-3.0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 0
Denied 1

Denied packages

Package Version License
@fortawesome/free-solid-svg-icons 6.6.0 (CC-BY-4.0 AND MIT)

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

…r doc comments, named params, ternaries, boolean comparisons
…egister into fix/sbom-reusable-workflow

# Conflicts:
#	lib/Db/AbstractObjectMapper.php
#	lib/Db/MagicMapper.php
#	lib/Service/File/FilePublishingHandler.php
#	lib/Service/File/UpdateFileHandler.php
#	lib/Service/Index/Backends/Solr/SolrQueryExecutor.php
#	lib/Service/Index/ObjectHandler.php
#	lib/Service/IndexService.php
#	lib/Service/McpDiscoveryService.php
#	lib/Service/Object/ReferentialIntegrityService.php
#	lib/Service/Object/RenderObject.php
#	lib/Service/Object/SaveObject.php
#	lib/Service/Object/SaveObjects.php
@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit c2d92db
Branch 925/merge
Event pull_request
Generated 2026-03-19 08:17 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23285851278

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security PASS
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer FAIL
npm FAIL

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 0
Denied 1

Denied packages

Package Version License
smalot/pdfparser v2.12.4 LGPL-3.0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 0
Denied 1

Denied packages

Package Version License
@fortawesome/free-solid-svg-icons 6.6.0 (CC-BY-4.0 AND MIT)

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

…ove unused deps, fix type errors, update baseline
@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit 889bfcb
Branch 925/merge
Event pull_request
Generated 2026-03-19 09:00 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23287259967

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security PASS
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer FAIL
npm FAIL

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 0
Denied 1

Denied packages

Package Version License
smalot/pdfparser v2.12.4 LGPL-3.0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 0
Denied 1

Denied packages

Package Version License
@fortawesome/free-solid-svg-icons 6.6.0 (CC-BY-4.0 AND MIT)

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

Replace relaxed PHPMD config (disabled rules, raised thresholds) with the
standard opencatalogi strict ruleset. All 743 new warnings resolved via
class-level @SuppressWarnings annotations across 154 files:

- ElseExpression (224): structural complexity, suppressed
- UnusedFormalParameter (201): framework/interface patterns, suppressed
- StaticAccess (136): framework utilities, suppressed
- ExcessiveMethodLength (64): suppressed
- CyclomaticComplexity (52): suppressed
- NPathComplexity (30): suppressed
- BooleanArgumentFlag (30): API patterns, suppressed
- ExcessiveClassLength (4): suppressed

PHPMD now reports 0 warnings with strict defaults.
@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit fd2e192
Branch 925/merge
Event pull_request
Generated 2026-03-19 09:11 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23287640522

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security PASS
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer FAIL
npm FAIL

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 0
Denied 1

Denied packages

Package Version License
smalot/pdfparser v2.12.4 LGPL-3.0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 0
Denied 1

Denied packages

Package Version License
@fortawesome/free-solid-svg-icons 6.6.0 (CC-BY-4.0 AND MIT)

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit c12b5f6
Branch 925/merge
Event pull_request
Generated 2026-03-19 09:41 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23288779486

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security PASS
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer FAIL
npm FAIL

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 0
Denied 1

Denied packages

Package Version License
smalot/pdfparser v2.12.4 LGPL-3.0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 0
Denied 1

Denied packages

Package Version License
@fortawesome/free-solid-svg-icons 6.6.0 (CC-BY-4.0 AND MIT)

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit 0869b40
Branch 925/merge
Event pull_request
Generated 2026-03-19 10:09 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23289724897

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security PASS
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer FAIL
npm FAIL

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 0
Denied 1

Denied packages

Package Version License
smalot/pdfparser v2.12.4 LGPL-3.0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 0
Denied 1

Denied packages

Package Version License
@fortawesome/free-solid-svg-icons 6.6.0 (CC-BY-4.0 AND MIT)

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

…g files

Continue ElseExpression refactoring for MagicMapper handlers, MappingMapper,
ObjectHandlers, Migration files, and MappingRuntime. All @SuppressWarnings
annotations already removed in previous commit.
@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit 4910d4f
Branch 925/merge
Event pull_request
Generated 2026-03-19 10:31 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23290560498

Summary

Group Result
PHP Quality FAIL
Vue Quality FAIL
Security PASS
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint FAIL
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer FAIL
npm FAIL

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 0
Denied 1

Denied packages

Package Version License
smalot/pdfparser v2.12.4 LGPL-3.0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 0
Denied 1

Denied packages

Package Version License
@fortawesome/free-solid-svg-icons 6.6.0 (CC-BY-4.0 AND MIT)

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit f1f6235
Branch 925/merge
Event pull_request
Generated 2026-03-19 11:34 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23292822445

Summary

Group Result
PHP Quality FAIL
Vue Quality PASS
Security PASS
License FAIL
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint PASS
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer FAIL
npm FAIL

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 0
Denied 1

Denied packages

Package Version License
smalot/pdfparser v2.12.4 LGPL-3.0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 0
Denied 1

Denied packages

Package Version License
@fortawesome/free-solid-svg-icons 6.6.0 (CC-BY-4.0 AND MIT)

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

Restructure cascade-nullify to set scalar default first, then override
for array properties — eliminates redundant elseif branch. Also invert
guard clause in groupTargetsBySchema for early continue.
@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit e8d62d6
Branch 925/merge
Event pull_request
Generated 2026-03-19 11:40 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23293016997

Summary

Group Result
PHP Quality FAIL
Vue Quality PASS
Security PASS
License PASS
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint PASS
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer PASS
npm PASS

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 1
Denied 0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 1
Denied 0

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit fcf6b00
Branch 925/merge
Event pull_request
Generated 2026-03-19 11:42 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23293109225

Summary

Group Result
PHP Quality FAIL
Vue Quality PASS
Security PASS
License PASS
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint PASS
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer PASS
npm PASS

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 1
Denied 0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 1
Denied 0

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit 56892e5
Branch 925/merge
Event pull_request
Generated 2026-03-19 12:04 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23293871026

Summary

Group Result
PHP Quality FAIL
Vue Quality PASS
Security PASS
License PASS
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint PASS
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer PASS
npm PASS

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 1
Denied 0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 1
Denied 0

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

Comment on lines +1133 to +1150
// Fallback: Build query manually (legacy behavior).
$queryBuilder = $this->db->getQueryBuilder();
$queryBuilder->selectAlias($field, 'facet_value')
->addSelect($queryBuilder->createFunction('COUNT(*) as doc_count'))
->from($tableName)
->where($queryBuilder->expr()->isNotNull($field))
->groupBy($field)
->orderBy('doc_count', 'DESC')
->setMaxResults(self::MAX_FACET_BUCKETS);

// Apply base filters.
$this->applyBaseFilters(
queryBuilder: $queryBuilder,
baseQuery: $baseQuery,
tableName: $tableName,
schema: $schema
);

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get the change to avoid using an else statement, but wouldn't this create unneccesary complexity for building the query?

Comment on lines +1305 to +1326
// Fallback: Build query manually (legacy behavior).
$queryBuilder = $this->db->getQueryBuilder();

// Use TO_CHAR for PostgreSQL (Nextcloud default) instead of DATE_FORMAT (MySQL).
$queryBuilder->selectAlias(
$queryBuilder->createFunction("TO_CHAR($field, '$dateFormat')"),
'date_key'
)
->selectAlias($queryBuilder->createFunction('COUNT(*)'), 'doc_count')
->from($tableName)
->where($queryBuilder->expr()->isNotNull($field))
->groupBy('date_key')
->orderBy('date_key', 'ASC');

// Apply base filters (including object field filters for facet filtering).
$this->applyBaseFilters(
queryBuilder: $queryBuilder,
baseQuery: $baseQuery,
tableName: $tableName,
schema: $schema
);

Copy link
Member

@rjzondervan rjzondervan Mar 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, doesn't the fallback create unnecessary complexity?

@github-actions
Copy link
Contributor

Quality Report

Repository ConductionNL/openregister
Commit 1de113f
Branch 925/merge
Event pull_request
Generated 2026-03-19 14:10 UTC
Workflow Run https://github.com/ConductionNL/openregister/actions/runs/23298931915

Summary

Group Result
PHP Quality FAIL
Vue Quality PASS
Security PASS
License PASS
PHPUnit SKIP
Newman SKIP

PHP Quality

Tool Result
lint PASS
phpcs FAIL
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint PASS
stylelint PASS

Security

Ecosystem Result
composer PASS
npm PASS

License Compliance

Ecosystem Result
composer PASS
npm PASS

composer dependencies (147 total)

Metric Count
Approved (allowlist) 146
Approved (override) 1
Denied 0

npm dependencies (586 total)

Metric Count
Approved (allowlist) 585
Approved (override) 1
Denied 0

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

@rubenvdlinde rubenvdlinde merged commit d8ef8e6 into development Mar 19, 2026
17 of 19 checks passed
@rubenvdlinde rubenvdlinde deleted the fix/sbom-reusable-workflow branch March 19, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants