refactor(scripts): delete 20 one-off/legacy scripts
The scripts/ directory had accumulated 29 entries, half of which were one-off fixes that had already done their job and several of which were Supabase-era artifacts that don't apply now that the project uses direct Postgres via `pg`. Deleted (none referenced from package.json, CLAUDE.md, MEMORY.md, .gitea/workflows/deploy.yml, db/seeds/, or src/): Supabase-era one-offs (the project moved off Supabase JS/REST): - apply-admin-create-stop.js (RPC installer against supabase.co) - fix-archived-rls.js (RLS repair against supabase.co) - seed.sh (pure supabase REST seeding) - seed_tuxedo_tour.py (Python equivalent of the JS seed) Codemods / lint fixers that ran once: - fix-server-auth.js, fix-server-auth-ast.js - fix-button-has-type.js, fix-control-has-associated-label.js Versioned iteration history of one-off checks: - check-stop-fns.js, check-stop-fns2.js, check-stop-fns3.js - verify-stop-fns.js (only referenced by apply-admin-create-stop.js) Other one-offs: - cleanup-duplicate-stops.ts - create-admin-user.ts, seed-admin.ts (superseded by provision-admin.ts) - seed-tuxedo.ts (superseded by seed-tuxedo-2026.js) - import-woo-to-route.ts (WooCommerce import, no longer used) - upload-tuxedo-video.mjs, verify-email.ts, e2e-test.sh Also updated one stale comment in src/actions/admin/users.ts that referenced scripts/seed-admin.ts. Kept (9 scripts, all live-referenced): - migrate.js (package.json + deploy.yml + MEMORY.md) - db-reset.js (package.json: db:reset) - seed-tuxedo-2026.js (package.json: db:seed:tour) - import-tuxedo-stops.ts (db/seeds preferred path) - provision-admin.ts (CLAUDE.md production bootstrap) - preflight-check.js, postflight-check.js (.gitea/workflows/deploy.yml) - generate-pwa-icons.js, generate-pwa-screenshots.js (reproducible PWA build assets, referenced in design docs) Verified: tsc clean, 174/175 tests pass (same baseline), package.json scripts and deploy.yml all still resolve to kept scripts.
This commit is contained in:
-343
@@ -1,343 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Seed script for Route Commerce Platform
|
||||
# Run with: bash scripts/seed.sh
|
||||
|
||||
set -e
|
||||
|
||||
# Use service role key for write operations during seeding
|
||||
SUPABASE_URL="${SUPABASE_URL:-https://your-project.supabase.co}"
|
||||
SERVICE_KEY="${SUPABASE_SERVICE_ROLE_KEY}"
|
||||
ANON_KEY="${ANON_KEY:-$NEXT_PUBLIC_SUPABASE_ANON_KEY}"
|
||||
|
||||
AUTH_HEADER="apikey: $SERVICE_KEY"
|
||||
CONTENT_TYPE="Content-Type: application/json"
|
||||
|
||||
echo "Fetching brands..."
|
||||
BRANDS=$(curl -s "$SUPABASE_URL/rest/v1/brands?select=id,name" \
|
||||
-H "$AUTH_HEADER")
|
||||
echo "Brands: $BRANDS"
|
||||
|
||||
TUXEDO_ID=$(echo "$BRANDS" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
IRD_ID=$(echo "$BRANDS" | grep -o '"id":"[^"]*"' | tail -1 | cut -d'"' -f4)
|
||||
|
||||
echo "Tuxedo: $TUXEDO_ID"
|
||||
echo "IRD: $IRD_ID"
|
||||
|
||||
echo ""
|
||||
echo "Creating stops..."
|
||||
|
||||
STOP1=$(curl -s -X POST "$SUPABASE_URL/rest/v1/stops" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$TUXEDO_ID"'",
|
||||
"city": "Burlington",
|
||||
"state": "NC",
|
||||
"date": "2026-05-15",
|
||||
"time": "8:00 AM – 2:00 PM",
|
||||
"location": "102 W Front St, Burlington, NC",
|
||||
"slug": "burlington-nc-2026-05-15",
|
||||
"active": true
|
||||
}')
|
||||
echo "Stop 1: $STOP1"
|
||||
|
||||
STOP2=$(curl -s -X POST "$SUPABASE_URL/rest/v1/stops" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$TUXEDO_ID"'",
|
||||
"city": "Greensboro",
|
||||
"state": "NC",
|
||||
"date": "2026-05-16",
|
||||
"time": "8:00 AM – 2:00 PM",
|
||||
"location": "200 S Elm St, Greensboro, NC",
|
||||
"slug": "greensboro-nc-2026-05-16",
|
||||
"active": true
|
||||
}')
|
||||
echo "Stop 2: $STOP2"
|
||||
|
||||
STOP3=$(curl -s -X POST "$SUPABASE_URL/rest/v1/stops" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$IRD_ID"'",
|
||||
"city": "Fort Pierce",
|
||||
"state": "FL",
|
||||
"date": "2026-05-15",
|
||||
"time": "7:00 AM – 1:00 PM",
|
||||
"location": "1224 N US-1, Fort Pierce, FL",
|
||||
"slug": "fort-pierce-fl-2026-05-15",
|
||||
"active": true
|
||||
}')
|
||||
echo "Stop 3: $STOP3"
|
||||
|
||||
echo ""
|
||||
echo "Creating products..."
|
||||
|
||||
PROD1=$(curl -s -X POST "$SUPABASE_URL/rest/v1/products" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$TUXEDO_ID"'",
|
||||
"name": "Sweet Corn",
|
||||
"description": "Fresh picked white sweet corn, 8 ears per bag",
|
||||
"price": 12,
|
||||
"type": "Sweet Corn",
|
||||
"active": true
|
||||
}')
|
||||
echo "Prod 1: $PROD1"
|
||||
|
||||
PROD2=$(curl -s -X POST "$SUPABASE_URL/rest/v1/products" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$TUXEDO_ID"'",
|
||||
"name": "Peaches",
|
||||
"description": "Just-peeled freestone peaches, pint jar",
|
||||
"price": 8,
|
||||
"type": "Fruit",
|
||||
"active": true
|
||||
}')
|
||||
echo "Prod 2: $PROD2"
|
||||
|
||||
PROD3=$(curl -s -X POST "$SUPABASE_URL/rest/v1/products" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$TUXEDO_ID"'",
|
||||
"name": "Corn & Peach Bundle",
|
||||
"description": "Sweet corn + peaches combo, save $2",
|
||||
"price": 18,
|
||||
"type": "Bundle",
|
||||
"active": true
|
||||
}')
|
||||
echo "Prod 3: $PROD3"
|
||||
|
||||
PROD4=$(curl -s -X POST "$SUPABASE_URL/rest/v1/products" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$IRD_ID"'",
|
||||
"name": "Navel Oranges",
|
||||
"description": "Premium navel oranges, 4 lb bag",
|
||||
"price": 15,
|
||||
"type": "Citrus",
|
||||
"active": true
|
||||
}')
|
||||
echo "Prod 4: $PROD4"
|
||||
|
||||
PROD5=$(curl -s -X POST "$SUPABASE_URL/rest/v1/products" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$IRD_ID"'",
|
||||
"name": "Grapefruit",
|
||||
"description": "Ruby red grapefruit, 3 lb bag",
|
||||
"price": 12,
|
||||
"type": "Citrus",
|
||||
"active": true
|
||||
}')
|
||||
echo "Prod 5: $PROD5"
|
||||
|
||||
PROD6=$(curl -s -X POST "$SUPABASE_URL/rest/v1/products" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"brand_id": "'"$IRD_ID"'",
|
||||
"name": "Citrus Sampler",
|
||||
"description": "Oranges, grapefruit & tangelos, 6 lb mix",
|
||||
"price": 22,
|
||||
"type": "Bundle",
|
||||
"active": true
|
||||
}')
|
||||
echo "Prod 6: $PROD6"
|
||||
|
||||
P1_ID=$(echo "$PROD1" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
P2_ID=$(echo "$PROD2" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
P3_ID=$(echo "$PROD3" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
P4_ID=$(echo "$PROD4" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
P5_ID=$(echo "$PROD5" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
P6_ID=$(echo "$PROD6" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
|
||||
S1_ID=$(echo "$STOP1" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
S2_ID=$(echo "$STOP2" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
S3_ID=$(echo "$STOP3" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
|
||||
echo ""
|
||||
echo "Assigning products to stops..."
|
||||
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/product_stops" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"stop_id": "'"$S1_ID"'", "product_id": "'"$P1_ID"'"}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/product_stops" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"stop_id": "'"$S1_ID"'", "product_id": "'"$P2_ID"'"}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/product_stops" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"stop_id": "'"$S1_ID"'", "product_id": "'"$P3_ID"'"}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/product_stops" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"stop_id": "'"$S2_ID"'", "product_id": "'"$P1_ID"'"}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/product_stops" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"stop_id": "'"$S2_ID"'", "product_id": "'"$P3_ID"'"}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/product_stops" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"stop_id": "'"$S3_ID"'", "product_id": "'"$P4_ID"'"}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/product_stops" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"stop_id": "'"$S3_ID"'", "product_id": "'"$P5_ID"'"}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/product_stops" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"stop_id": "'"$S3_ID"'", "product_id": "'"$P6_ID"'"}' > /dev/null
|
||||
|
||||
echo ""
|
||||
echo "Creating orders..."
|
||||
|
||||
ORDER1=$(curl -s -X POST "$SUPABASE_URL/rest/v1/orders" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"customer_name": "Sarah Mitchell",
|
||||
"customer_email": "sarah.m@email.com",
|
||||
"customer_phone": "(336) 555-0142",
|
||||
"stop_id": "'"$S1_ID"'",
|
||||
"status": "pending",
|
||||
"subtotal": 32,
|
||||
"discount_amount": 0,
|
||||
"pickup_complete": false,
|
||||
"payment_processor": "manual",
|
||||
"payment_status": "paid"
|
||||
}')
|
||||
echo "Order 1: $ORDER1"
|
||||
|
||||
ORDER2=$(curl -s -X POST "$SUPABASE_URL/rest/v1/orders" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"customer_name": "James Rivera",
|
||||
"customer_email": "jrivera@email.com",
|
||||
"customer_phone": "(336) 555-0298",
|
||||
"stop_id": "'"$S1_ID"'",
|
||||
"status": "confirmed",
|
||||
"subtotal": 22,
|
||||
"discount_amount": 2,
|
||||
"discount_reason": "First-time customer",
|
||||
"pickup_complete": true,
|
||||
"payment_processor": "manual",
|
||||
"payment_status": "paid"
|
||||
}')
|
||||
echo "Order 2: $ORDER2"
|
||||
|
||||
ORDER3=$(curl -s -X POST "$SUPABASE_URL/rest/v1/orders" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"customer_name": "Lisa Chen",
|
||||
"customer_phone": "(919) 555-0763",
|
||||
"stop_id": "'"$S2_ID"'",
|
||||
"status": "pending",
|
||||
"subtotal": 12,
|
||||
"pickup_complete": false,
|
||||
"payment_processor": "manual",
|
||||
"payment_status": "pending"
|
||||
}')
|
||||
echo "Order 3: $ORDER3"
|
||||
|
||||
ORDER4=$(curl -s -X POST "$SUPABASE_URL/rest/v1/orders" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"customer_name": "Marcus Thompson",
|
||||
"customer_email": "mthompson@email.com",
|
||||
"customer_phone": "(772) 555-0119",
|
||||
"stop_id": "'"$S3_ID"'",
|
||||
"status": "confirmed",
|
||||
"subtotal": 37,
|
||||
"pickup_complete": false,
|
||||
"payment_processor": "venmo",
|
||||
"payment_status": "paid",
|
||||
"payment_transaction_id": "VEN-88420"
|
||||
}')
|
||||
echo "Order 4: $ORDER4"
|
||||
|
||||
ORDER5=$(curl -s -X POST "$SUPABASE_URL/rest/v1/orders" \
|
||||
-H "$AUTH_HEADER" \
|
||||
-H "$CONTENT_TYPE" \
|
||||
-H "Prefer: return=representation" \
|
||||
-d '{
|
||||
"customer_name": "Amanda Foster",
|
||||
"customer_email": "afoster@email.com",
|
||||
"stop_id": "'"$S3_ID"'",
|
||||
"status": "cancelled",
|
||||
"subtotal": 15,
|
||||
"pickup_complete": false,
|
||||
"internal_notes": "Customer cancelled after hours, no show next day",
|
||||
"payment_processor": "manual",
|
||||
"payment_status": "refunded",
|
||||
"refunded_amount": 15,
|
||||
"refund_reason": "Customer cancelled"
|
||||
}')
|
||||
echo "Order 5: $ORDER5"
|
||||
|
||||
O1_ID=$(echo "$ORDER1" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
O2_ID=$(echo "$ORDER2" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
O3_ID=$(echo "$ORDER3" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
O4_ID=$(echo "$ORDER4" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
O5_ID=$(echo "$ORDER5" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
|
||||
echo ""
|
||||
echo "Creating order items..."
|
||||
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/order_items" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"order_id": "'"$O1_ID"'", "product_id": "'"$P1_ID"'", "quantity": 2, "price": 12}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/order_items" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"order_id": "'"$O1_ID"'", "product_id": "'"$P2_ID"'", "quantity": 1, "price": 8}' > /dev/null
|
||||
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/order_items" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"order_id": "'"$O2_ID"'", "product_id": "'"$P3_ID"'", "quantity": 1, "price": 18}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/order_items" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"order_id": "'"$O2_ID"'", "product_id": "'"$P1_ID"'", "quantity": 2, "price": 12}' > /dev/null
|
||||
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/order_items" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"order_id": "'"$O3_ID"'", "product_id": "'"$P1_ID"'", "quantity": 1, "price": 12}' > /dev/null
|
||||
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/order_items" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"order_id": "'"$O4_ID"'", "product_id": "'"$P4_ID"'", "quantity": 2, "price": 15}' > /dev/null
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/order_items" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"order_id": "'"$O4_ID"'", "product_id": "'"$P5_ID"'", "quantity": 1, "price": 12}' > /dev/null
|
||||
|
||||
curl -s -X POST "$SUPABASE_URL/rest/v1/order_items" \
|
||||
-H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
|
||||
-d '{"order_id": "'"$O5_ID"'", "product_id": "'"$P4_ID"'", "quantity": 1, "price": 15}' > /dev/null
|
||||
|
||||
echo ""
|
||||
echo "Done! Seed data created:"
|
||||
echo " 3 stops (Burlington NC, Greensboro NC, Fort Pierce FL)"
|
||||
echo " 6 products (3 Tuxedo Corn, 3 Indian River Direct)"
|
||||
echo " 5 orders with items"
|
||||
echo ""
|
||||
echo "Quick test URLs:"
|
||||
echo " /admin/orders"
|
||||
echo " /admin/products"
|
||||
echo " /admin/stops"
|
||||
Reference in New Issue
Block a user