feat: codegen script to init cqrs framework
This commit is contained in:
parent
ce37a68ac5
commit
5f5903e31b
1 changed files with 44 additions and 0 deletions
44
utils/adapter_cqrs_init.sh
Executable file
44
utils/adapter_cqrs_init.sh
Executable file
|
@ -0,0 +1,44 @@
|
|||
#!/bin/bash
|
||||
|
||||
help() {
|
||||
echo "Usage: adapter_type_gen.sh
|
||||
<domain name with first letter in caps>
|
||||
<aggregate struct name>"
|
||||
}
|
||||
|
||||
run() {
|
||||
for i in "${@:2}"
|
||||
do
|
||||
echo "let (${i}_cqrs_exec, ${i}_cqrs_query) = ${i}_view::init_cqrs(db.clone(), services.clone());"
|
||||
done
|
||||
|
||||
echo "let ${1,,}_cqrs_exec = types::Web$1CqrsExec::new(Arc::new(types::$1CqrsExecBuilder::default()"
|
||||
for i in "${@:2}"
|
||||
do
|
||||
echo ".$i(${i}_cqrs_exec)"
|
||||
done
|
||||
echo ".build().unwrap(),));"
|
||||
|
||||
echo "
|
||||
let f = move |cfg: &mut web::ServiceConfig| {
|
||||
cfg.configure(input::web::load_ctx());"
|
||||
for i in "${@:2}"
|
||||
do
|
||||
echo "cfg.app_data(Data::new(${i}_cqrs_query.clone()));"
|
||||
done
|
||||
|
||||
echo "cfg.app_data(${1,,}_cqrs_exec.clone());
|
||||
};
|
||||
|
||||
Box::new(f)"
|
||||
|
||||
}
|
||||
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
help
|
||||
else
|
||||
run "${@}"
|
||||
run "${@}" | wl-copy
|
||||
fi
|
Loading…
Reference in a new issue