Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate Java API Client for Intelligence Service's OpenAPI Specifications #106

Merged
merged 64 commits into from
Nov 4, 2024

Conversation

milesha
Copy link
Contributor

@milesha milesha commented Oct 1, 2024

Motivation

We want to establish smooth communication between the application server and intelligence service using OpenAPI specifications, while minimizing manual processes.
Closes #33

Description

  • The OpenAPI specification is stored in the intelligence service directory. Based on it a Java client for the application server can be generated (also via root-level package.json script)
  • Added GitHub Action workflow to fail if the Java client is not up-to-date with the OpenAPI specifications

Checklist

General

  • PR title is clear and descriptive
  • PR description explains the purpose and changes
  • Code follows project coding standards
  • Self-review of the code has been done
  • Changes have been tested locally
  • Screenshots have been attached (if applicable)
  • Documentation has been updated (if applicable)

Client (if applicable)

  • UI changes look good on all screen sizes and browsers
  • No console errors or warnings
  • User experience and accessibility have been tested
  • Added Storybook stories for new components
  • Components follow design system guidelines (if applicable)

Server (if applicable)

  • Code is performant and follows best practices
  • No security vulnerabilities introduced
  • Proper error handling has been implemented
  • Added tests for new functionality
  • Changes have been tested in different environments (if applicable)

@milesha milesha added size:XL This PR changes 500-999 lines, ignoring generated files. intelligence-service labels Oct 1, 2024
@milesha milesha self-assigned this Oct 1, 2024
@github-actions github-actions bot added feature size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Oct 1, 2024
@milesha milesha added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:XXL This PR changes 1000+ lines, ignoring generated files. labels Oct 1, 2024
@github-actions github-actions bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Oct 1, 2024
GODrums
GODrums previously approved these changes Oct 1, 2024
Copy link
Collaborator

@FelixTJDietrich FelixTJDietrich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed the remaining issues, mainly related to the workflow.
It looks good now IMO, great work! Sorry that it was such a headache :|

The ApiClient is already injected as a bean you did not need to create another one for it. I removed that one, we will need to see how to set the basePath correctly, but we can do it somewhere on startup or so.

@FelixTJDietrich FelixTJDietrich merged commit 32dfb6d into develop Nov 4, 2024
3 of 4 checks passed
@FelixTJDietrich FelixTJDietrich deleted the feature/generate-java-client branch November 4, 2024 21:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
application-server client feature intelligence-service size:XXL This PR changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Generate Java API Client for Intelligence Service's OpenAPI Specifications
3 participants