154 lines
3.4 KiB
Bash
Executable File
154 lines
3.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Verify tiered architecture implementation
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
echo "=== Verifying Tiered Architecture Implementation ==="
|
|
echo ""
|
|
|
|
ERRORS=0
|
|
WARNINGS=0
|
|
|
|
# Check 1: Database migration file exists
|
|
echo -n "Checking migration file... "
|
|
if [ -f "$PROJECT_ROOT/backend/database/migrations/0010_track_schema.up.sql" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
# Check 2: Feature flags implementation
|
|
echo -n "Checking feature flags... "
|
|
if [ -f "$PROJECT_ROOT/backend/featureflags/flags.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
# Check 3: Wallet auth
|
|
echo -n "Checking wallet authentication... "
|
|
if [ -f "$PROJECT_ROOT/backend/auth/wallet_auth.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
# Check 4: Auth middleware
|
|
echo -n "Checking auth middleware... "
|
|
if [ -f "$PROJECT_ROOT/backend/api/middleware/auth.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
# Check 5: Track implementations
|
|
echo -n "Checking Track 1... "
|
|
if [ -f "$PROJECT_ROOT/backend/api/track1/endpoints.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
echo -n "Checking Track 2... "
|
|
if [ -f "$PROJECT_ROOT/backend/api/track2/endpoints.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
echo -n "Checking Track 3... "
|
|
if [ -f "$PROJECT_ROOT/backend/api/track3/endpoints.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
echo -n "Checking Track 4... "
|
|
if [ -f "$PROJECT_ROOT/backend/api/track4/endpoints.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
# Check 6: Indexers
|
|
echo -n "Checking Track 2 indexers... "
|
|
if [ -f "$PROJECT_ROOT/backend/indexer/track2/block_indexer.go" ] && \
|
|
[ -f "$PROJECT_ROOT/backend/indexer/track2/tx_indexer.go" ] && \
|
|
[ -f "$PROJECT_ROOT/backend/indexer/track2/token_indexer.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
# Check 7: Analytics
|
|
echo -n "Checking analytics engine... "
|
|
if [ -f "$PROJECT_ROOT/backend/analytics/flow_tracker.go" ] && \
|
|
[ -f "$PROJECT_ROOT/backend/analytics/bridge_analytics.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
# Check 8: Route integration
|
|
echo -n "Checking route integration... "
|
|
if [ -f "$PROJECT_ROOT/backend/api/rest/track_routes.go" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "❌"
|
|
((ERRORS++))
|
|
fi
|
|
|
|
# Check 9: Documentation
|
|
echo -n "Checking documentation... "
|
|
if [ -f "$PROJECT_ROOT/docs/api/track-api-contracts.md" ] && \
|
|
[ -f "$PROJECT_ROOT/docs/feature-flags/track-feature-matrix.md" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "⚠️"
|
|
((WARNINGS++))
|
|
fi
|
|
|
|
# Check 10: Setup scripts
|
|
echo -n "Checking setup scripts... "
|
|
if [ -f "$PROJECT_ROOT/scripts/setup-tiered-architecture.sh" ] && \
|
|
[ -f "$PROJECT_ROOT/scripts/run-migration-0010.sh" ]; then
|
|
echo "✅"
|
|
else
|
|
echo "⚠️"
|
|
((WARNINGS++))
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Summary ==="
|
|
echo "Errors: $ERRORS"
|
|
echo "Warnings: $WARNINGS"
|
|
|
|
if [ $ERRORS -eq 0 ]; then
|
|
echo ""
|
|
echo "✅ All critical components verified!"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Run: bash scripts/setup-tiered-architecture.sh"
|
|
echo "2. Set JWT_SECRET environment variable"
|
|
echo "3. Start the API server"
|
|
exit 0
|
|
else
|
|
echo ""
|
|
echo "❌ Some components are missing. Please review errors above."
|
|
exit 1
|
|
fi
|
|
|