44 lines
809 B
Bash
Executable file
44 lines
809 B
Bash
Executable file
#!/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
|