http4k-connect icon indicating copy to clipboard operation
http4k-connect copied to clipboard

Investigate generation of modules from AWS services config file

Open daviddenton opened this issue 2 years ago • 0 comments

This is the file used to generate the AWS SDK. Investigate using KotlinPoet to generate action classes for all of the services.

For each JSON service Client use KSP and KotlinPoet to generate:

  • Adapter Interface (tagged with @Http4kConnectAdapter)
  • Action interface (tagged with @Http4kConnectAdapter) using Result4k as the return type for each,
  • A Moshi implementation for handling JSON
  • A stock Http interface which signs requests and forwards requests to the correct URL (this may well be wrong depending on the service in question - but will be a good start!)
  • Generated types for each of the Action Request/Response objects, and Values4k types for each of the values within
  • Action implementations for each action class (using the above generated types), following the standard convention
  • The extension methods for each Adapter and Action class (use the code from the KSP generator for this)

daviddenton avatar Nov 29 '23 14:11 daviddenton