Files
query-orchestration/scripts/openapi-scripts.yml
T

45 lines
1.1 KiB
YAML

---
# https://taskfile.dev
version: "3"
tasks:
lint:
cmds:
- |
for file in serviceAPIs/*.yml serviceAPIs/*.yaml; do
if [[ -f "$file" ]]; then
vacuum lint $file -b -d --no-clip -z -n info -s \
-r vaccum.conf.yaml {{.CLI_ARGS}}
fi
done
generate:
- |
generateGo() {
mkdir -p $2
oapi-codegen \
-generate $4 \
-config .openapi.yml \
-package $1 \
-o $2/api.gen.go \
$3
}
# Below3 the gererateGo for ./pkg is the public client package
# and ./api is the internal server package
for file in serviceAPIs/*.yml serviceAPIs/*.yaml; do
if [[ -f "$file" ]]; then
service=$(basename "$file")
service=${service%.*}
service_lower=${service,,}
# Client Code
generateGo $service_lower ./pkg/$service $file \
"models,client"
# Server Code
generateGo $service_lower ./api/$service $file \
"models,embedded-spec,echo-server"
fi
done