#!/bin/bash # Deploy create-google-meet-event function directly SUPABASE_URL="https://lovable.backoffice.biz.id" SERVICE_ROLE_KEY="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzdXBhYmFzZSIsImlhdCI6MTc2NjAzNzEyMCwiZXhwIjo0OTIxNzEwNzIwLCJyb2xlIjoic2VydmljZV9yb2xlIn0.t6D9VwaukYGq4c_VbW1bkd3ZkKgldpCKRR13nN14XXc" FUNCTION_NAME="create-google-meet-event" FUNCTION_PATH="supabase/functions/$FUNCTION_NAME/index.ts" echo "🚀 Deploying $FUNCTION_NAME..." echo "" # Check if function file exists if [ ! -f "$FUNCTION_PATH" ]; then echo "❌ Error: Function file not found at $FUNCTION_PATH" exit 1 fi # Read function content FUNCTION_CONTENT=$(cat "$FUNCTION_PATH") echo "📄 Function file found, size: $(echo "$FUNCTION_CONTENT" | wc -c) bytes" echo "" # Create/update function via Supabase Management API echo "📤 Uploading to Supabase..." RESPONSE=$(curl -s -w "\n%{http_code}" \ -X POST "$SUPABASE_URL/rest/v1/functions" \ -H "Authorization: Bearer $SERVICE_ROLE_KEY" \ -H "apikey: $SERVICE_ROLE_KEY" \ -H "Content-Type: application/json" \ -d "{ \"name\": \"$FUNCTION_NAME\", \"verify_jwt\": true }") # Extract status code HTTP_CODE=$(echo "$RESPONSE" | tail -n1) RESPONSE_BODY=$(echo "$RESPONSE" | sed '$d') echo "HTTP Status: $HTTP_CODE" echo "Response: $RESPONSE_BODY" echo "" if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "201" ]; then echo "✅ Function metadata created successfully" # Now upload the actual function code echo "📤 Uploading function code..." CODE_RESPONSE=$(curl -s -w "\n%{http_code}" \ -X PUT "$SUPABASE_URL/rest/v1/functions/$FUNCTION_NAME/body" \ -H "Authorization: Bearer $SERVICE_ROLE_KEY" \ -H "apikey: $SERVICE_ROLE_KEY" \ -H "Content-Type: text/plain" \ --data-binary @"$FUNCTION_PATH") CODE_HTTP=$(echo "$CODE_RESPONSE" | tail -n1) if [ "$CODE_HTTP" = "200" ] || [ "$CODE_HTTP" = "204" ]; then echo "✅ Function code uploaded successfully!" echo "" echo "🌐 Function URL: $SUPABASE_URL/functions/v1/$FUNCTION_NAME" else echo "❌ Failed to upload function code (HTTP $CODE_HTTP)" echo "Response: $(echo "$CODE_RESPONSE" | sed '$d')" fi else echo "❌ Failed to create function metadata (HTTP $HTTP_CODE)" echo "Response: $RESPONSE_BODY" fi echo "" echo "✨ Deployment attempt complete!"