Skip to content
Draft
Show file tree
Hide file tree
Changes from 47 commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
a3de3cb
base branch with plan
mbritense May 4, 2026
b9a3c91
v12 plan
mbritense May 5, 2026
171b3e4
update v12 plan
mbritense May 5, 2026
c45d04c
Initial version of plugin host integration
ivo-ritense May 5, 2026
f031702
Merge remote-tracking branch 'origin/story/430-external-plugin-poc' i…
ivo-ritense May 5, 2026
ca4ba08
first working version sdk, app and sample plugin
mbritense May 5, 2026
7c07d6e
first working version sdk, app and sample plugin
mbritense May 5, 2026
a3cd1e9
Merge branch 'next-minor' into story/430-external-plugin-poc
mbritense May 6, 2026
e7ecd5d
Merge branch 'next-minor' into story/430-external-plugin-poc
mbritense May 7, 2026
94963f3
Introduced 2nd plugin
ivo-ritense May 8, 2026
91879b4
imrpovements to gzac integration external plugin
mbritense May 8, 2026
30c2bac
Merge branch 'story/430-external-plugin-poc' into story/430-2nd-plugi…
ivo-ritense May 8, 2026
07e8d5d
Add gitignore
ivo-ritense May 8, 2026
deb1f8c
Fixed issue with service
ivo-ritense May 8, 2026
c09c00f
Merge branch 'next-minor' into story/430-2nd-plugin-poc
mbritense May 8, 2026
a3c5b71
Merge branch 'next-minor' into story/430-2nd-plugin-poc
mbritense May 12, 2026
430f4dd
rename sdk
mbritense May 12, 2026
a0cecda
working external plugin fe config component
mbritense May 12, 2026
c658ad1
refresh hosts
mbritense May 13, 2026
83acbf8
Merge branch 'next-minor' into story/add-external-plugin-fe
mbritense May 13, 2026
6b0103d
Merge branch 'next-minor' into story/add-external-plugin-fe
mbritense May 29, 2026
d84876d
fix prefill config and endpoint descriptors
mbritense Jun 1, 2026
182ebd6
refactors and tests
mbritense Jun 1, 2026
6fa9219
Merge branch 'next-minor' into story/external-plugin-permissions
mbritense Jun 2, 2026
422a9b1
action config, improvements
mbritense Jun 2, 2026
299caf4
edit rights
mbritense Jun 2, 2026
04f4760
Merge branch 'next-minor' into story/external-plugin-permissions
mbritense Jun 8, 2026
28d2951
improve ui, code and v13 plan
mbritense Jun 8, 2026
31ac644
working event catching
mbritense Jun 9, 2026
e88fa20
persistence with docker, update readmes
mbritense Jun 9, 2026
8d6132d
fix local dev
mbritense Jun 9, 2026
f88aa7f
hmac veriffcisation
mbritense Jun 9, 2026
526fd23
small improvements, updated plan
mbritense Jun 10, 2026
6bd175b
move event broker to host registration instead of application.yml props
mbritense Jun 10, 2026
fe51125
translation and logo support
mbritense Jun 10, 2026
183569b
v18 plan
mbritense Jun 10, 2026
fdc8323
updated plan, granted events, endpoints refactor
mbritense Jun 11, 2026
d99af0a
fix typo
mbritense Jun 11, 2026
cb73706
audit plan
mbritense Jun 12, 2026
2a3d999
remove outdated plans
mbritense Jun 12, 2026
c492e1b
Merge branch 'next-minor' into story/external-plugin-permissions
mbritense Jun 12, 2026
ae45d67
translations for title and desc. in manifest, show version for plugin…
mbritense Jun 12, 2026
fec7a87
remove dead plugins table
mbritense Jun 15, 2026
04a89f5
Merge branch 'next-minor' into feature/external-plugin-system
mbritense Jun 15, 2026
433c25b
authenticate host and config routes with hmac and adjust plan
mbritense Jun 15, 2026
e332849
secure broker credentials delivery
mbritense Jun 16, 2026
f4699cc
Merge pull request #728 from valtimo-platform/story/481-authenticate-…
mbritense Jun 16, 2026
63db749
Merge branch 'next-minor' into feature/external-plugin-system
mbritense Jun 16, 2026
ba8508d
add unique key constraints on grant tables, fix compile and test
mbritense Jun 16, 2026
c3aa686
Merge pull request #730 from valtimo-platform/story/484-unique-constr…
mbritense Jun 16, 2026
dfe92f3
check compatibility and warn when version is incompatible. fix permis…
mbritense Jun 16, 2026
92c45e0
adjust plan
mbritense Jun 17, 2026
0acb1a9
auto reconnect
mbritense Jun 17, 2026
e901281
refactor version provider
mbritense Jun 17, 2026
6d645aa
Merge pull request #736 from valtimo-platform/story/485-enforce-compa…
mbritense Jun 17, 2026
a9c4db6
Merge branch 'feature/external-plugin-system' into story/486-rabbitmq…
mbritense Jun 17, 2026
c9710c7
configurable service token ttl
mbritense Jun 17, 2026
11d25fd
Merge pull request #737 from valtimo-platform/story/486-rabbitmq-reco…
mbritense Jun 17, 2026
aecaeb3
endpoint descriptions in annotation plus test
mbritense Jun 18, 2026
2427476
Merge branch 'feature/external-plugin-system' into story/766-migrate-…
mbritense Jun 18, 2026
804cc05
Add delete guard for plugins in use. (#738)
ivo-ritense Jun 18, 2026
5a2a0a5
add missing descriptions, add to swagger
mbritense Jun 18, 2026
3fc76b5
Durable per host event queue (#744)
ivo-ritense Jun 18, 2026
ef3732e
Merge feature/external-plugin-system into story/488-configurable-serv…
mbritense Jun 19, 2026
9184eb3
Merge pull request #743 from valtimo-platform/story/488-configurable-…
mbritense Jun 19, 2026
d9895cb
Merge feature/external-plugin-system into story/766-migrate-endpoint-…
mbritense Jun 19, 2026
4542376
missing descriptions
mbritense Jun 19, 2026
12d6952
fix tesdt
mbritense Jun 25, 2026
0d7ee6e
Merge pull request #746 from valtimo-platform/story/766-migrate-endpo…
mbritense Jun 25, 2026
63dcb24
Plugin case tabs (#756)
ivo-ritense Jun 25, 2026
9aaffcd
Initial version
ivo-ritense Jun 29, 2026
ae4ced5
Merge remote-tracking branch 'origin/next-minor' into feature/externa…
mbritense Jul 6, 2026
90c7c2d
better external plugin errors
mbritense Jul 6, 2026
9c3e898
Merge pull request #780 from valtimo-platform/story/769-external-plug…
mbritense Jul 7, 2026
de904b7
wip
mbritense Jul 7, 2026
33c5bc3
wip
mbritense Jul 7, 2026
7804794
Merge branch 'feature/external-plugin-system' into story/493-task-for…
mbritense Jul 7, 2026
d77ada9
update plan, fix preview
mbritense Jul 7, 2026
6f101c2
audit improvements
mbritense Jul 8, 2026
a5ae3e6
add the possibility to configure url plugins as apps
mbritense Jul 8, 2026
93d38ef
Merge branch 'next-minor' into feature/external-plugin-system
mbritense Jul 9, 2026
96d2f8c
merge next-minor
mbritense Jul 9, 2026
1acc946
Merge branch 'next-minor' into feature/external-plugin-system
mbritense Jul 9, 2026
88dba50
Merge branch 'feature/external-plugin-system' into story/493-task-for…
mbritense Jul 9, 2026
0345879
Merge branch 'feature/external-plugin-system' into story/url-plugin
mbritense Jul 9, 2026
6368cc3
Fixes to menu page
ivo-ritense Jul 10, 2026
675319a
Merge branch 'feature/external-plugin-system' into story/plugin-page-…
mbritense Jul 10, 2026
0151671
Merge pull request #801 from valtimo-platform/story/plugin-page-in-menu
mbritense Jul 10, 2026
ff4bb3f
fix issues
mbritense Jul 10, 2026
f8e6549
Fix menu configuration seed includeFunction type
mbritense Jul 10, 2026
bfa1ba5
Merge remote-tracking branch 'origin/feature/external-plugin-system' …
mbritense Jul 10, 2026
b86b9f7
Merge remote-tracking branch 'origin/story/493-task-form-plugin-surfa…
mbritense Jul 10, 2026
2d82487
three different options for ext. plugin task forms
mbritense Jul 10, 2026
33910f9
missing files
mbritense Jul 13, 2026
668e1d8
Merge story/493-task-form-plugin-surface into story/url-plugin
mbritense Jul 13, 2026
9118c2f
Merge pull request #786 from valtimo-platform/story/493-task-form-plu…
mbritense Jul 13, 2026
d98ed1e
Merge branch 'feature/external-plugin-system' into story/url-plugin
mbritense Jul 13, 2026
1b8e54e
Merge pull request #792 from valtimo-platform/story/url-plugin
mbritense Jul 14, 2026
35d2eeb
stretch external plugin iframes to fill available viewport
mbritense Jul 15, 2026
0de3859
narrow external plugin tab CSS overrides to prevent side effects
mbritense Jul 15, 2026
80f2b8c
Merge branch 'next-minor' into feature/external-plugin-system
mbritense Jul 15, 2026
02aa8ed
partially migrate to design and fix some issues
mbritense Jul 15, 2026
d0feae2
wip impl.
mbritense Jul 16, 2026
cae9114
working logging, http, kv
mbritense Jul 16, 2026
2bbe1ce
refinements
mbritense Jul 16, 2026
7f283cd
fix double notif.
mbritense Jul 16, 2026
e934a0d
fix lists continuous refresh
mbritense Jul 16, 2026
2c5fb34
External plugin system tests (#808)
ivo-ritense Jul 20, 2026
32e0287
plugin value resolver results and use in bb
mbritense Jul 21, 2026
4a38cb5
pr comments
mbritense Jul 21, 2026
03725d2
Merge pull request #822 from valtimo-platform/story/764-implement-fig…
mbritense Jul 21, 2026
99ce856
pr comments
mbritense Jul 21, 2026
ed92bed
Merge branch 'feature/external-plugin-system' into story/494-host-cap…
mbritense Jul 21, 2026
7428748
Merge pull request #825 from valtimo-platform/story/494-host-capabili…
mbritense Jul 21, 2026
2697045
Merge remote-tracking branch 'origin/next-minor' into feature/externa…
mbritense Jul 21, 2026
1c20b78
Merge remote-tracking branch 'origin/feature/external-plugin-system' …
mbritense Jul 21, 2026
542650b
full review; adjust plan
mbritense Jul 22, 2026
f9cd3a1
improvmeents
mbritense Jul 22, 2026
f196d22
Merge remote-tracking branch 'origin/next-minor' into feature/externa…
mbritense Jul 23, 2026
82b17b2
Merge branch 'feature/external-plugin-system' into story/771-plugin-v…
mbritense Jul 23, 2026
d8d8cdf
Merge branch 'feature/external-plugin-system' into fix/external-plugi…
mbritense Jul 23, 2026
9ed4286
Enforce manifest outputs contract on action results and treat null as…
mbritense Jul 24, 2026
2155356
fix failing tests
mbritense Jul 24, 2026
f28285a
fix import error
mbritense Jul 24, 2026
ebeb67a
fix stepper title
mbritense Jul 24, 2026
f2930ce
final pr feedback
mbritense Jul 24, 2026
564d8f6
Fixed import issues
ivo-ritense Jul 28, 2026
1b41e09
Merge pull request #830 from valtimo-platform/story/771-plugin-value-…
ivo-ritense Jul 29, 2026
8b7f140
Merge remote-tracking branch 'origin/feature/external-plugin-system' …
ivo-ritense Jul 30, 2026
991cbda
Open file
ivo-ritense Jul 30, 2026
a4a4013
Discover plugin host on creation
ivo-ritense Jul 31, 2026
be4f7f3
Merge remote-tracking branch 'origin/fix/external-plugin-audit' into …
ivo-ritense Jul 31, 2026
15e3552
Removed temp test code
ivo-ritense Jul 31, 2026
e7ab845
Merge pull request #840 from valtimo-platform/fix/external-plugin-audit
mbritense Jul 31, 2026
6253bb0
Added case widget type for external plugin
ivo-ritense Jul 31, 2026
97d8995
Merge remote-tracking branch 'origin/next-minor' into feature/externa…
mbritense Aug 6, 2026
07c9e4d
security improvements plugins
mbritense Aug 6, 2026
08ef629
finalize security hardening
mbritense Aug 7, 2026
a49730e
Fixed comments
ivo-ritense Aug 7, 2026
4827053
Merge remote-tracking branch 'origin/feature/external-plugin-system' …
ivo-ritense Aug 7, 2026
d6c2b7d
minor fixes
mbritense Aug 11, 2026
2fc3dd5
Merge pull request #873 from valtimo-platform/story/external-plugin-c…
mbritense Aug 11, 2026
689e87c
Merge remote-tracking branch 'origin/feature/external-plugin-system' …
mbritense Aug 11, 2026
94325ad
Merge pull request #888 from valtimo-platform/feature/external-plugin…
mbritense Aug 11, 2026
8b06218
Merge remote-tracking branch 'origin/next-minor' into feature/externa…
mbritense Aug 11, 2026
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
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package com.ritense.adminsettings.autoconfigure

import com.fasterxml.jackson.databind.ObjectMapper
import com.ritense.adminsettings.endpoint.AdminSettingsEndpointDescriptionProvider
import com.ritense.adminsettings.importer.AdminSettingsAccentColorsImporter
import com.ritense.adminsettings.importer.AdminSettingsFeatureToggleImporter
import com.ritense.adminsettings.importer.AdminSettingsLogoImporter
Expand Down Expand Up @@ -143,4 +144,8 @@ class AdminSettingsAutoConfiguration {
adminSettingsLogoRepository,
)
}

@Bean
@ConditionalOnMissingBean(AdminSettingsEndpointDescriptionProvider::class)
fun adminSettingsEndpointDescriptionProvider() = AdminSettingsEndpointDescriptionProvider()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Copyright 2015-2026 Ritense BV, the Netherlands.
*
* Licensed under EUPL, Version 1.2 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.ritense.adminsettings.endpoint

import com.ritense.valtimo.contract.annotation.SkipComponentScan
import com.ritense.valtimo.contract.endpoint.EndpointDescriptionProvider
import com.ritense.valtimo.contract.endpoint.EndpointDescriptor

@SkipComponentScan
class AdminSettingsEndpointDescriptionProvider : EndpointDescriptionProvider {

override fun getEndpointDescriptors(): List<EndpointDescriptor> = listOf(
endpoint("GET", "/api/management/v1/admin-settings/logo/{logoType}", "Get logo", "Logo ophalen"),
endpoint("POST", "/api/management/v1/admin-settings/logo/{logoType}", "Upload logo", "Logo uploaden"),
endpoint("DELETE", "/api/management/v1/admin-settings/logo/{logoType}", "Delete logo", "Logo verwijderen"),
endpoint("PUT", "/api/management/v1/admin-settings/feature-toggles", "Update feature toggles", "Feature-toggles bijwerken"),
endpoint("DELETE", "/api/management/v1/admin-settings/feature-toggles/{key}", "Delete feature toggle", "Feature-toggle verwijderen"),
endpoint("PUT", "/api/management/v1/admin-settings/accent-colors", "Update accent colors", "Accentkleuren bijwerken"),
)

private companion object {
fun endpoint(method: String, pattern: String, en: String, nl: String) =
EndpointDescriptor(method, pattern, mapOf("en" to en, "nl" to nl))
}
}
19 changes: 19 additions & 0 deletions backend/app/gzac/.env.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
#
# Copyright 2015-2026 Ritense BV, the Netherlands.
#
# Licensed under EUPL, Version 1.2 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This file with secrets has been made public for demonstration purposes.

SPRING_PROFILES_ACTIVE=dev
Expand Down Expand Up @@ -62,6 +78,9 @@ VALTIMO_APP_HOSTNAME=http://localhost:4200/

VALTIMO_PLUGIN_ENCRYPTIONSECRET=abcdefghijklmnop

VALTIMO_EXTERNAL_PLUGIN_SERVICE_TOKEN_SECRET=0a083eee3aef3c064f0fc1acc5e67b4e536c8d62fea283e34d8478c46c043aab
VALTIMO_EXTERNAL_PLUGIN_GZAC_BASE_URL=http://localhost:8080

VALTIMO_ZGW_ZAAKDETAILS_LINKTOZAAK_ENABLED=true

LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_BEANS=DEBUG
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package com.ritense.authorization.autoconfigure

import com.fasterxml.jackson.databind.Module
import com.fasterxml.jackson.databind.ObjectMapper
import com.ritense.authorization.endpoint.AuthorizationEndpointDescriptionProvider
import com.ritense.authorization.AuthorizationEntityMapper
import com.ritense.authorization.AuthorizationService
import com.ritense.authorization.AuthorizationServiceHolder
Expand Down Expand Up @@ -235,4 +236,8 @@ class AuthorizationAutoConfiguration(
roleRepository
)
}

@Bean
@ConditionalOnMissingBean(AuthorizationEndpointDescriptionProvider::class)
fun authorizationEndpointDescriptionProvider() = AuthorizationEndpointDescriptionProvider()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* Copyright 2015-2026 Ritense BV, the Netherlands.
*
* Licensed under EUPL, Version 1.2 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.ritense.authorization.endpoint

import com.ritense.valtimo.contract.annotation.SkipComponentScan
import com.ritense.valtimo.contract.endpoint.EndpointDescriptionProvider
import com.ritense.valtimo.contract.endpoint.EndpointDescriptor

@SkipComponentScan
class AuthorizationEndpointDescriptionProvider : EndpointDescriptionProvider {

override fun getEndpointDescriptors(): List<EndpointDescriptor> = listOf(
endpoint("GET", "/api/management/v1/roles", "List roles", "Rollen ophalen"),
endpoint("POST", "/api/management/v1/roles", "Create a role", "Rol aanmaken"),
endpoint("PUT", "/api/management/v1/roles/{oldRoleKey}", "Update a role", "Rol bijwerken"),
endpoint("DELETE", "/api/management/v1/roles", "Delete roles", "Rollen verwijderen"),
endpoint("GET", "/api/management/v1/roles/{roleKey}/permissions", "Get role permissions", "Rolpermissies ophalen"),
endpoint("PUT", "/api/management/v1/roles/{roleKey}/permissions", "Update role permissions", "Rolpermissies bijwerken"),
endpoint("POST", "/api/management/v1/permissions/search", "Search permissions", "Permissies zoeken"),
endpoint("GET", "/api/management/v1/permissions/schema", "Get permissions schema", "Permissieschema ophalen"),
)

private companion object {
fun endpoint(method: String, pattern: String, en: String, nl: String) =
EndpointDescriptor(method, pattern, mapOf("en" to en, "nl" to nl))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package com.ritense.buildingblock.configuration

import com.fasterxml.jackson.databind.ObjectMapper
import com.ritense.authorization.AuthorizationService
import com.ritense.buildingblock.endpoint.BuildingBlockEndpointDescriptionProvider
import com.ritense.buildingblock.listener.CaseDefinitionBuildingBlockLinkCaseEventListener
import com.ritense.buildingblock.listener.BuildingBlockCaseAssigneeListener
import com.ritense.buildingblock.listener.BuildingBlockDefinitionEventListener
Expand Down Expand Up @@ -834,4 +835,8 @@ class BuildingBlockAutoConfiguration {
): BuildingBlockDecisionDefinitionExporter {
return BuildingBlockDecisionDefinitionExporter(repositoryService)
}

@Bean
@ConditionalOnMissingBean(BuildingBlockEndpointDescriptionProvider::class)
fun buildingBlockEndpointDescriptionProvider() = BuildingBlockEndpointDescriptionProvider()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/*
* Copyright 2015-2026 Ritense BV, the Netherlands.
*
* Licensed under EUPL, Version 1.2 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.ritense.buildingblock.endpoint

import com.ritense.valtimo.contract.annotation.SkipComponentScan
import com.ritense.valtimo.contract.endpoint.EndpointDescriptionProvider
import com.ritense.valtimo.contract.endpoint.EndpointDescriptor

@SkipComponentScan
class BuildingBlockEndpointDescriptionProvider : EndpointDescriptionProvider {

override fun getEndpointDescriptors(): List<EndpointDescriptor> = listOf(
endpoint("GET", "/api/management/v1/building-block", "List building blocks", "Bouwblokken ophalen"),
endpoint("POST", "/api/management/v1/building-block", "Create a building block", "Bouwblok aanmaken"),
endpoint("GET", "/api/management/v1/building-block/{key}/version", "List building block versions", "Bouwblokversies ophalen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}", "Get building block version", "Bouwblokversie ophalen"),
endpoint("PUT", "/api/management/v1/building-block/{key}/version/{versionTag}", "Update building block version", "Bouwblokversie bijwerken"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/document", "Get building block document schema", "Bouwblokdocumentschema ophalen"),
endpoint("PUT", "/api/management/v1/building-block/{key}/version/{versionTag}/document", "Update building block document schema", "Bouwblokdocumentschema bijwerken"),
endpoint("POST", "/api/management/v1/building-block/{key}/version/{versionTag}/draft", "Create draft from building block", "Concept van bouwblok aanmaken"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/export", "Export building block", "Bouwblok exporteren"),
endpoint("POST", "/api/management/v1/building-block/{key}/version/{versionTag}/finalize", "Finalize building block", "Bouwblok afronden"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/plugin", "Get building block plugins", "Bouwblokplugins ophalen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/process-definition/{processDefinitionId}/plugin", "Get plugin definitions for process definition", "Plugindefinities voor procesdefinitie ophalen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/fields", "Get building block fields", "Bouwblokvelden ophalen"),
endpoint("GET", "/api/management/v1/building-block/process-definition/{processDefinitionId}/is-building-block", "Check if process is a building block", "Controleren of proces een bouwblok is"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/process-definition", "List building block process definitions", "Bouwblokprocesdefinities ophalen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/process-definition/{processDefinitionId}", "Get building block process definition", "Bouwblokprocesdefinitie ophalen"),
endpoint("POST", "/api/management/v1/building-block/{key}/version/{versionTag}/process-definition", "Add process definition to building block", "Procesdefinitie aan bouwblok toevoegen"),
endpoint("PUT", "/api/management/v1/building-block/{key}/version/{versionTag}/process-definition/{processDefinitionId}", "Update building block process definition", "Bouwblokprocesdefinitie bijwerken"),
endpoint("POST", "/api/management/v1/building-block/import", "Import building block", "Bouwblok importeren"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/artwork", "Get building block artwork", "Bouwblokafbeelding ophalen"),
endpoint("POST", "/api/management/v1/building-block/{key}/version/{versionTag}/artwork", "Upload building block artwork", "Bouwblokafbeelding uploaden"),
endpoint("DELETE", "/api/management/v1/building-block/{key}/version/{versionTag}/artwork", "Delete building block artwork", "Bouwblokafbeelding verwijderen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/process-definition/main/key", "Get main process definition key", "Hoofdprocesdefinitie-sleutel ophalen"),
endpoint("POST", "/api/management/v1/building-block/{key}/version/{versionTag}/process-definition/{processDefinitionId}/main", "Set main process definition", "Hoofdprocesdefinitie instellen"),
endpoint("DELETE", "/api/management/v1/building-block/{key}/version/{versionTag}/process-definition/{processDefinitionId}", "Remove process definition from building block", "Procesdefinitie van bouwblok verwijderen"),
endpoint("POST", "/api/management/v1/value-resolver/building-block/{key}/version/{versionTag}/keys", "Resolve value keys for building block", "Value-sleutels voor bouwblok ophalen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/form-option", "Get building block form options", "Bouwblokformulieropties ophalen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/form", "List building block forms", "Bouwblokformulieren ophalen"),
endpoint("POST", "/api/management/v1/building-block/{key}/version/{versionTag}/form", "Create building block form", "Bouwblokformulier aanmaken"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/form/{formDefinitionId}", "Get building block form", "Bouwblokformulier ophalen"),
endpoint("PUT", "/api/management/v1/building-block/{key}/version/{versionTag}/form/{formDefinitionId}", "Update building block form", "Bouwblokformulier bijwerken"),
endpoint("DELETE", "/api/management/v1/building-block/{key}/version/{versionTag}/form/{formDefinitionId}", "Delete building block form", "Bouwblokformulier verwijderen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/form/name/{name}", "Get building block form by name", "Bouwblokformulier ophalen op naam"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/form/{name}/exists", "Check if building block form exists", "Controleren of bouwblokformulier bestaat"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/form-flow-definition", "List building block form flow definitions", "Bouwblok-form-flow-definities ophalen"),
endpoint("POST", "/api/management/v1/building-block/{key}/version/{versionTag}/form-flow-definition", "Create building block form flow definition", "Bouwblok-form-flow-definitie aanmaken"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/form-flow-definition/{definitionKey}", "Get building block form flow definition", "Bouwblok-form-flow-definitie ophalen"),
endpoint("PUT", "/api/management/v1/building-block/{key}/version/{versionTag}/form-flow-definition/{definitionKey}", "Update building block form flow definition", "Bouwblok-form-flow-definitie bijwerken"),
endpoint("DELETE", "/api/management/v1/building-block/{key}/version/{versionTag}/form-flow-definition/{definitionKey}", "Delete building block form flow definition", "Bouwblok-form-flow-definitie verwijderen"),
endpoint("GET", "/api/management/v1/building-block/{key}/version/{versionTag}/decision-definition", "List building block decision definitions", "Bouwblokbeslisdefinities ophalen"),
endpoint("POST", "/api/management/v1/building-block/{key}/version/{versionTag}/decision-definition", "Create building block decision definition", "Bouwblokbeslisdefinitie aanmaken"),
endpoint("DELETE", "/api/management/v1/building-block/{key}/version/{versionTag}/decision-definition/{decisionDefinitionKey}", "Delete building block decision definition", "Bouwblokbeslisdefinitie verwijderen"),
)

private companion object {
fun endpoint(method: String, pattern: String, en: String, nl: String) =
EndpointDescriptor(method, pattern, mapOf("en" to en, "nl" to nl))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package com.ritense.case.configuration

import com.fasterxml.jackson.databind.ObjectMapper
import com.ritense.authorization.AuthorizationService
import com.ritense.case.endpoint.CaseEndpointDescriptionProvider
import com.ritense.case.deployment.CaseTabDeploymentService
import com.ritense.case.listener.CaseDefinitionConfigurationIssueListener
import com.ritense.case.listener.StartableItemCaseEventListener
Expand Down Expand Up @@ -538,4 +539,8 @@ class CaseAutoConfiguration {
objectMapper: ObjectMapper,
startableItemRepository: StartableItemRepository,
) = StartableItemImporter(objectMapper, startableItemRepository)

@Bean
@ConditionalOnMissingBean(CaseEndpointDescriptionProvider::class)
fun caseEndpointDescriptionProvider() = CaseEndpointDescriptionProvider()
}
Loading