Stirling-PDF/.github/workflows
Anthony Stirling 1ce813bcd8
Endpoint UI data for V2 (#4044)
# Description of Changes
This pull request introduces several enhancements and new features,
primarily focused on improving API documentation support, expanding
backend functionality, and adding new frontend tools. Key changes
include the integration of Swagger API documentation, the addition of a
new `UIDataController` for backend data handling, and updates to the
frontend to include a Swagger UI tool.

### Backend Enhancements:
* **Swagger API Documentation Integration**:
- Added support for dynamically configuring Swagger servers using the
`SWAGGER_SERVER_URL` environment variable in `OpenApiConfig`
(`[app/core/src/main/java/stirling/software/SPDF/config/OpenApiConfig.javaR54-L63](diffhunk://#diff-6080fb3dc14efc430c9de1bf9fa4996a23deebc14230dde7788949b2c49cca68R54-L63)`).
- Imported necessary Swagger dependencies
(`[app/core/src/main/java/stirling/software/SPDF/config/OpenApiConfig.javaR13](diffhunk://#diff-6080fb3dc14efc430c9de1bf9fa4996a23deebc14230dde7788949b2c49cca68R13)`).
- Updated `nginx.conf` to proxy Swagger-related requests to the backend
(`[docker/frontend/nginx.confR55-R92](diffhunk://#diff-6d35fafb4405bd052c6d5e48bd946bcef7c77552a74e1b902de45e85eee09aceR55-R92)`).

* **New `UIDataController`**:
- Introduced a new controller (`UIDataController`) to serve React UI
data, including endpoints for home data, licenses, pipeline
configurations, signature data, and OCR data
(`[app/core/src/main/java/stirling/software/SPDF/controller/api/UIDataController.javaR1-R301](diffhunk://#diff-3e7063d4e921c7b9e6eedfcad0e535ba3eff68476dcff5e6f28b00c388cff646R1-R301)`).

* **Endpoint Handling**:
- Modified `ConfigController` to include explicit parameter naming for
better clarity in API requests
(`[app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ConfigController.javaL113-R120](diffhunk://#diff-43d19d45ae547fd79090596c06d58cb0eb7f722ed43eb4da59f9dec39f6def6eL113-R120)`).

### Frontend Enhancements:
* **Swagger UI Tool**:
- Added a new tool definition (`swagger`) in `useToolManagement.tsx`,
with an icon and lazy-loaded component
(`[frontend/src/hooks/useToolManagement.tsxR30-R38](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273R30-R38)`).
- Implemented the `SwaggerUI` component to open the Swagger
documentation in a new tab
(`[frontend/src/tools/SwaggerUI.tsxR1-R18](diffhunk://#diff-ca9bdf83c5d611a5edff10255103d7939895635b33a258dd77db6571da6c4600R1-R18)`).

* **Localization Updates**:
- Updated English (US and GB) translation files to include
Swagger-related strings
(`[[1]](diffhunk://#diff-14c707e28788a3a84ed5293ff6689be73d4bca00e155beaf090f9b37c978babbR578-R581)`,
`[[2]](diffhunk://#diff-14c707e28788a3a84ed5293ff6689be73d4bca00e155beaf090f9b37c978babbR1528-R1533)`,
`[[3]](diffhunk://#diff-e4d543afa388d9eb8a423e45dfebb91641e3558d00848d70b285ebb91c40b249R578-R581)`,
`[[4]](diffhunk://#diff-e4d543afa388d9eb8a423e45dfebb91641e3558d00848d70b285ebb91c40b249R1528-R1533)`).

### Workflow Updates:
* **Environment Variable Additions**:
- Added `SWAGGER_SERVER_URL` to the `PR-Auto-Deploy-V2.yml` and
`deploy-on-v2-commit.yml` workflows for configuring Swagger server URLs
(`[[1]](diffhunk://#diff-931fcb06ba030420d7044dde06465ad55b4e769a9bd374dcd6a0c76f79a5e30eR320)`,
`[[2]](diffhunk://#diff-f8b6ec3c0af9cd2d8dffef6f3def2be6357fe596a606850ca7f5d799e1349069R150)`).
<!--
Please provide a summary of the changes, including:

- What was changed
- Why the change was made
- Any challenges encountered

Closes #(issue_number)
-->

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
2025-07-29 13:11:53 +01:00
..
ai_pr_title_review.yml chore(deps): bump step-security/harden-runner from 2.12.1 to 2.12.2 (#3849) 2025-07-01 15:39:12 +01:00
auto-labelerV2.yml chore(deps): bump step-security/harden-runner from 2.12.1 to 2.12.2 (#3849) 2025-07-01 15:39:12 +01:00
build.yml Update build.yml 2025-07-21 19:19:41 +01:00
check_properties.yml refactor: move modules under app/ directory and update file paths (#3938) 2025-07-14 20:53:11 +01:00
codeql.yml-disabled Bump: Harden Runner from v2.10.2 to v2.10.3 (#2686) 2025-01-13 22:26:05 +00:00
dependency-review.yml chore(deps): bump step-security/harden-runner from 2.12.1 to 2.12.2 (#3849) 2025-07-01 15:39:12 +01:00
deploy-on-v2-commit.yml Endpoint UI data for V2 (#4044) 2025-07-29 13:11:53 +01:00
frontend-licenses-update.yml V2 frontend license checker (#3944) 2025-07-18 13:50:40 +01:00
licenses-update.yml fix(ci): disable Gradle caching in GitHub workflows to resolve cache conflicts (#3986) 2025-07-20 21:37:04 +01:00
manage-label.yml chore(deps): bump step-security/harden-runner from 2.12.1 to 2.12.2 (#3849) 2025-07-01 15:39:12 +01:00
multiOSReleases.yml fix(ci): disable Gradle caching in GitHub workflows to resolve cache conflicts (#3986) 2025-07-20 21:37:04 +01:00
PR-Auto-Deploy-V2.yml Endpoint UI data for V2 (#4044) 2025-07-29 13:11:53 +01:00
PR-Demo-cleanup.yml fix(ci): correct variable name for deployment comment check in PR-Demo-cleanup workflow (#3946) 2025-07-14 22:21:48 +01:00
PR-Demo-Comment-with-react.yml fix(ci): disable Gradle caching in GitHub workflows to resolve cache conflicts (#3986) 2025-07-20 21:37:04 +01:00
pre_commit.yml ci: enhance GitHub Actions workflows with Gradle setup, caching improvements, and Docker image testing (#3956) 2025-07-16 17:17:11 +01:00
push-docker.yml fix(ci): disable Gradle caching in GitHub workflows to resolve cache conflicts (#3986) 2025-07-20 21:37:04 +01:00
releaseArtifacts.yml fix(ci): disable Gradle caching in GitHub workflows to resolve cache conflicts (#3986) 2025-07-20 21:37:04 +01:00
scorecards.yml chore(deps): bump step-security/harden-runner from 2.12.1 to 2.12.2 (#3849) 2025-07-01 15:39:12 +01:00
sonarqube.yml chore(deps): bump step-security/harden-runner from 2.12.1 to 2.12.2 (#3849) 2025-07-01 15:39:12 +01:00
stale.yml chore(deps): bump step-security/harden-runner from 2.12.1 to 2.12.2 (#3849) 2025-07-01 15:39:12 +01:00
swagger.yml fix(ci): disable Gradle caching in GitHub workflows to resolve cache conflicts (#3986) 2025-07-20 21:37:04 +01:00
sync_files.yml refactor: move modules under app/ directory and update file paths (#3938) 2025-07-14 20:53:11 +01:00
testdriver.yml fix(ci): disable Gradle caching in GitHub workflows to resolve cache conflicts (#3986) 2025-07-20 21:37:04 +01:00