Spaces:
Running
Running
Update supabase-sync.sh
Browse files- supabase-sync.sh +20 -4
supabase-sync.sh
CHANGED
|
@@ -98,12 +98,28 @@ download() {
|
|
| 98 |
# Watch auth directory for changes and sync to Supabase
|
| 99 |
watch_dir() {
|
| 100 |
echo "[SYNC] Starting file watcher on ${AUTH_DIR}..."
|
| 101 |
-
inotifywait -m -r -e close_write,create,modify "${AUTH_DIR}" --format '%f' | while read filename; do
|
| 102 |
if [[ "$filename" == *.json ]]; then
|
| 103 |
-
echo "[SYNC] Detected
|
| 104 |
sleep 2
|
| 105 |
-
|
| 106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
fi
|
| 108 |
fi
|
| 109 |
done
|
|
|
|
| 98 |
# Watch auth directory for changes and sync to Supabase
|
| 99 |
watch_dir() {
|
| 100 |
echo "[SYNC] Starting file watcher on ${AUTH_DIR}..."
|
| 101 |
+
inotifywait -m -r -e close_write,create,modify,delete "${AUTH_DIR}" --format '%e %f' | while read event filename; do
|
| 102 |
if [[ "$filename" == *.json ]]; then
|
| 103 |
+
echo "[SYNC] Detected event: ${event} on ${filename}"
|
| 104 |
sleep 2
|
| 105 |
+
|
| 106 |
+
if [[ "$event" == "DELETE" ]]; then
|
| 107 |
+
# File was deleted, remove from Supabase
|
| 108 |
+
echo "[SYNC] Deleting ${filename} from Supabase..."
|
| 109 |
+
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" \
|
| 110 |
+
-X DELETE "${SUPABASE_API}/object/${BUCKET}/auths/${filename}" \
|
| 111 |
+
-H "Authorization: Bearer ${SUPABASE_SERVICE_KEY}")
|
| 112 |
+
|
| 113 |
+
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "204" ]; then
|
| 114 |
+
echo "[SYNC] Deleted ${filename} from Supabase (${HTTP_CODE})"
|
| 115 |
+
else
|
| 116 |
+
echo "[SYNC] Failed to delete ${filename} from Supabase (HTTP ${HTTP_CODE})"
|
| 117 |
+
fi
|
| 118 |
+
else
|
| 119 |
+
# File was created or modified, upload to Supabase
|
| 120 |
+
if [ -f "${AUTH_DIR}/${filename}" ]; then
|
| 121 |
+
upload_file "${AUTH_DIR}/${filename}"
|
| 122 |
+
fi
|
| 123 |
fi
|
| 124 |
fi
|
| 125 |
done
|