Files
herolib/lib/baobab/generator/templates/actor.v copy.template

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)
}