| Page | URL | Purpose |
|---|---|---|
| Index Management | /indexing |
Index destinations, view stats |
| Duplicates | /duplicates |
Review and manage duplicates |
1. Select Dataset → 2. Enter Path → 3. Click "Index" → 4. View Stats
Buttons:
# Index destination
index:destination --dataset <name> --destination <path> [--reindex] [--batch-size <n>]
# View statistics
index:stats [--dataset <name>]
# Check count
index:count --dataset <name> [--destination <path>]
# Clear index
index:clear --dataset <name> [--destination <path>]
# Scan for duplicates
duplicates:scan [--reset]
# List duplicates
duplicates:list [--status <status>] [--dataset <name>]
# 1. Index
watch-finished-cli index:destination --dataset movies --destination /media/movies
# 2. Verify
watch-finished-cli index:count --dataset movies
# 3. Scan
watch-finished-cli duplicates:scan
# 4. View
watch-finished-cli duplicates:list --dataset movies
1. Navigate to /indexing
2. Select dataset: "movies"
3. Enter destination: "/media/movies"
4. Click "Index" button
5. Wait for toast notification
6. Navigate to /duplicates
7. Click "Rescan" button
8. Review results
# Re-index weekly
watch-finished-cli index:destination --dataset movies --destination /media/movies --reindex
# Check stats
watch-finished-cli index:stats --dataset movies
# Clear old index
watch-finished-cli index:clear --dataset movies
# Index destination
POST /maintenance/index/destination
{
"dataset": "movies",
"destination": "/media/movies",
"reindex": false,
"batchSize": 100
}
# Get stats
GET /maintenance/index/stats?dataset=movies
# Get count
GET /maintenance/index/count?dataset=movies
# Clear index
DELETE /maintenance/index/movies
# Scan duplicates
POST /maintenance/duplicates/scan
{"resetExisting": false}
# List duplicates
GET /maintenance/duplicates?dataset=movies&status=pending
# CLI
export WATCH_FINISHED_API="http://localhost:3000"
# Web UI
NEXT_PUBLIC_WATCH_FINISHED_API="http://localhost:3000"
# Check if service is running
curl http://localhost:3000/health
# Test index count
curl "http://localhost:3000/maintenance/index/count?dataset=movies"
# Test index stats
curl "http://localhost:3000/maintenance/index/stats"
# Force re-index via API
curl -X POST http://localhost:3000/maintenance/index/destination \
-H "Content-Type: application/json" \
-d '{"dataset":"movies","destination":"/media/movies","reindex":true}'
# Is indexing needed?
if [ $(watch-finished-cli index:count --dataset movies | grep -o '[0-9]\+') -eq 0 ]; then
echo "Indexing needed"
fi
# Are there duplicates?
if [ $(watch-finished-cli duplicates:list --dataset movies | wc -l) -gt 0 ]; then
echo "Duplicates found"
fi