Files
herolib/libarchive/baobab/generator/templates/interface_openapi.v.template
2025-10-12 12:30:19 +03:00

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