1
import { SupabaseManagement, Supabase } from "@trigger.dev/supabase";
2
import { Stripe } from "@trigger.dev/stripe";
3
import { TriggerClient } from "@trigger.dev/sdk";
4
export const stripe = new Stripe({
6
apiKey: process.env.STRIPE_API_KEY!,
9
const supabase = new Supabase({
11
supabaseUrl: process.env.SUPABASE_PUBLIC_URL!,
12
supabaseKey: process.env.SUPABASE_SERVICE_ROLE_KEY!,
16
const supabaseManagement = new SupabaseManagement({
17
id: "supabase-management",
22
id: "supabase-stripe-update-database",
23
name: "Supabase: update database when Stripe account is updated",
29
trigger: stripe.onAccountUpdated({ connect: true }),
30
run: async (payload, io, ctx) => {
31
const stripeAccountId = payload.id;
32
const { payouts_enabled, charges_enabled, details_submitted } = payload;
34
const updatedAt = new Date().toISOString();
36
await io.supabase.runTask("update-stripe-account", async (database) => {
37
const { data, error } = await database
43
updated_at: updatedAt,
45
.eq("stripe_account_id", stripeAccountId);
47
if (error) throw error;