type Stripe = {
token: string;
};
export async function main(stripeAuth: Stripe) {
let has_more = true;
let starting_after = "";
const products = [];
// if you have a lot of products (> 200), you may want to consider to throttle.
while (has_more) {
const res = await getStripeProductsIds(stripeAuth.token, starting_after);
has_more = res.has_more;
starting_after = res.data[res.data.length - 1].id;
products.push(...res.data);
}
return products;
}
async function getStripeProductsIds(stripeKey: string, starting_after = "") {
let url = "https://api.stripe.com/v1/products?limit=10";
if (starting_after) {
url += `&starting_after=${starting_after}`;
}
const products = await fetch(url, {
headers: {
Authorization: `Bearer ${stripeKey}`,
},
}).then((res) => res.json());
return products;
}
Submitted by admin 497 days ago
type Stripe = {
token: string;
};
export async function main(stripeAuth: Stripe) {
let has_more = true;
let starting_after = "";
const products = [];
// if you have a lot of products (> 200), you may want to consider to throttle.
while (has_more) {
const res = await getStripeProductsIds(
stripeAuth.token,
starting_after,
);
has_more = res.has_more;
starting_after = res.data[res.data.length - 1].id;
products.push(...res.data);
}
return products;
}
async function getStripeProductsIds(
stripeKey: string,
starting_after = "",
) {
let url = "https://api.stripe.com/v1/products?limit=10";
if (starting_after) {
url += `&starting_after=${starting_after}`;
}
const products = await fetch(url, {
headers: {
"Authorization": `Bearer ${stripeKey}`,
},
}).then((res) => res.json());
return products;
}
Submitted by admin 500 days ago
import type { Resource } from "https://deno.land/x/windmill@v1.101.1/mod.ts";
export async function main(stripeAuth: Resource<"stripe">) {
let has_more = true;
let starting_after = "";
const products = [];
// if you have a lot of products (> 200), you may want to consider to throttle.
while (has_more) {
const res = await getStripeProductsIds(
stripeAuth.token,
starting_after,
);
has_more = res.has_more;
starting_after = res.data[res.data.length - 1].id;
products.push(...res.data);
}
return products;
}
async function getStripeProductsIds(
stripeKey: string,
starting_after = "",
) {
let url = "https://api.stripe.com/v1/products?limit=10";
if (starting_after) {
url += `&starting_after=${starting_after}`;
}
const products = await fetch(url, {
headers: {
"Authorization": `Bearer ${stripeKey}`,
},
}).then((res) => res.json());
return products;
}
Submitted by sindre svendby964 576 days ago