major: Rename legalconsenthub to gremiumhub
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
---
|
||||
name: feature-implementer
|
||||
description: "Use this agent when the user requests implementation of a new feature, enhancement, or functionality for the Legal Consent Hub platform. This includes adding new form elements, creating new API endpoints, implementing UI components, or extending existing capabilities."
|
||||
description: "Use this agent when the user requests implementation of a new feature, enhancement, or functionality for the GremiumHub platform. This includes adding new form elements, creating new API endpoints, implementing UI components, or extending existing capabilities."
|
||||
model: sonnet
|
||||
color: green
|
||||
tools: Read, Write, Edit, Bash, Glob, Grep
|
||||
---
|
||||
|
||||
You are an elite full-stack feature architect for the Legal Consent Hub platform, specializing in implementing cohesive features across the entire technology stack. You have deep expertise in the platform's architecture, conventions, and design patterns.
|
||||
You are an elite full-stack feature architect for the GremiumHub platform, specializing in implementing cohesive features across the entire technology stack. You have deep expertise in the platform's architecture, conventions, and design patterns.
|
||||
|
||||
## Your Core Responsibilities
|
||||
|
||||
@@ -83,10 +83,10 @@ When implementing a feature:
|
||||
|
||||
## Key Files Reference
|
||||
|
||||
- `api/legalconsenthub.yml` - OpenAPI specification
|
||||
- `legalconsenthub-backend/src/main/resources/templates/application_form_latex_template.tex` - PDF template
|
||||
- `legalconsenthub-backend/src/main/resources/seed/*.yaml` - Seed data
|
||||
- `legalconsenthub-backend/src/main/resources/db/changelog/` - Database migrations
|
||||
- `api/gremiumhub.yml` - OpenAPI specification
|
||||
- `gremiumhub-backend/src/main/resources/templates/application_form_latex_template.tex` - PDF template
|
||||
- `gremiumhub-backend/src/main/resources/seed/*.yaml` - Seed data
|
||||
- `gremiumhub-backend/src/main/resources/db/changelog/` - Database migrations
|
||||
- `.github/workflows/pipeline.yaml` - CI/CD configuration
|
||||
|
||||
## Composables to Leverage
|
||||
|
||||
@@ -7,7 +7,7 @@ description: Use when modifying seed files in template/ or demo/ directories - e
|
||||
|
||||
## Overview
|
||||
|
||||
The Legal Consent Hub has two interdependent seed file directories that must stay synchronized:
|
||||
GremiumHub has two interdependent seed file directories that must stay synchronized:
|
||||
|
||||
1. **Template** (`seed/template/`) - `isTemplate: true` - defines the form structure, element types, options, visibility conditions, section spawn triggers, and template sections.
|
||||
2. **Demo form** (`seed/demo/`) - `isTemplate: false` - a realistic SAP S/4HANA application form with pre-filled values derived from the template. Used for development testing and UI validation.
|
||||
@@ -17,7 +17,7 @@ Changes to either directory can break the other. This skill ensures consistency.
|
||||
## File Structure
|
||||
|
||||
```
|
||||
legalconsenthub-backend/src/main/resources/seed/
|
||||
gremiumhub-backend/src/main/resources/seed/
|
||||
├── template/ # Template (source of truth for structure)
|
||||
│ ├── _main.yaml # Main file: isTemplate, name, !include directives
|
||||
│ ├── section_01_angaben_zum_itsystem.yaml
|
||||
|
||||
30
.github/workflows/pipeline.yaml
vendored
30
.github/workflows/pipeline.yaml
vendored
@@ -4,16 +4,16 @@ run-name: ${{ github.actor }} triggered pipeline on ${{ github.ref_name }}
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'legalconsenthub/**'
|
||||
- 'legalconsenthub-backend/**'
|
||||
- 'gremiumhub/**'
|
||||
- 'gremiumhub-backend/**'
|
||||
- 'api/**'
|
||||
- '.github/workflows/pipeline.yaml'
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'legalconsenthub/**'
|
||||
- 'legalconsenthub-backend/**'
|
||||
- 'gremiumhub/**'
|
||||
- 'gremiumhub-backend/**'
|
||||
- 'api/**'
|
||||
- '.github/workflows/pipeline.yaml'
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./legalconsenthub
|
||||
working-directory: ./gremiumhub
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
@@ -89,7 +89,7 @@ jobs:
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: git.gremiumhub.de/${{ github.repository_owner }}/legalconsenthub
|
||||
images: git.gremiumhub.de/${{ github.repository_owner }}/gremiumhub
|
||||
tags: |
|
||||
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
|
||||
type=sha,prefix=,format=long
|
||||
@@ -98,7 +98,7 @@ jobs:
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: ./legalconsenthub/Dockerfile
|
||||
file: ./gremiumhub/Dockerfile
|
||||
push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
||||
platforms: linux/amd64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
@@ -110,8 +110,8 @@ jobs:
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
run: |
|
||||
echo "✅ Docker image built and pushed successfully"
|
||||
echo "📦 Image: git.gremiumhub.de/${{ github.repository_owner }}/legalconsenthub:latest"
|
||||
echo "📦 Image: git.gremiumhub.de/${{ github.repository_owner }}/legalconsenthub:${{ github.sha }}"
|
||||
echo "📦 Image: git.gremiumhub.de/${{ github.repository_owner }}/gremiumhub:latest"
|
||||
echo "📦 Image: git.gremiumhub.de/${{ github.repository_owner }}/gremiumhub:${{ github.sha }}"
|
||||
|
||||
- name: Dry-run completed
|
||||
if: github.event_name == 'pull_request'
|
||||
@@ -123,7 +123,7 @@ jobs:
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./legalconsenthub-backend
|
||||
working-directory: ./gremiumhub-backend
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
@@ -141,7 +141,7 @@ jobs:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
legalconsenthub-backend/.gradle
|
||||
gremiumhub-backend/.gradle
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
@@ -172,7 +172,7 @@ jobs:
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: git.gremiumhub.de/${{ github.repository_owner }}/legalconsenthub-backend
|
||||
images: git.gremiumhub.de/${{ github.repository_owner }}/gremiumhub-backend
|
||||
tags: |
|
||||
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
|
||||
type=sha,prefix=,format=long
|
||||
@@ -181,7 +181,7 @@ jobs:
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: ./legalconsenthub-backend/Dockerfile
|
||||
file: ./gremiumhub-backend/Dockerfile
|
||||
push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
||||
platforms: linux/amd64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
@@ -193,8 +193,8 @@ jobs:
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
run: |
|
||||
echo "✅ Docker image built and pushed successfully"
|
||||
echo "📦 Image: git.gremiumhub.de/${{ github.repository_owner }}/legalconsenthub-backend:latest"
|
||||
echo "📦 Image: git.gremiumhub.de/${{ github.repository_owner }}/legalconsenthub-backend:${{ github.sha }}"
|
||||
echo "📦 Image: git.gremiumhub.de/${{ github.repository_owner }}/gremiumhub-backend:latest"
|
||||
echo "📦 Image: git.gremiumhub.de/${{ github.repository_owner }}/gremiumhub-backend:${{ github.sha }}"
|
||||
|
||||
- name: Dry-run completed
|
||||
if: github.event_name == 'pull_request'
|
||||
|
||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -58,18 +58,19 @@ bin/
|
||||
.kotlin
|
||||
|
||||
### OpenAPI ###
|
||||
legalconsenthub/.api-client
|
||||
legalconsenthub/.api-client-middleware
|
||||
gremiumhub/.api-client
|
||||
gremiumhub/.api-client-middleware
|
||||
|
||||
### TestContainers persistent data ###
|
||||
legalconsenthub-backend/postgres-data/
|
||||
gremiumhub-backend/postgres-data/
|
||||
|
||||
### Docker BuildKit cache ###
|
||||
.buildx-cache/
|
||||
|
||||
### Version PDF cache (dev) ###
|
||||
legalconsenthub-backend/.pdf-store/*
|
||||
gremiumhub-backend/.pdf-store/*
|
||||
|
||||
data
|
||||
.playwright-*
|
||||
coverage
|
||||
.worktrees/
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<option name="ACTIVE_PROFILES" value="h2" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="ms-21" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
|
||||
<module name="com.betriebsratkanzlei.legalconsenthub.main" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="com.betriebsratkanzlei.legalconsenthub.LegalconsenthubApplication" />
|
||||
<module name="gremiumhub.main" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="com.betriebsratkanzlei.gremiumhub.GremiumhubApplication" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
<option name="ACTIVE_PROFILES" value="testcontainers" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="ms-21" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
|
||||
<module name="com.betriebsratkanzlei.legalconsenthub.main" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="com.betriebsratkanzlei.legalconsenthub.LegalconsenthubApplication" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/legalconsenthub-backend" />
|
||||
<module name="com.betriebsratkanzlei.gremiumhub.main" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="com.betriebsratkanzlei.gremiumhub.GremiumhubApplication" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/gremiumhub-backend" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="server: nuxt" type="NodeJSConfigurationType" application-parameters="dev --port 3001 --host" path-to-js-file="node_modules/nuxt/bin/nuxt.mjs" working-dir="$PROJECT_DIR$/legalconsenthub">
|
||||
<configuration default="false" name="server: nuxt" type="NodeJSConfigurationType" application-parameters="dev --port 3001 --host" path-to-js-file="node_modules/nuxt/bin/nuxt.mjs" working-dir="$PROJECT_DIR$/gremiumhub">
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
||||
4
.vscode/launch.json
vendored
4
.vscode/launch.json
vendored
@@ -8,13 +8,13 @@
|
||||
"request": "launch",
|
||||
"name": "client: chrome",
|
||||
"url": "http://192.168.178.114:3001",
|
||||
"webRoot": "${workspaceFolder}/legalconsenthub"
|
||||
"webRoot": "${workspaceFolder}/gremiumhub"
|
||||
},
|
||||
{
|
||||
"request": "launch",
|
||||
"name": "server: nuxt",
|
||||
"outputCapture": "std",
|
||||
"cwd": "${workspaceFolder}/legalconsenthub",
|
||||
"cwd": "${workspaceFolder}/gremiumhub",
|
||||
"type": "node-terminal",
|
||||
"command": "pnpm run dev"
|
||||
}
|
||||
|
||||
31
CLAUDE.md
31
CLAUDE.md
@@ -1,4 +1,4 @@
|
||||
# Legal Consent Hub - AI Context
|
||||
# GremiumHub - AI Context
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -73,9 +73,9 @@ ApplicationForm
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
legalconsenthub/ # Frontend (Nuxt 4, Vue 3) - see legalconsenthub/CLAUDE.md
|
||||
api/ # OpenAPI spec - see api/CLAUDE.md
|
||||
legalconsenthub-backend/ # Backend (Spring Boot, Kotlin) - see legalconsenthub-backend/CLAUDE.md
|
||||
gremiumhub/ # Frontend (Nuxt 4, Vue 3) - see gremiumhub/CLAUDE.md
|
||||
api/ # OpenAPI spec - see api/CLAUDE.md
|
||||
gremiumhub-backend/ # Backend (Spring Boot, Kotlin) - see gremiumhub-backend/CLAUDE.md
|
||||
```
|
||||
|
||||
---
|
||||
@@ -84,20 +84,20 @@ legalconsenthub-backend/ # Backend (Spring Boot, Kotlin) - see legalconsen
|
||||
|
||||
```bash
|
||||
# Frontend (port 3001)
|
||||
cd legalconsenthub && pnpm install && pnpm run dev
|
||||
cd gremiumhub && pnpm install && pnpm run dev
|
||||
|
||||
# Backend (port 8080)
|
||||
cd legalconsenthub-backend && ./gradlew bootRun
|
||||
cd gremiumhub-backend && ./gradlew bootRun
|
||||
|
||||
# Generate API clients (REQUIRED after modifying api/legalconsenthub.yml)
|
||||
cd legalconsenthub && pnpm run api:generate # Frontend TypeScript client
|
||||
cd legalconsenthub-backend && ./gradlew generate_legalconsenthub_server # Backend Kotlin server stubs
|
||||
# Generate API clients (REQUIRED after modifying api/gremiumhub.yml)
|
||||
cd gremiumhub && pnpm run api:generate # Frontend TypeScript client
|
||||
cd gremiumhub-backend && ./gradlew generate_gremiumhub_server # Backend Kotlin server stubs
|
||||
```
|
||||
|
||||
**⚠️ CRITICAL: API Client Regeneration**
|
||||
After ANY change to `api/legalconsenthub.yml`, you MUST regenerate BOTH clients:
|
||||
After ANY change to `api/gremiumhub.yml`, you MUST regenerate BOTH clients:
|
||||
1. Frontend: `pnpm run api:generate` (TypeScript client)
|
||||
2. Backend: `./gradlew generate_legalconsenthub_server` (Kotlin server stubs)
|
||||
2. Backend: `./gradlew generate_gremiumhub_server` (Kotlin server stubs)
|
||||
|
||||
Compilation/runtime will fail if clients are out of sync with the OpenAPI spec.
|
||||
|
||||
@@ -107,7 +107,7 @@ Compilation/runtime will fail if clients are out of sync with the OpenAPI spec.
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `api/legalconsenthub.yml` | OpenAPI spec (source of truth) |
|
||||
| `api/gremiumhub.yml` | OpenAPI spec (source of truth) |
|
||||
| `.github/workflows/pipeline.yaml` | CI/CD workflow |
|
||||
|
||||
See subproject CLAUDE.md files for component-specific key files.
|
||||
@@ -117,9 +117,9 @@ See subproject CLAUDE.md files for component-specific key files.
|
||||
## Rules for AI
|
||||
|
||||
1. **API-first workflow** - ALWAYS follow this sequence when modifying APIs:
|
||||
a. Modify `api/legalconsenthub.yml` OpenAPI spec first
|
||||
b. Regenerate frontend client: `cd legalconsenthub && pnpm run api:generate`
|
||||
c. Regenerate backend stubs: `cd legalconsenthub-backend && ./gradlew generate_legalconsenthub_server`
|
||||
a. Modify `api/gremiumhub.yml` OpenAPI spec first
|
||||
b. Regenerate frontend client: `cd gremiumhub && pnpm run api:generate`
|
||||
c. Regenerate backend stubs: `cd gremiumhub-backend && ./gradlew generate_gremiumhub_server`
|
||||
d. **Update backend entity class AND mapper class** for every new DTO field — fields missing from the entity silently return `null` from the API. If the new field requires database storage, note that a SQL migration is needed (the user handles migrations).
|
||||
e. Implement backend controller methods (they implement generated interfaces)
|
||||
f. Use generated client in frontend (never write manual API calls)
|
||||
@@ -127,6 +127,7 @@ See subproject CLAUDE.md files for component-specific key files.
|
||||
3. **Form structure is 3-level** - Section → SubSection → Element
|
||||
4. **Roles managed in Keycloak** - Not in application database
|
||||
5. **Subproject-specific rules** - See `CLAUDE.md` files in each subproject directory
|
||||
6. **Don't create worktrees, don't commit** - Directly modify the main branch. The user will handle branching and PRs.
|
||||
|
||||
### Code Style
|
||||
- Order functions top-down by abstraction (public API first, helpers below)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Legal Consent Hub
|
||||
# GremiumHub
|
||||
|
||||
A comprehensive platform for digital applications, approvals, and discussions, designed for organizational workflows involving employee data processing and consent management.
|
||||
|
||||
|
||||
@@ -43,13 +43,13 @@ DELETE /notifications/clear-all
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `legalconsenthub.yml` | OpenAPI 3.0.3 specification (source of truth) |
|
||||
| `gremiumhub.yml` | OpenAPI 3.0.3 specification (source of truth) |
|
||||
|
||||
---
|
||||
|
||||
## API-First Workflow
|
||||
|
||||
1. **Modify OpenAPI spec** (`api/legalconsenthub.yml`)
|
||||
1. **Modify OpenAPI spec** (`api/gremiumhub.yml`)
|
||||
- Add/update endpoints, request/response schemas
|
||||
- Follow OpenAPI 3.0.3 standards
|
||||
- Document all parameters and responses
|
||||
@@ -57,10 +57,10 @@ DELETE /notifications/clear-all
|
||||
2. **Generate clients**
|
||||
```bash
|
||||
# Frontend TypeScript client
|
||||
cd legalconsenthub && pnpm run api:generate
|
||||
cd gremiumhub && pnpm run api:generate
|
||||
|
||||
# Backend Kotlin server stubs
|
||||
cd legalconsenthub-backend && ./gradlew generate_legalconsenthub_server
|
||||
cd gremiumhub-backend && ./gradlew generate_gremiumhub_server
|
||||
```
|
||||
|
||||
3. **Implement backend logic**
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
openapi: "3.0.3"
|
||||
info:
|
||||
title: legalconsenthub
|
||||
title: gremiumhub
|
||||
version: 0.1.0
|
||||
description: A platform for digital applications, approvals and discussions.
|
||||
contact:
|
||||
@@ -1,9 +1,9 @@
|
||||
# Same file as .env in Synology docker directory
|
||||
|
||||
# Database Configuration
|
||||
LEGALCONSENTHUB_POSTGRES_USER=legalconsenthub
|
||||
LEGALCONSENTHUB_POSTGRES_PASSWORD=legalconsenthub
|
||||
LEGALCONSENTHUB_POSTGRES_DB=legalconsenthub
|
||||
GREMIUMHUB_POSTGRES_USER=gremiumhub
|
||||
GREMIUMHUB_POSTGRES_PASSWORD=gremiumhub
|
||||
GREMIUMHUB_POSTGRES_DB=gremiumhub
|
||||
|
||||
KEYCLOAK_POSTGRES_USER=keycloak
|
||||
KEYCLOAK_POSTGRES_PASSWORD=keycloak
|
||||
@@ -16,17 +16,17 @@ MAIL_HOST=maildev
|
||||
KEYCLOAK_ADMIN=admin
|
||||
KEYCLOAK_ADMIN_PASSWORD=
|
||||
KEYCLOAK_HOSTNAME=keycloak.lugnas.de
|
||||
KEYCLOAK_REALM=legalconsenthub
|
||||
KEYCLOAK_REALM=gremiumhub
|
||||
|
||||
# Frontend Configuration (Nuxt)
|
||||
NUXT_PUBLIC_CLIENT_PROXY_BASE_PATH=/api
|
||||
NUXT_PUBLIC_SERVER_API_BASE_URL=http://backend:8080
|
||||
NUXT_PUBLIC_SERVER_API_BASE_PATH=/
|
||||
NUXT_PUBLIC_KEYCLOAK_TOKEN_URL=http://keycloak.lugnas.de/realms/legalconsenthub/protocol/openid-connect/token
|
||||
NUXT_PUBLIC_KEYCLOAK_TOKEN_URL=http://keycloak.lugnas.de/realms/gremiumhub/protocol/openid-connect/token
|
||||
|
||||
NUXT_OAUTH_KEYCLOAK_CLIENT_ID=legalconsenthub
|
||||
NUXT_OAUTH_KEYCLOAK_CLIENT_ID=gremiumhub
|
||||
NUXT_OAUTH_KEYCLOAK_CLIENT_SECRET=
|
||||
NUXT_OAUTH_KEYCLOAK_REALM=legalconsenthub
|
||||
NUXT_OAUTH_KEYCLOAK_REALM=gremiumhub
|
||||
NUXT_OAUTH_KEYCLOAK_SERVER_URL=http://keycloak.lugnas.de
|
||||
NUXT_OAUTH_KEYCLOAK_SERVER_URL_INTERNAL=http://keycloak.lugnas.de
|
||||
# Make sure to add the host to (1) Keycloak valid redirect URIs and (2) web origins!
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
name: legalconsenthub-dev
|
||||
name: gremiumhub-dev
|
||||
|
||||
networks:
|
||||
legalconsenthub-net:
|
||||
gremiumhub-net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
legalconsenthub_postgres_data:
|
||||
legalconsenthub_pdf_cache:
|
||||
gremiumhub_postgres_data:
|
||||
gremiumhub_pdf_cache:
|
||||
keycloak_postgres_data:
|
||||
|
||||
services:
|
||||
keycloak:
|
||||
image: quay.io/keycloak/keycloak:26.4.0
|
||||
container_name: legalconsenthub-keycloak
|
||||
container_name: gremiumhub-keycloak
|
||||
command: start-dev
|
||||
environment:
|
||||
KC_DB: postgres
|
||||
@@ -37,7 +37,7 @@ services:
|
||||
keycloak-db:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl --head -fsS http://localhost:9000/health/ready | echo $?"]
|
||||
interval: 30s
|
||||
@@ -47,7 +47,7 @@ services:
|
||||
|
||||
keycloak-db:
|
||||
image: postgres:latest
|
||||
container_name: legalconsenthub-keycloak-postgres
|
||||
container_name: gremiumhub-keycloak-postgres
|
||||
environment:
|
||||
POSTGRES_USER: ${KEYCLOAK_POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${KEYCLOAK_POSTGRES_PASSWORD}
|
||||
@@ -57,7 +57,7 @@ services:
|
||||
ports:
|
||||
- "5532:5432"
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
volumes:
|
||||
- keycloak_postgres_data:/var/lib/postgresql
|
||||
healthcheck:
|
||||
@@ -69,63 +69,63 @@ services:
|
||||
|
||||
maildev:
|
||||
image: maildev/maildev:2.2.1
|
||||
container_name: legalconsenthub-maildev
|
||||
container_name: gremiumhub-maildev
|
||||
ports:
|
||||
- "1080:1080"
|
||||
- "1025:1025"
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
|
||||
###############################################
|
||||
#
|
||||
# backend:
|
||||
# image: gitea.lugnas.de/denis/legalconsenthub-backend:latest
|
||||
# container_name: legalconsenthub-backend-local
|
||||
# image: gitea.lugnas.de/denis/gremiumhub-backend:latest
|
||||
# container_name: gremiumhub-backend-local
|
||||
# restart: on-failure:2
|
||||
# environment:
|
||||
# LOGGING_LEVEL_ROOT: ${LOGGING_LEVEL_ROOT:-DEBUG}
|
||||
# LOGGING_LEVEL_APP: ${LOGGING_LEVEL_APP:-DEBUG}
|
||||
# LEGALCONSENTHUB_DB_URL: jdbc:postgresql://legalconsenthub-db:5432/${LEGALCONSENTHUB_POSTGRES_DB}
|
||||
# LEGALCONSENTHUB_DB_APP_USER: ${LEGALCONSENTHUB_POSTGRES_USER}
|
||||
# LEGALCONSENTHUB_DB_PASSWORD: ${LEGALCONSENTHUB_POSTGRES_PASSWORD}
|
||||
# GREMIUMHUB_DB_URL: jdbc:postgresql://gremiumhub-db:5432/${GREMIUMHUB_POSTGRES_DB}
|
||||
# GREMIUMHUB_DB_APP_USER: ${GREMIUMHUB_POSTGRES_USER}
|
||||
# GREMIUMHUB_DB_PASSWORD: ${GREMIUMHUB_POSTGRES_PASSWORD}
|
||||
# SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: ${KEYCLOAK_ISSUER_URL}/realms/${KEYCLOAK_REALM}
|
||||
# SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI: http://keycloak:8080/realms/${KEYCLOAK_REALM}/protocol/openid-connect/certs
|
||||
# SERVER_PORT: 8080
|
||||
# LEGALCONSENTHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR: /var/lib/legalconsenthub/pdfs
|
||||
# GREMIUMHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR: /var/lib/gremiumhub/pdfs
|
||||
# ports:
|
||||
# - "8081:8080"
|
||||
# volumes:
|
||||
# - legalconsenthub_pdf_cache:/var/lib/legalconsenthub/pdfs
|
||||
# - gremiumhub_pdf_cache:/var/lib/gremiumhub/pdfs
|
||||
# depends_on:
|
||||
# legalconsenthub-db:
|
||||
# gremiumhub-db:
|
||||
# condition: service_started
|
||||
# networks:
|
||||
# - legalconsenthub-net
|
||||
# - gremiumhub-net
|
||||
# env_file:
|
||||
# - .env.dev
|
||||
#
|
||||
# frontend:
|
||||
# image: gitea.lugnas.de/denis/legalconsenthub:latest
|
||||
# container_name: legalconsenthub-frontend-local
|
||||
# image: gitea.lugnas.de/denis/gremiumhub:latest
|
||||
# container_name: gremiumhub-frontend-local
|
||||
# ports:
|
||||
# - "3211:3000"
|
||||
# networks:
|
||||
# - legalconsenthub-net
|
||||
# - gremiumhub-net
|
||||
# env_file:
|
||||
# - .env.dev
|
||||
#
|
||||
# legalconsenthub-db:
|
||||
# gremiumhub-db:
|
||||
# image: postgres:latest
|
||||
# container_name: legalconsenthub-postgres-local
|
||||
# container_name: gremiumhub-postgres-local
|
||||
# environment:
|
||||
# POSTGRES_USER: ${LEGALCONSENTHUB_POSTGRES_USER}
|
||||
# POSTGRES_PASSWORD: ${LEGALCONSENTHUB_POSTGRES_PASSWORD}
|
||||
# POSTGRES_DB: ${LEGALCONSENTHUB_POSTGRES_DB}
|
||||
# POSTGRES_USER: ${GREMIUMHUB_POSTGRES_USER}
|
||||
# POSTGRES_PASSWORD: ${GREMIUMHUB_POSTGRES_PASSWORD}
|
||||
# POSTGRES_DB: ${GREMIUMHUB_POSTGRES_DB}
|
||||
# ports:
|
||||
# - "5446:5432"
|
||||
# networks:
|
||||
# - legalconsenthub-net
|
||||
# - gremiumhub-net
|
||||
# volumes:
|
||||
# - legalconsenthub_postgres_data:/var/lib/postgresql
|
||||
# - gremiumhub_postgres_data:/var/lib/postgresql
|
||||
# env_file:
|
||||
# - .env.dev
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
networks:
|
||||
legalconsenthub-net:
|
||||
gremiumhub-net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
legalconsenthub_postgres_data:
|
||||
gremiumhub_postgres_data:
|
||||
keycloak_postgres_data:
|
||||
legalconsenthub_pdf_cache:
|
||||
gremiumhub_pdf_cache:
|
||||
|
||||
services:
|
||||
backend:
|
||||
image: gitea.lugnas.de/denis/legalconsenthub-backend:latest
|
||||
container_name: legalconsenthub-backend
|
||||
image: gitea.lugnas.de/denis/gremiumhub-backend:latest
|
||||
container_name: gremiumhub-backend
|
||||
restart: on-failure:2
|
||||
environment:
|
||||
LOGGING_LEVEL_ROOT: ${LOGGING_LEVEL_ROOT:-WARN}
|
||||
LOGGING_LEVEL_APP: ${LOGGING_LEVEL_APP:-WARN}
|
||||
LEGALCONSENTHUB_DB_URL: jdbc:postgresql://legalconsenthub-db:5432/${LEGALCONSENTHUB_POSTGRES_DB}
|
||||
LEGALCONSENTHUB_DB_APP_USER: ${LEGALCONSENTHUB_POSTGRES_USER}
|
||||
LEGALCONSENTHUB_DB_PASSWORD: ${LEGALCONSENTHUB_POSTGRES_PASSWORD}
|
||||
GREMIUMHUB_DB_URL: jdbc:postgresql://gremiumhub-db:5432/${GREMIUMHUB_POSTGRES_DB}
|
||||
GREMIUMHUB_DB_APP_USER: ${GREMIUMHUB_POSTGRES_USER}
|
||||
GREMIUMHUB_DB_PASSWORD: ${GREMIUMHUB_POSTGRES_PASSWORD}
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: ${KEYCLOAK_ISSUER_URL}/realms/${KEYCLOAK_REALM}
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI: ${KEYCLOAK_ISSUER_URL}/realms/${KEYCLOAK_REALM}/protocol/openid-connect/certs
|
||||
SERVER_PORT: 8080
|
||||
LEGALCONSENTHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR: /var/lib/legalconsenthub/pdfs
|
||||
GREMIUMHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR: /var/lib/gremiumhub/pdfs
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- legalconsenthub_pdf_cache:/var/lib/legalconsenthub/pdfs
|
||||
- gremiumhub_pdf_cache:/var/lib/gremiumhub/pdfs
|
||||
- ./keycloak-theme:/opt/keycloak/themes
|
||||
depends_on:
|
||||
legalconsenthub-db:
|
||||
gremiumhub-db:
|
||||
condition: service_started
|
||||
keycloak:
|
||||
condition: service_started
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
env_file:
|
||||
- .env.prod
|
||||
|
||||
frontend:
|
||||
image: gitea.lugnas.de/denis/legalconsenthub:latest
|
||||
container_name: legalconsenthub-frontend
|
||||
image: gitea.lugnas.de/denis/gremiumhub:latest
|
||||
container_name: gremiumhub-frontend
|
||||
ports:
|
||||
- "3210:3000"
|
||||
depends_on:
|
||||
keycloak:
|
||||
condition: service_started
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
env_file:
|
||||
- .env.prod
|
||||
|
||||
landing:
|
||||
image: gitea.lugnas.de/denis/legalconsenthub-landing:latest
|
||||
container_name: legalconsenthub-landing
|
||||
image: gitea.lugnas.de/denis/gremiumhub-landing:latest
|
||||
container_name: gremiumhub-landing
|
||||
ports:
|
||||
- "3211:3000"
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
|
||||
keycloak:
|
||||
image: quay.io/keycloak/keycloak:26.4.0
|
||||
container_name: legalconsenthub-keycloak
|
||||
container_name: gremiumhub-keycloak
|
||||
command: start-dev
|
||||
environment:
|
||||
KC_DB: postgres
|
||||
@@ -82,13 +82,13 @@ services:
|
||||
keycloak-db:
|
||||
condition: service_started
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
env_file:
|
||||
- .env.prod
|
||||
|
||||
keycloak-db:
|
||||
image: postgres:latest
|
||||
container_name: legalconsenthub-keycloak-postgres
|
||||
container_name: gremiumhub-keycloak-postgres
|
||||
environment:
|
||||
POSTGRES_USER: ${KEYCLOAK_POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${KEYCLOAK_POSTGRES_PASSWORD}
|
||||
@@ -96,33 +96,33 @@ services:
|
||||
ports:
|
||||
- "5445:5432"
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
volumes:
|
||||
- keycloak_postgres_data:/var/lib/postgresql
|
||||
env_file:
|
||||
- .env.prod
|
||||
|
||||
legalconsenthub-db:
|
||||
gremiumhub-db:
|
||||
image: postgres:latest
|
||||
container_name: legalconsenthub-postgres
|
||||
container_name: gremiumhub-postgres
|
||||
environment:
|
||||
POSTGRES_USER: ${LEGALCONSENTHUB_POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${LEGALCONSENTHUB_POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: ${LEGALCONSENTHUB_POSTGRES_DB}
|
||||
POSTGRES_USER: ${GREMIUMHUB_POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${GREMIUMHUB_POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: ${GREMIUMHUB_POSTGRES_DB}
|
||||
ports:
|
||||
- "5444:5432"
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
volumes:
|
||||
- legalconsenthub_postgres_data:/var/lib/postgresql
|
||||
- gremiumhub_postgres_data:/var/lib/postgresql
|
||||
env_file:
|
||||
- .env.prod
|
||||
|
||||
maildev:
|
||||
image: maildev/maildev:2.2.1
|
||||
container_name: legalconsenthub-maildev
|
||||
container_name: gremiumhub-maildev
|
||||
ports:
|
||||
- "1080:1080"
|
||||
- "1026:1025"
|
||||
networks:
|
||||
- legalconsenthub-net
|
||||
- gremiumhub-net
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# LegalConsentHub Keycloak Theme - German translations
|
||||
# GremiumHub Keycloak Theme - German translations
|
||||
# Override default Keycloak messages here
|
||||
|
||||
# Login page
|
||||
@@ -1,4 +1,4 @@
|
||||
# LegalConsentHub Keycloak Theme - English translations
|
||||
# GremiumHub Keycloak Theme - English translations
|
||||
# Override default Keycloak messages here
|
||||
|
||||
# Login page
|
||||
@@ -1,4 +1,4 @@
|
||||
/* LegalConsentHub Keycloak Theme - Matching Nuxt UI 4 Styling */
|
||||
/* GremiumHub Keycloak Theme - Matching Nuxt UI 4 Styling */
|
||||
/* Compatible with Keycloak 26+ PatternFly-based themes */
|
||||
|
||||
/* CSS Variables matching Nuxt UI teal/cyan/violet theme */
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
@@ -8,7 +8,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
The Legal Consent Hub requires real-time notification delivery to users. When events occur (e.g., form submissions, approvals, comments), affected users should receive notifications immediately without refreshing the page.
|
||||
The GremiumHub requires real-time notification delivery to users. When events occur (e.g., form submissions, approvals, comments), affected users should receive notifications immediately without refreshing the page.
|
||||
|
||||
### Constraint: Stateless Backend
|
||||
|
||||
@@ -18,7 +18,7 @@ The backend **must be stateless** for horizontal scaling. Multiple backend insta
|
||||
|
||||
## Current Implementation
|
||||
|
||||
**Location:** `src/main/kotlin/com/betriebsratkanzlei/legalconsenthub/notification/`
|
||||
**Location:** `src/main/kotlin/com/betriebsratkanzlei/gremiumhub/notification/`
|
||||
|
||||
### Files
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
./gradlew build
|
||||
|
||||
# Generate server stubs (after OpenAPI spec changes)
|
||||
./gradlew generate_legalconsenthub_server
|
||||
./gradlew generate_gremiumhub_server
|
||||
|
||||
# Database migrations
|
||||
# Never create Liquibase changesets in src/main/resources/db/changelog/
|
||||
@@ -88,7 +88,7 @@ formElementSections:
|
||||
| `src/main/resources/seed/demo/` | Demo form sections (11 files) |
|
||||
| `src/main/kotlin/.../seed/SplitYamlLoader.kt` | YAML merger for !include directives |
|
||||
| `src/main/resources/db/changelog/` | Liquibase migrations |
|
||||
| `src/main/kotlin/com/legalconsenthub/service/ApplicationFormFormatService.kt` | HTML/PDF export logic |
|
||||
| `src/main/kotlin/com/betriebsratkanzlei/gremiumhub/application_form_version/ApplicationFormFormatService.kt` | HTML/PDF export logic |
|
||||
| `docs/form-flow-diagram.md` | Visual form flow diagram (update after template changes) |
|
||||
|
||||
---
|
||||
@@ -4,18 +4,18 @@ WORKDIR /workspace/app
|
||||
|
||||
RUN mkdir -p ../api
|
||||
|
||||
COPY api/legalconsenthub.yml ../api/
|
||||
COPY api/gremiumhub.yml ../api/
|
||||
|
||||
COPY legalconsenthub-backend/gradlew .
|
||||
COPY legalconsenthub-backend/gradle gradle
|
||||
COPY legalconsenthub-backend/build.gradle .
|
||||
COPY legalconsenthub-backend/settings.gradle .
|
||||
COPY gremiumhub-backend/gradlew .
|
||||
COPY gremiumhub-backend/gradle gradle
|
||||
COPY gremiumhub-backend/build.gradle .
|
||||
COPY gremiumhub-backend/settings.gradle .
|
||||
|
||||
RUN chmod +x ./gradlew
|
||||
|
||||
RUN ./gradlew dependencies --no-daemon
|
||||
|
||||
COPY legalconsenthub-backend/src src
|
||||
COPY gremiumhub-backend/src src
|
||||
|
||||
RUN ./gradlew bootJar -x test --no-daemon
|
||||
|
||||
@@ -35,14 +35,14 @@ RUN apk add --no-cache \
|
||||
RUN addgroup -S spring && adduser -S spring -G spring
|
||||
|
||||
# PDF cache directory must be writable by the non-root user (and ideally mounted as a volume in production)
|
||||
RUN mkdir -p /var/lib/legalconsenthub/pdfs && chown -R spring:spring /var/lib/legalconsenthub
|
||||
RUN mkdir -p /var/lib/gremiumhub/pdfs && chown -R spring:spring /var/lib/gremiumhub
|
||||
USER spring:spring
|
||||
|
||||
COPY --from=builder /workspace/app/build/libs/*.jar app.jar
|
||||
|
||||
ENV SPRING_PROFILES_ACTIVE=prod
|
||||
ENV JAVA_OPTS="-Xms256m -Xmx512m"
|
||||
ENV LEGALCONSENTHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR=/var/lib/legalconsenthub/pdfs
|
||||
ENV GREMIUMHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR=/var/lib/gremiumhub/pdfs
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Legal Consent Hub Backend
|
||||
# GremiumHub Backend
|
||||
|
||||
## Pipeline Triggering
|
||||
|
||||
@@ -68,11 +68,11 @@ ktlint {
|
||||
}
|
||||
}
|
||||
|
||||
def generatedSourcesServerLegalconsenthubDir = "$buildDir/generated/server".toString()
|
||||
def generatedSourcesServerGremiumhubDir = "$buildDir/generated/server".toString()
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
kotlin.srcDirs += generatedSourcesServerLegalconsenthubDir + '/src/main/kotlin'
|
||||
kotlin.srcDirs += generatedSourcesServerGremiumhubDir + '/src/main/kotlin'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,14 +80,14 @@ tasks.named('test') {
|
||||
useJUnitPlatform()
|
||||
}
|
||||
|
||||
task generate_legalconsenthub_server(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
|
||||
task generate_gremiumhub_server(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
|
||||
generatorName = 'kotlin-spring'
|
||||
inputSpec = "$rootDir/../api/legalconsenthub.yml".toString()
|
||||
outputDir = generatedSourcesServerLegalconsenthubDir
|
||||
apiPackage = 'com.betriebsratkanzlei.legalconsenthub_api.api'
|
||||
modelPackage = 'com.betriebsratkanzlei.legalconsenthub_api.model'
|
||||
inputSpec = "$rootDir/../api/gremiumhub.yml".toString()
|
||||
outputDir = generatedSourcesServerGremiumhubDir
|
||||
apiPackage = 'com.betriebsratkanzlei.gremiumhub_api.api'
|
||||
modelPackage = 'com.betriebsratkanzlei.gremiumhub_api.model'
|
||||
groupId = 'com.betriebsratkanzlei'
|
||||
id = 'legalconsenthub_api'
|
||||
id = 'gremiumhub_api'
|
||||
configOptions = [useTags : 'true',
|
||||
enumPropertyNaming: 'original',
|
||||
interfaceOnly : 'true',
|
||||
@@ -96,5 +96,5 @@ task generate_legalconsenthub_server(type: org.openapitools.generator.gradle.plu
|
||||
importMappings = [Instant: "java.time.Instant"]
|
||||
}
|
||||
|
||||
compileKotlin.dependsOn(tasks.generate_legalconsenthub_server)
|
||||
runKtlintCheckOverMainSourceSet.dependsOn(generate_legalconsenthub_server)
|
||||
compileKotlin.dependsOn(tasks.generate_gremiumhub_server)
|
||||
runKtlintCheckOverMainSourceSet.dependsOn(generate_gremiumhub_server)
|
||||
1
gremiumhub-backend/settings.gradle
Normal file
1
gremiumhub-backend/settings.gradle
Normal file
@@ -0,0 +1 @@
|
||||
rootProject.name = 'gremiumhub'
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub
|
||||
package com.betriebsratkanzlei.gremiumhub
|
||||
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||
import org.springframework.boot.runApplication
|
||||
@@ -10,8 +10,8 @@ import org.springframework.scheduling.annotation.EnableScheduling
|
||||
@EnableJpaAuditing
|
||||
@EnableAsync
|
||||
@EnableScheduling
|
||||
class LegalconsenthubApplication
|
||||
class GremiumhubApplication
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
runApplication<LegalconsenthubApplication>(*args)
|
||||
runApplication<GremiumhubApplication>(*args)
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form_version.ApplicationFormVersion
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElementSection
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.User
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormStatus
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form_version.ApplicationFormVersion
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElementSection
|
||||
import com.betriebsratkanzlei.gremiumhub.user.User
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormStatus
|
||||
import jakarta.persistence.CascadeType
|
||||
import jakarta.persistence.Column
|
||||
import jakarta.persistence.Entity
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.api.ApplicationFormApi
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.FormElementDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.PagedApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.api.ApplicationFormApi
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.FormElementDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.PagedApplicationFormDto
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.security.access.prepost.PreAuthorize
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
@@ -1,16 +1,16 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.export.latex.LatexEscaper
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.export.latex.LatexExportModel
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.export.latex.LatexFormElement
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.export.latex.LatexPdfRenderer
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.export.latex.LatexSection
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.export.latex.LatexSubSection
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.export.latex.RichTextToLatexConverter
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormSnapshotDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.FormElementSectionSnapshotDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.FormElementSnapshotDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.FormElementSubSectionSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.export.latex.LatexEscaper
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.export.latex.LatexExportModel
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.export.latex.LatexFormElement
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.export.latex.LatexPdfRenderer
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.export.latex.LatexSection
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.export.latex.LatexSubSection
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.export.latex.RichTextToLatexConverter
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.FormElementSectionSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.FormElementSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.FormElementSubSectionSnapshotDto
|
||||
import com.fasterxml.jackson.core.type.TypeReference
|
||||
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
|
||||
import org.springframework.stereotype.Service
|
||||
@@ -20,10 +20,10 @@ import java.time.Instant
|
||||
import java.time.LocalDate
|
||||
import java.time.ZoneId
|
||||
import java.time.format.DateTimeFormatter
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.VisibilityConditionGroup as VisibilityConditionGroupDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.VisibilityConditionNode as VisibilityConditionNodeDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.VisibilityConditionOperator as VisibilityConditionOperatorDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.VisibilityConditionType as VisibilityConditionTypeDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.VisibilityConditionGroup as VisibilityConditionGroupDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.VisibilityConditionNode as VisibilityConditionNodeDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.VisibilityConditionOperator as VisibilityConditionOperatorDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.VisibilityConditionType as VisibilityConditionTypeDto
|
||||
|
||||
@Service
|
||||
class ApplicationFormFormatService(
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElementSectionMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.User
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserService
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElementSectionMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.user.User
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserService
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormDto
|
||||
import org.springframework.stereotype.Component
|
||||
import java.time.Instant
|
||||
import java.util.UUID
|
||||
@@ -60,7 +60,7 @@ class ApplicationFormMapper(
|
||||
organizationId = applicationFormDto.organizationId ?: "",
|
||||
status =
|
||||
applicationFormDto.status
|
||||
?: com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormStatus.DRAFT,
|
||||
?: com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormStatus.DRAFT,
|
||||
createdBy = user,
|
||||
lastModifiedBy = user,
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form
|
||||
|
||||
import org.springframework.data.domain.Page
|
||||
import org.springframework.data.domain.Pageable
|
||||
@@ -1,24 +1,24 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form_version.ApplicationFormVersionService
|
||||
import com.betriebsratkanzlei.legalconsenthub.comment.CommentRepository
|
||||
import com.betriebsratkanzlei.legalconsenthub.email.ApplicationFormCreatedEvent
|
||||
import com.betriebsratkanzlei.legalconsenthub.email.ApplicationFormSubmittedEvent
|
||||
import com.betriebsratkanzlei.legalconsenthub.email.ApplicationFormUpdatedEvent
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormInvalidStateException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotCreatedException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotDeletedException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotUpdatedException
|
||||
import com.betriebsratkanzlei.legalconsenthub.file.FileService
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElementMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.notification.NotificationService
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserService
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormStatus
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CreateNotificationDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.FormElementDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.NotificationType
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form_version.ApplicationFormVersionService
|
||||
import com.betriebsratkanzlei.gremiumhub.comment.CommentRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.email.ApplicationFormCreatedEvent
|
||||
import com.betriebsratkanzlei.gremiumhub.email.ApplicationFormSubmittedEvent
|
||||
import com.betriebsratkanzlei.gremiumhub.email.ApplicationFormUpdatedEvent
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormInvalidStateException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotCreatedException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotDeletedException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotUpdatedException
|
||||
import com.betriebsratkanzlei.gremiumhub.file.FileService
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElementMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.notification.NotificationService
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserService
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormStatus
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CreateNotificationDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.FormElementDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.NotificationType
|
||||
import org.springframework.context.ApplicationEventPublisher
|
||||
import org.springframework.data.domain.Page
|
||||
import org.springframework.data.domain.PageRequest
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.PagedApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.PagedApplicationFormDto
|
||||
import org.springframework.data.domain.Page
|
||||
import org.springframework.stereotype.Component
|
||||
import java.util.UUID
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form.export.latex
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form.export.latex
|
||||
|
||||
object LatexEscaper {
|
||||
fun escape(text: String?): String {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form.export.latex
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form.export.latex
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form.export.latex
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form.export.latex
|
||||
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.stereotype.Service
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form.export.latex
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form.export.latex
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_template
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_template
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.PagedApplicationFormMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.api.ApplicationFormTemplateApi
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.PagedApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.PagedApplicationFormMapper
|
||||
import com.betriebsratkanzlei.gremiumhub_api.api.ApplicationFormTemplateApi
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.PagedApplicationFormDto
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.security.access.prepost.PreAuthorize
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_template
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_template
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotCreatedException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotDeletedException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotUpdatedException
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotCreatedException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotDeletedException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotUpdatedException
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormDto
|
||||
import org.springframework.data.domain.Page
|
||||
import org.springframework.data.domain.PageRequest
|
||||
import org.springframework.stereotype.Service
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.User
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormStatus
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.gremiumhub.user.User
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormStatus
|
||||
import jakarta.persistence.Column
|
||||
import jakarta.persistence.Entity
|
||||
import jakarta.persistence.EntityListeners
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form_version.pdf.ApplicationFormVersionPdfService
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserService
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.api.ApplicationFormVersionApi
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormVersionDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormVersionListItemDto
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form_version.pdf.ApplicationFormVersionPdfService
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserService
|
||||
import com.betriebsratkanzlei.gremiumhub_api.api.ApplicationFormVersionApi
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormVersionDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormVersionListItemDto
|
||||
import org.springframework.core.io.ByteArrayResource
|
||||
import org.springframework.core.io.Resource
|
||||
import org.springframework.http.HttpHeaders
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormSnapshotDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormVersionDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormVersionListItemDto
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserMapper
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormVersionDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormVersionListItemDto
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import org.springframework.stereotype.Component
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
import org.springframework.stereotype.Repository
|
||||
@@ -1,21 +1,21 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormVersionNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElement
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElementSection
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElementSubSection
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElementVisibilityConditionMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormOptionMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.SectionSpawnTriggerMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.TableRowPresetMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.User
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormSnapshotDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.FormElementSectionSnapshotDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.FormElementSnapshotDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.FormElementSubSectionSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormVersionNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElement
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElementSection
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElementSubSection
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElementVisibilityConditionMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormOptionMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.SectionSpawnTriggerMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.TableRowPresetMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.user.User
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.FormElementSectionSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.FormElementSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.FormElementSubSectionSnapshotDto
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version.pdf
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version.pdf
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormFormatService
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form_version.ApplicationFormVersionService
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormSnapshotDto
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormFormatService
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form_version.ApplicationFormVersionService
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormSnapshotDto
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.stereotype.Service
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version.pdf
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version.pdf
|
||||
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.stereotype.Component
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version.pdf
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version.pdf
|
||||
|
||||
interface PdfStorage {
|
||||
fun get(key: PdfStorageKey): ByteArray?
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version.pdf
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version.pdf
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.application_form_version.pdf
|
||||
package com.betriebsratkanzlei.gremiumhub.application_form_version.pdf
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties
|
||||
@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration
|
||||
@EnableConfigurationProperties(PdfStorageProperties::class)
|
||||
class PdfStorageConfiguration
|
||||
|
||||
@ConfigurationProperties(prefix = "legalconsenthub.pdf.storage")
|
||||
@ConfigurationProperties(prefix = "gremiumhub.pdf.storage")
|
||||
data class PdfStorageProperties(
|
||||
@NestedConfigurationProperty
|
||||
val filesystem: FileSystemProperties = FileSystemProperties(),
|
||||
@@ -19,14 +19,14 @@ data class PdfStorageProperties(
|
||||
* Base directory for stored PDFs. In development this defaults to a folder next to the backend code.
|
||||
*
|
||||
* Configure either via application.yaml:
|
||||
* legalconsenthub:
|
||||
* gremiumhub:
|
||||
* pdf:
|
||||
* storage:
|
||||
* filesystem:
|
||||
* base-dir: /var/lib/legalconsenthub/pdfs
|
||||
* base-dir: /var/lib/gremiumhub/pdfs
|
||||
*
|
||||
* or via environment variable:
|
||||
* LEGALCONSENTHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR=/var/lib/legalconsenthub/pdfs
|
||||
* GREMIUMHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR=/var/lib/gremiumhub/pdfs
|
||||
*/
|
||||
val baseDir: String = ".pdf-store",
|
||||
)
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.comment
|
||||
package com.betriebsratkanzlei.gremiumhub.comment
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElement
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.User
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElement
|
||||
import com.betriebsratkanzlei.gremiumhub.user.User
|
||||
import jakarta.persistence.Column
|
||||
import jakarta.persistence.Entity
|
||||
import jakarta.persistence.EntityListeners
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.comment
|
||||
package com.betriebsratkanzlei.gremiumhub.comment
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.api.CommentApi
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormCommentCountsDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CommentDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CreateCommentDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CursorPagedCommentDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.api.CommentApi
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormCommentCountsDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CommentDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CreateCommentDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CursorPagedCommentDto
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.security.access.prepost.PreAuthorize
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.comment
|
||||
package com.betriebsratkanzlei.gremiumhub.comment
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.FormElementNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.form_element.FormElementRepository
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserService
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CommentDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CreateCommentDto
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.FormElementNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.form_element.FormElementRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserMapper
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserService
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CommentDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CreateCommentDto
|
||||
import org.springframework.stereotype.Component
|
||||
import java.time.Instant
|
||||
import java.util.UUID
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.comment
|
||||
package com.betriebsratkanzlei.gremiumhub.comment
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationForm
|
||||
import org.springframework.data.domain.Page
|
||||
import org.springframework.data.domain.Pageable
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
@@ -1,17 +1,17 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.comment
|
||||
package com.betriebsratkanzlei.gremiumhub.comment
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.legalconsenthub.email.CommentAddedEvent
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.CommentNotCreatedException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.CommentNotDeletedException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.CommentNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.CommentNotUpdatedException
|
||||
import com.betriebsratkanzlei.legalconsenthub.notification.NotificationService
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CommentDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CreateCommentDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.CreateNotificationDto
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.NotificationType
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.email.CommentAddedEvent
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.CommentNotCreatedException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.CommentNotDeletedException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.CommentNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.CommentNotUpdatedException
|
||||
import com.betriebsratkanzlei.gremiumhub.notification.NotificationService
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CommentDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CreateCommentDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.CreateNotificationDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.NotificationType
|
||||
import com.fasterxml.jackson.databind.JsonNode
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import org.springframework.context.ApplicationEventPublisher
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.config
|
||||
package com.betriebsratkanzlei.gremiumhub.config
|
||||
|
||||
import com.fasterxml.jackson.databind.Module
|
||||
import org.springframework.context.annotation.Bean
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.config
|
||||
package com.betriebsratkanzlei.gremiumhub.config
|
||||
|
||||
import org.springframework.context.annotation.Bean
|
||||
import org.springframework.context.annotation.Configuration
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.config
|
||||
package com.betriebsratkanzlei.gremiumhub.config
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.security.CustomJwtAuthenticationConverter
|
||||
import com.betriebsratkanzlei.gremiumhub.security.CustomJwtAuthenticationConverter
|
||||
import org.springframework.context.annotation.Bean
|
||||
import org.springframework.context.annotation.Configuration
|
||||
import org.springframework.core.annotation.Order
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.config
|
||||
package com.betriebsratkanzlei.gremiumhub.config
|
||||
|
||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection
|
||||
import org.springframework.context.annotation.Bean
|
||||
@@ -14,11 +14,11 @@ class TestContainersConfig {
|
||||
@ServiceConnection
|
||||
fun postgresContainer(): PostgreSQLContainer<*> =
|
||||
PostgreSQLContainer(DockerImageName.parse("postgres:17-alpine"))
|
||||
.withDatabaseName("legalconsenthub")
|
||||
.withUsername("legalconsenthub")
|
||||
.withPassword("legalconsenthub")
|
||||
.withDatabaseName("gremiumhub")
|
||||
.withUsername("gremiumhub")
|
||||
.withPassword("gremiumhub")
|
||||
.withCreateContainerCmdModifier { cmd ->
|
||||
cmd.withName("legalconsenthub-test-${System.currentTimeMillis()}")
|
||||
cmd.withName("gremiumhub-test-${System.currentTimeMillis()}")
|
||||
// Comment this in to be able to connect to the database, needs to be commented our during tests
|
||||
// cmd.withHostConfig(
|
||||
// HostConfig().apply {
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.config
|
||||
package com.betriebsratkanzlei.gremiumhub.config
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.VisibilityConditionNode
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.VisibilityConditionOperator
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.VisibilityConditionType
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.VisibilityConditionNode
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.VisibilityConditionOperator
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.VisibilityConditionType
|
||||
import com.fasterxml.jackson.core.JsonGenerator
|
||||
import com.fasterxml.jackson.core.JsonParser
|
||||
import com.fasterxml.jackson.databind.DeserializationContext
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.contact
|
||||
package com.betriebsratkanzlei.gremiumhub.contact
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.api.ContactApi
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ContactMessageDto
|
||||
import com.betriebsratkanzlei.gremiumhub_api.api.ContactApi
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ContactMessageDto
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.security.access.prepost.PreAuthorize
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.contact
|
||||
package com.betriebsratkanzlei.gremiumhub.contact
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.email.EmailService
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserService
|
||||
import com.betriebsratkanzlei.gremiumhub.email.EmailService
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserService
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.stereotype.Service
|
||||
import org.thymeleaf.TemplateEngine
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.email
|
||||
package com.betriebsratkanzlei.gremiumhub.email
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.email
|
||||
package com.betriebsratkanzlei.gremiumhub.email
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.email
|
||||
package com.betriebsratkanzlei.gremiumhub.email
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.email
|
||||
package com.betriebsratkanzlei.gremiumhub.email
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.email
|
||||
package com.betriebsratkanzlei.gremiumhub.email
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserRepository
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.context.event.EventListener
|
||||
import org.springframework.scheduling.annotation.Async
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.email
|
||||
package com.betriebsratkanzlei.gremiumhub.email
|
||||
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.mail.MailException
|
||||
@@ -28,7 +28,7 @@ class EmailService(
|
||||
helper.setTo(to)
|
||||
helper.setSubject(subject)
|
||||
helper.setText(body, true)
|
||||
helper.setFrom("noreply@legalconsenthub.com")
|
||||
helper.setFrom("noreply@gremiumhub.de")
|
||||
|
||||
mailSender.send(message)
|
||||
logger.info("Email sent successfully to: $to")
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormStatus
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ApplicationFormStatus
|
||||
import java.util.UUID
|
||||
|
||||
class ApplicationFormInvalidStateException(
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class ApplicationFormNotCreatedException(
|
||||
e: Exception,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class ApplicationFormNotDeletedException(
|
||||
e: Exception,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class CommentNotCreatedException(
|
||||
e: Exception,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class CommentNotDeletedException(
|
||||
e: Exception,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ProblemDetails
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.ProblemDetails
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.http.HttpStatus
|
||||
import org.springframework.http.MediaType
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class FileStorageException(
|
||||
message: String,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class FileTooLargeException(
|
||||
message: String,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class UnsupportedFileTypeException(
|
||||
message: String,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class UserAlreadyExistsException(
|
||||
id: String,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.error
|
||||
package com.betriebsratkanzlei.gremiumhub.error
|
||||
|
||||
class UserNotFoundException(
|
||||
id: String,
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.file
|
||||
package com.betriebsratkanzlei.gremiumhub.file
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.FileNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.FileTooLargeException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.UnsupportedFileTypeException
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.api.FileApi
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.AssociateFilesWithApplicationFormRequest
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.UploadedFileDto
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.FileNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.FileTooLargeException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.UnsupportedFileTypeException
|
||||
import com.betriebsratkanzlei.gremiumhub_api.api.FileApi
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.AssociateFilesWithApplicationFormRequest
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.UploadedFileDto
|
||||
import org.springframework.core.io.ByteArrayResource
|
||||
import org.springframework.core.io.Resource
|
||||
import org.springframework.http.HttpHeaders
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.file
|
||||
package com.betriebsratkanzlei.gremiumhub.file
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserMapper
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.UploadedFileDto
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserMapper
|
||||
import com.betriebsratkanzlei.gremiumhub_api.model.UploadedFileDto
|
||||
import org.springframework.stereotype.Component
|
||||
import java.time.Instant
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.file
|
||||
package com.betriebsratkanzlei.gremiumhub.file
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
import org.springframework.data.jpa.repository.Query
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.betriebsratkanzlei.legalconsenthub.file
|
||||
package com.betriebsratkanzlei.gremiumhub.file
|
||||
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.legalconsenthub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.FileNotFoundException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.FileStorageException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.FileTooLargeException
|
||||
import com.betriebsratkanzlei.legalconsenthub.error.UnsupportedFileTypeException
|
||||
import com.betriebsratkanzlei.legalconsenthub.security.CustomJwtTokenPrincipal
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationForm
|
||||
import com.betriebsratkanzlei.gremiumhub.application_form.ApplicationFormRepository
|
||||
import com.betriebsratkanzlei.gremiumhub.error.ApplicationFormNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.FileNotFoundException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.FileStorageException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.FileTooLargeException
|
||||
import com.betriebsratkanzlei.gremiumhub.error.UnsupportedFileTypeException
|
||||
import com.betriebsratkanzlei.gremiumhub.security.CustomJwtTokenPrincipal
|
||||
import com.betriebsratkanzlei.gremiumhub.user.UserRepository
|
||||
import org.apache.tika.Tika
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.security.core.context.SecurityContextHolder
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user