#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # shellcheck source=lib/common.sh source "${SCRIPT_DIR}/lib/common.sh" usage() { cat >&2 <<'EOF' Usage: visibility.sh EOF exit 1 } [[ $# -eq 2 ]] || usage REPO="$1" VIS="$2" case "$VIS" in public) PRIVATE=false ;; private) PRIVATE=true ;; *) log_err "可見性只能是 public 或 private"; exit 1 ;; esac load_config log_info "切換 ${GITEA_USER}/${REPO} → ${VIS}" gitea_api PATCH "/repos/${GITEA_USER}/${REPO}" "{\"private\":${PRIVATE}}" case "$HTTP_CODE" in 200|201) log_ok "已更新" ;; 404) log_err "找不到 repo:${GITEA_USER}/${REPO}"; exit 1 ;; *) log_err "更新失敗 (HTTP ${HTTP_CODE})" { cat "$GITEA_API_RESP_FILE"; echo ""; } >&2 exit 1 ;; esac log_done "完成" echo "${GITEA_URL}/${GITEA_USER}/${REPO}"