#!/usr/bin/env bash
set -euo pipefail

# Мы вынуждены работать под именем user/group 1032: https://github.com/LibreTranslate/LibreTranslate/blob/f7a35db05b3ac7fcd40489faa7da827b03354faf/docker/Dockerfile#L28-L33.
# Поэтому мы устанавливаем владельца каталогов данных 1032:1032.
APP_DATA_DIR="$(readlink -f $(dirname "${BASH_SOURCE[0]}")/..)/data"

DESIRED_OWNER="1032:1032"

API_KEYS_DATA_DIR="${APP_DATA_DIR}/api_keys"
MODELS_DATA_DIR="${APP_DATA_DIR}/models"

set_permissions() {
	local -r path="${1}"

	if [[ -d "${path}" ]]; then
		owner=$(stat -c "%u:%g" "${path}")

		if [[ "${owner}" != "${DESIRED_OWNER}" ]]; then
			chown "${DESIRED_OWNER}" "${path}"
		fi
	fi
}

set_permissions "${API_KEYS_DATA_DIR}"
set_permissions "${MODELS_DATA_DIR}"