#!/usr/bin/env bash set -eo pipefail [[ $DOKKU_TRACE ]] && set -x source "$(dirname "$(dirname "${BASH_SOURCE[0]}")")/functions" cmd-google-auth-exclude() { declare desc="exempt paths from Google sign-in (prefix: /path, regex: re:^/pattern)" local cmd="google-auth:exclude" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" shift 1 || true [[ -n "$APP" ]] || dokku_log_fail "usage: dokku google-auth:exclude " verify_app_name "$APP" if [[ $# -eq 0 ]]; then dokku_log_info2 "excluded paths for $APP" local pattern while IFS= read -r pattern; do [[ -n "$pattern" ]] && dokku_log_verbose "$pattern" done < <(fn-ga-excludes "$APP") return 0 fi local pattern for pattern in "$@"; do fn-ga-validate-pattern "$pattern" || dokku_log_fail "invalid pattern '$pattern' — use a path prefix like /api/webhooks or a regex like re:^/v[0-9]+/public/ (no spaces, quotes, or ;{})" fn-ga-exclude-add "$APP" "$pattern" dokku_log_info1 "excluded: $pattern" done if fn-google-auth-app-enabled "$APP"; then fn-ga-apply "$APP" else dokku_log_verbose "patterns saved; they take effect when google-auth is enabled for $APP" fi } cmd-google-auth-exclude "$@"