Skip to content

Feature/qrun support 20250313 #179

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

Open
wants to merge 57 commits into
base: dev
Choose a base branch
from

Conversation

darinkelkhoff
Copy link
Contributor

@darinkelkhoff darinkelkhoff commented May 11, 2025

backend-core

  • pom:
    • add oauth2 library
    • update auth0 library versions
    • update dotenv library (breaking change re: # chars within unquoted values)
  • application startup:
    • new ConfigFilesBasedQQQApplication (load meta-data from a dir of yaml or json)
    • new MetaDataProducerBasedQQQApplication (slightly simpler version of, just point at a package of meta-data-producers)
  • enrichment & validation:
    • in enrichTables, if a field doesn't have a name, use its key from the fields map
    • in validator: add validation of auth metadata, support QCodeReferenceLambda, validate code-ref on process backendSteps,
  • processes:
    • create QProcessPayload, with methods to marshal into and out of process state in backend step input/output
  • meta-data
    • creation of MetaDataLoader classes
    • add interface QMetaDataObject and apply to many meta-data classes
    • update QProcessMetaData.setStepList to also overwrite stepsMap
  • oauth2:
    • add OAuth2 authentication module, meta-data, redirectState table,
    • change QAuthenticationModuleInterface, removing unused method createAccessToken; adding getLoginRedirectUrl
    • fix a case in Auth0 Authentication Module where an empty-string accessToken was not being considered as missing
  • misc
    • update SecretsManagerUtils to (by default) quote the values it puts in a .env file (per updated dotenv lib)
    • migrate QRecordEntity to use ReflectiveBeanLikeClassUtils, as also used in QProcessPayload
    • add Map as a supported type in QRecordEntityField
    • change QSupplementalInstanceMetaData to interface from abstract base class; add methods of and ofOrWithNew
    • Add method getClassesContainingNameAndOfType to ClassPathUtils
    • Add methods maskAndTruncate and nCopies to StringUtils
    • Add method getValueAsMap to ValueUtils

middleware-javalin

  • Have QJavalinImplementation.mangeSession pass all name/values pairs in the posted body into authContext, rather than just "accessToken"
  • Update QJavalinMetaData to implement QSupplementalInstanceMetaData interface; add routeProviders (List of JavalinRouteProviderMetaData)
  • Add processing of QJavalinRouteProviderInterface instances (from meta-data) in the startup of QApplicationJavalinServer instances
  • Add ProcessBasedRouter and SimpleFileSystemDirectoryRouter, along with SimpleRouteAuthenticator

… loader created & working; Loader registry moved to its own class;
… class; remove `getType` in favor of `getName` from its base class, TopLevelMetaDataInterface;
… add method getLoginRedirectUrl t auth module interface
…ess values. refactoring of QRecordEntity to share logic
…Action for the example, to avoid warning about creating a system-user session w/o an instance in context.
- store state + redirectUri in a table
- redirect again to get code & state out of query string
- add meta-data validation to oauth2 module
…alues (defaults to true, since that's what new dotenv wants)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant