34 lines
810 B
Plaintext
34 lines
810 B
Plaintext
import os
|
|
import freeflowuniverse.herolib.baobab.stage {IActor, RunParams}
|
|
import freeflowuniverse.herolib.schemas.openapi
|
|
|
|
const openapi_spec_path = '@{dollar}{os.dir(@@FILE)}/specs/openapi.json'
|
|
const openapi_spec_json = os.read_file(openapi_spec_path) or { panic(err) }
|
|
const openapi_specification = openapi.json_decode(openapi_spec_json)!
|
|
|
|
struct @{actor_name_pascal}Actor {
|
|
stage.Actor
|
|
}
|
|
|
|
fn new() !@{actor_name_pascal}Actor {
|
|
return @{actor_name_pascal}Actor {
|
|
stage.new_actor('@{actor_name_snake}')
|
|
}
|
|
}
|
|
|
|
pub fn run() ! {
|
|
mut a_ := new()!
|
|
mut a := IActor(a_)
|
|
a.run()!
|
|
}
|
|
|
|
pub fn run_server(params RunParams) ! {
|
|
mut a := new()!
|
|
mut server := actor.new_server(
|
|
redis_url: 'localhost:6379'
|
|
redis_queue: a.name
|
|
openapi_spec: openapi_specification
|
|
)!
|
|
server.run(params)
|
|
}
|