Implementing Effect in a Supabase Web App for Checking User Credits

Hey everyone,

I am building a web app on supabase and want to implement effect
export const checkCredits = (
    userId: string,
): Effect.Effect<never, Error, UserCredits> =>
    Effect.tryPromise({
        try: async () => {
            const { data, error } = await supabaseAdmin
                .from("credits")
                .select("balance")
                .eq("user_id", userId)
                .single()
            console.log("data", data)

            if (error) {
        return Effect.fail(new Error("Failed to fetch credits"))
      }
            if (data && data.balance <= 15) {
                return Effect.fail(new Error("Insufficient credits"))
            }

            return Effect.succeed(data)
        },
    })
Was this page helpful?