Merged changes from o10aupva/main

Replit-Task-Id: 96838fc6-bf00-4a8d-ae18-84ba08feec56
This commit is contained in:
joachimhummel
2026-05-15 16:11:01 +00:00
parent 83a3bf9c62
commit e9f0d1ed98
18 changed files with 612 additions and 140 deletions

View File

@@ -10,7 +10,40 @@ servers:
tags:
- name: health
description: Health operations
- name: contact
description: Contact form
paths:
/contact:
post:
operationId: sendContactMessage
tags: [contact]
summary: Send contact form message
description: Sends a contact message via email
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ContactRequest"
responses:
"200":
description: Message sent successfully
content:
application/json:
schema:
$ref: "#/components/schemas/ContactResponse"
"400":
description: Validation error
content:
application/json:
schema:
$ref: "#/components/schemas/ContactError"
"500":
description: Server error
content:
application/json:
schema:
$ref: "#/components/schemas/ContactError"
/healthz:
get:
operationId: healthCheck
@@ -26,6 +59,48 @@ paths:
$ref: "#/components/schemas/HealthStatus"
components:
schemas:
ContactRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
email:
type: string
format: email
maxLength: 200
subject:
type: string
maxLength: 200
message:
type: string
minLength: 1
maxLength: 5000
required:
- name
- email
- message
ContactResponse:
type: object
properties:
success:
type: boolean
message:
type: string
required:
- success
- message
ContactError:
type: object
properties:
success:
type: boolean
message:
type: string
required:
- success
- message
HealthStatus:
type: object
properties: