Skip to content

ext / Update multi modal authorization model for ext/Fintraffic#378

Merged
testower merged 2 commits intoentur:masterfrom
tmfg:feature/ext-multimodal-authorization
Apr 30, 2026
Merged

ext / Update multi modal authorization model for ext/Fintraffic#378
testower merged 2 commits intoentur:masterfrom
tmfg:feature/ext-multimodal-authorization

Conversation

@solita-topip
Copy link
Copy Markdown
Contributor

Summary

  • Enhances the multi-modal stop place authorization model in ext/fintraffic to be more fine-grained: authorization for parent (multi-modal) stop places now checks the transport modes of child stops individually.
  • Adds a configuration option tiamat.ext.fintraffic.auth.multiModal.disabled to allow disabling multi-modal stop place editing entirely. Multi-modal stop place support is enabled by default.
  • Parent stop places now include transport modes collected from their children in the generated search key JSON (used by the read API).
  • All changes are scoped to the ext/fintraffic package only.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (changes to documentation only)
  • Other (please describe)

Issue

No linked issue. Change is relevant for ext/fintraffic package only.

The existing authorization model for multi-modal (parent) stop places was too strict. This change ensures that a user can only edit a parent stop place if they have the required permissions for all of its children's transport modes, improving access control granularity.

Unit tests

  • All existing tests pass.
  • New unit tests have been created for both the authorization logic (FintrafficAuthorizationServiceTest) and the search key generation (FintrafficSearchKeyServiceTest).

Documentation

N/A

@testower testower merged commit 25b86cf into entur:master Apr 30, 2026
7 checks passed
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.

2 participants