#!/usr/bin/env bash

set -euo pipefail

UMBREL_ROOT="$(readlink -f $(dirname "${BASH_SOURCE[0]}")/../..)"
PASSWORD_FILE="${UMBREL_ROOT}/statuses/password"

check_root () {
  if [[ $UID != 0 ]]; then
    echo "This script must be run as root"
    exit 1
  fi
}

check_umbrel_os () {
  [[ -f "/etc/default/umbrel" ]] && source "/etc/default/umbrel"
  if [[ -z "${UMBREL_OS:-}" ]]; then
    echo "This script must only be run on Umbrel OS"
    exit 1
  fi
}

password="$(cat ${PASSWORD_FILE})"
echo "false" > "${PASSWORD_FILE}"

check_root
check_umbrel_os

if [[ "${password}" == "" ]] || [[ "${password}" == "false" ]] || [[ "${password}" == "true" ]]; then
  echo "Password not set in status file: \"${PASSWORD_FILE}\""
  exit 1
fi

echo -e "${password}\n${password}" | passwd umbrel
echo "true" > "${PASSWORD_FILE}"
