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
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)
},
})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)
},
})