#!/bin/bash
set -e

DB="/home/filebrowser/filebrowser.db"
BASE_DIR="/data/personal"
FB_USER="filebrowser"
MEDIA_GROUP="nasusers"
DMN="filebrowser.service"
DRY_RUN=false

if [ -z "$1" ] || [ -z "$2" ]; then
  echo "Использование: $0 <username> <password>"
  exit 1
fi

USERNAME="$1"
PASSWORD="$2"
USER_DIR="$BASE_DIR/$USERNAME"

run() {
  if [ "$DRY_RUN" = true ]; then
    echo "[DRY-RUN] $*"
  else
    "$@"
  fi
}

echo ">>> Останавливаем демон"
run systemctl stop $DMN

echo ">>> Создаём пользователя в filebrowser"
run filebrowser users add "$USERNAME" "$PASSWORD" \
  --scope "$USERNAME" \
  --perm.create \
  --perm.modify \
  --perm.delete \
  --perm.rename \
  --perm.download \
  --perm.share \
  -d "$DB"

echo ">>> Создаём каталог и выставляем права"
run mkdir -p "$USER_DIR"
run chown root:"$MEDIA_GROUP" "$USER_DIR"
run chmod 2770 "$USER_DIR"
run setfacl -d -m g:"$MEDIA_GROUP":rwx "$USER_DIR"
run setfacl -d -m o::0 "$USER_DIR"

echo ">>> Запускаемся обратно"
run systemctl start $DMN

echo ">>> Готово! Пользователь $USERNAME создан, папка: $USER_DIR"
