Skip to content

Commit

Permalink
Merge pull request #461 from it-at-m/420-auslagern-von-authority-strings
Browse files Browse the repository at this point in the history
#420 update doku authority strings
  • Loading branch information
vjohnslhm authored Oct 10, 2024
2 parents a94d5d6 + ac3f964 commit 9025544
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 5 deletions.
15 changes: 10 additions & 5 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {withMermaid} from "vitepress-plugin-mermaid"

const PATH_TECHNIK = '/technik/';
const PATH_CODING_CONVENTIONS = PATH_TECHNIK + 'coding_conventions/';
const PATH_ADR = PATH_TECHNIK + 'adr/';
const PATH_FEATURES = '/features/';
const PATH_GUIDES = '/guides/';

Expand Down Expand Up @@ -37,19 +38,23 @@ export default withMermaid({
{text: 'Naming Convention - Testing', link: `${PATH_CODING_CONVENTIONS}tests_naming`}
]},
{
text: 'Adr', link: `${PATH_TECHNIK}adr/`, collapsed: true, items: [
{text: 'Renovate - ignoriere lombok', link: `${PATH_TECHNIK}adr/adr001-renovate-ignore-lombok`},
text: 'Adr', link: `${PATH_ADR}`, collapsed: true, items: [
{text: 'Renovate - ignoriere lombok', link: `${PATH_ADR}adr001-renovate-ignore-lombok`},
{
text: 'Verbesserung Einstiegsfreundlichkeit',
link: `${PATH_TECHNIK}adr/adr-improve-getting-started-of-services`
link: `${PATH_ADR}adr-improve-getting-started-of-services`
},
{
text: 'Shared/Separated Datenmodell',
link: `${PATH_TECHNIK}adr/adr002-controller-service-datamodels`
link: `${PATH_ADR}adr002-controller-service-datamodels`
},
{
text: 'Vollständige Migration nach Keycloak',
link: `${PATH_TECHNIK}adr/adr-always-full-keycloak-migration`
link: `${PATH_ADR}adr-always-full-keycloak-migration`
},
{
text: 'Auslagern von Authority Strings',
link: `${PATH_ADR}adr-auslagerung-authority-strings`
}
]
}
Expand Down
34 changes: 34 additions & 0 deletions docs/src/technik/adr/adr-auslagerung-authority-strings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Auslagerung von Authority Strings

## Status

<adr-status status='rejected'></adr-status>

## Kontext

Es stand die Überlegung im Raum, die in den Services verwendeten Authority Strings als Konstanten auszulagern.
Beispiel:

```java
// Code bisher:
@PreAuthorize("hasAuthority('VorfaelleUndVorkommnisse_WRITE_Ereignisse')")

// Vorschlag:
String AUTHORITY_WRITE_EREIGNIS = "hasAuthority('VorfaelleUndVorkommnisse_WRITE_Ereignisse')";

@PreAuthorize(AUTHORITY_WRITE_EREIGNIS)
```

Dies hätte die Vorteile der Wiederverwendbarkeit, besseren Lesbarkeit und ggf. der Reduzierung von Errors durch Tippfehler, würde aber auf der Anderen Seite die Komplexität etwas erhöhen und zu ein paar mehr Codezeilen führen.

## Entscheidung

In einer gemeinsamen Diskussion wurde Entschieden, die Auslagerung nicht vorzunehmen. Sie hat keinen signifikanten Vorteil, da die meisten Strings nur einmal verwendet werden. Der Aufwand, den bestehenden Code anzupassen kann nicht mit dem geringen Nutzen der Änderung gerechtfertigt werden.

## Konsequenzen

### positiv
Es müssen durch den Entschluss keine bestehenden Services angepasst werden. Es entsteht kein zusätzlicher Handlungsbedarf.

### negativ
Möglicherweise ist der Code weniger übersichtlich und es ergeben sich teilweise redundante/doppelte Codezeilen mit gleichem Inhalt.

0 comments on commit 9025544

Please sign in to comment.