#!/bin/sh
# ============================================================
# docker-entrypoint.sh - BCNN Affairs
# ============================================================
# Runs as root to:
#   1. Ensure all upload subdirectories exist in the volume
#   2. Fix ownership/permissions so appuser can write uploads
#   3. Drop privileges and exec the app as appuser
# ============================================================

set -e

UPLOADS_DIR="/app/.output/public/uploads"

# Ensure all upload subdirectories exist (handles both empty volumes
# and volumes that pre-date new upload categories)
mkdir -p \
  "$UPLOADS_DIR/alumni" \
  "$UPLOADS_DIR/banner" \
  "$UPLOADS_DIR/Buildingimg" \
  "$UPLOADS_DIR/header" \
  "$UPLOADS_DIR/hospital_img" \
  "$UPLOADS_DIR/pr_img" \
  "$UPLOADS_DIR/staff"

# Fix ownership so appuser can read/write uploaded files
chown -R appuser:appuser "$UPLOADS_DIR"
chmod -R 755 "$UPLOADS_DIR"

echo "[entrypoint] Uploads directory ready: $UPLOADS_DIR"

# Drop to non-root user and execute the app
exec gosu appuser "$@"
