22 lines
833 B
Plaintext
22 lines
833 B
Plaintext
import incubaid.herolib.baobab.stage.interfaces
|
|
import incubaid.herolib.baobab.stage
|
|
import incubaid.herolib.schemas.openapi
|
|
|
|
pub fn new_openapi_interface(config stage.ActorConfig) !&interfaces.OpenAPIInterface {
|
|
// create OpenAPI Handler with actor's client
|
|
client := new_client(config)!
|
|
return interfaces.new_openapi_interface(client.Client)
|
|
}
|
|
|
|
@if http
|
|
// creates HTTP controller with the actor's OpenAPI Handler
|
|
// and OpenAPI Specification
|
|
pub fn new_openapi_http_controller(config stage.ActorConfig, params HTTPServerParams) !&openapi.HTTPController {
|
|
return openapi.new_http_controller(
|
|
base_url: '@{dollar}{params.base_url}/openapi/@{dollar}{config.version}'
|
|
specification: openapi_specification
|
|
specification_path: openapi_spec_path
|
|
handler: new_openapi_interface(config)!
|
|
)
|
|
}
|
|
@end |