set dotenv-load := false

# Generate a client from src/<service>/openapi-to-rust.toml.
generate service:
    #!/usr/bin/env sh
    set -eu
    PATH="$HOME/.cargo/bin:$PATH"
    export PATH
    if [ -d "src/{{service}}" ]; then
        crate_dir="src/{{service}}"
    else
        crate_dir="crates/my-clients/src/{{service}}"
    fi
    cd "$crate_dir"
    openapi-to-rust generate --config openapi-to-rust.toml

# Download the Forgejo Swagger contract and convert it to OpenAPI 3.
convert-forgejo:
    #!/usr/bin/env sh
    set -eu
    if [ -d src/forgejo ]; then
        ./src/forgejo/update-contract.sh
    else
        ./crates/my-clients/src/forgejo/update-contract.sh
    fi
