- Added `RegulationRepository` and its `Exposed` implementation for persistence. - Implemented REST endpoints for regulations (`/rules`) in `RegulationController`, including support for tournament classes, license matrix, guidelines, fees, and configuration retrieval. - Integrated OpenAPI documentation for `/rules` endpoints with Swagger UI in `masterdataApiModule`. - Enabled Micrometer-based metrics for Prometheus in the API layer. - Updated Gradle dependencies to include OpenAPI, Swagger, and Micrometer libraries. - Registered `RegulationRepository` and `RegulationController` in `MasterdataConfiguration`. - Improved database access patterns and reduced repetitive validation logic across domain services. - Added unit and application tests for `RegulationController` to verify API behavior and repository interactions. - Updated the service's `ROADMAP.md` to mark API v1 endpoints and observability as complete. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
67 lines
1.5 KiB
YAML
67 lines
1.5 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Masterdata SCS API
|
|
description: >
|
|
API für den Masterdata-Bounded-Context (Stammdaten: Reiter, Pferde, Vereine, Regeln)
|
|
version: 1.0.0
|
|
servers:
|
|
- url: http://localhost:8091
|
|
description: Lokaler Entwicklungs-Server
|
|
paths:
|
|
/reiter/search:
|
|
get:
|
|
summary: Sucht Reiter
|
|
parameters:
|
|
- name: q
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Liste von Reitern
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Reiter'
|
|
/rules/turnierklassen:
|
|
get:
|
|
summary: Alle Turnierklassen abrufen
|
|
responses:
|
|
'200':
|
|
description: Liste von Turnierklassen
|
|
/rules/lizenzmatrix:
|
|
get:
|
|
summary: Lizenz-Matrix abrufen
|
|
responses:
|
|
'200':
|
|
description: Liste von Matrix-Einträgen
|
|
/rules/config:
|
|
get:
|
|
summary: Regel-Konfiguration abrufen
|
|
parameters:
|
|
- name: active
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: Liste von Konfigurationen
|
|
|
|
components:
|
|
schemas:
|
|
Reiter:
|
|
type: object
|
|
properties:
|
|
reiterId:
|
|
type: string
|
|
format: uuid
|
|
nachname:
|
|
type: string
|
|
vorname:
|
|
type: string
|
|
satznummer:
|
|
type: string
|