diff options
Diffstat (limited to 'docs/lib')
| -rw-r--r-- | docs/lib/ConvertKitApi.ts | 118 | ||||
| -rw-r--r-- | docs/lib/useTurborepoMinutesSaved.ts | 76 |
2 files changed, 97 insertions, 97 deletions
diff --git a/docs/lib/ConvertKitApi.ts b/docs/lib/ConvertKitApi.ts index 3e35ec9..c2915a1 100644 --- a/docs/lib/ConvertKitApi.ts +++ b/docs/lib/ConvertKitApi.ts @@ -1,59 +1,59 @@ -import axios from "axios";
-
-const API_KEY = process.env.CONVERTKIT_API_KEY;
-const API_SECRET = process.env.CONVERTKIT_API_SECRET;
-
-const Http = axios.create({
- baseURL: "https://api.convertkit.com/v3",
- headers: {
- "Content-Type": "application/json; charset=utf-8",
- },
-});
-
-export function subscribeToForm({
- formId,
- email,
- firstName,
- fields,
-}: {
- formId: string;
- email: string;
- firstName: string;
- fields?: Record<string, any>;
-}): Promise<Subscriber> {
- return Http(`/forms/${formId}/subscribe`, {
- method: "POST",
- data: { api_key: API_KEY, email, first_name: firstName, fields },
- }).then((res) => res.data.subscription?.subscriber);
-}
-
-export function updateSubscriber(
- id: string,
- update: Subscriber
-): Promise<unknown> {
- return Http(`/subscribers/${id}`, {
- method: "PUT",
- data: {
- api_secret: API_SECRET,
- ...update,
- },
- }).then((res) => res.data);
-}
-
-export interface Subscriber {
- id: number;
- first_name: string;
- email_address: string;
- state: string; // maybe 'active' | 'inactive'
- created_at: string;
- fields: Record<string, any>;
-}
-
-export function getSubscriber(id: string): Promise<Subscriber> {
- return Http(`/subscribers/${id}`, {
- method: "GET",
- data: {
- api_secret: API_SECRET,
- },
- }).then((res) => res.data.subscriber);
-}
\ No newline at end of file +import axios from "axios"; + +const API_KEY = process.env.CONVERTKIT_API_KEY; +const API_SECRET = process.env.CONVERTKIT_API_SECRET; + +const Http = axios.create({ + baseURL: "https://api.convertkit.com/v3", + headers: { + "Content-Type": "application/json; charset=utf-8", + }, +}); + +export function subscribeToForm({ + formId, + email, + firstName, + fields, +}: { + formId: string; + email: string; + firstName: string; + fields?: Record<string, any>; +}): Promise<Subscriber> { + return Http(`/forms/${formId}/subscribe`, { + method: "POST", + data: { api_key: API_KEY, email, first_name: firstName, fields }, + }).then((res) => res.data.subscription?.subscriber); +} + +export function updateSubscriber( + id: string, + update: Subscriber +): Promise<unknown> { + return Http(`/subscribers/${id}`, { + method: "PUT", + data: { + api_secret: API_SECRET, + ...update, + }, + }).then((res) => res.data); +} + +export interface Subscriber { + id: number; + first_name: string; + email_address: string; + state: string; // maybe 'active' | 'inactive' + created_at: string; + fields: Record<string, any>; +} + +export function getSubscriber(id: string): Promise<Subscriber> { + return Http(`/subscribers/${id}`, { + method: "GET", + data: { + api_secret: API_SECRET, + }, + }).then((res) => res.data.subscriber); +} diff --git a/docs/lib/useTurborepoMinutesSaved.ts b/docs/lib/useTurborepoMinutesSaved.ts index 5a94a91..4689ca7 100644 --- a/docs/lib/useTurborepoMinutesSaved.ts +++ b/docs/lib/useTurborepoMinutesSaved.ts @@ -1,38 +1,38 @@ -import useSWR from "swr";
-import axios from "axios";
-
-const fetcher = (url) => axios.get(url).then((res) => res.data);
-
-const path =
- "https://api.us-east.tinybird.co/v0/pipes/turborepo_time_saved_ticker.json?token=p.eyJ1IjogIjAzYzA0Y2MyLTM1YTAtNDhhNC05ZTZjLThhMWE0NGNhNjhkZiIsICJpZCI6ICJmOWIzMTU5Yi0wOTVjLTQyM2UtOWIwNS04ZDZlNzIyNjEwNzIifQ.A3TOPdm3Lhmn-1x5m6jNvulCQbbgUeQfAIO3IaaAt5k";
-
-const REFRESH_INTERVAL_IN_MS = 3500;
-
-interface QueryResponse {
- meta: { name: string; type: string }[];
- data: {
- last_update_time: string;
- remote_cache_minutes_saved: number;
- local_cache_minutes_saved: number;
- }[];
- rows: number;
- statistics: {
- elapsed: number;
- rows_read: number;
- bytes_read: number;
- };
-}
-
-export default function useTurborepoMinutesSaved():
- | {
- last_update_time: string;
- remote_cache_minutes_saved: number;
- local_cache_minutes_saved: number;
- }
- | undefined {
- const swr = useSWR<QueryResponse, unknown>(path, fetcher, {
- refreshInterval: REFRESH_INTERVAL_IN_MS,
- });
-
- return swr.data?.data[0];
-}
\ No newline at end of file +import useSWR from "swr"; +import axios from "axios"; + +const fetcher = (url) => axios.get(url).then((res) => res.data); + +const path = + "https://api.us-east.tinybird.co/v0/pipes/turborepo_time_saved_ticker.json?token=p.eyJ1IjogIjAzYzA0Y2MyLTM1YTAtNDhhNC05ZTZjLThhMWE0NGNhNjhkZiIsICJpZCI6ICJmOWIzMTU5Yi0wOTVjLTQyM2UtOWIwNS04ZDZlNzIyNjEwNzIifQ.A3TOPdm3Lhmn-1x5m6jNvulCQbbgUeQfAIO3IaaAt5k"; + +const REFRESH_INTERVAL_IN_MS = 3500; + +interface QueryResponse { + meta: { name: string; type: string }[]; + data: { + last_update_time: string; + remote_cache_minutes_saved: number; + local_cache_minutes_saved: number; + }[]; + rows: number; + statistics: { + elapsed: number; + rows_read: number; + bytes_read: number; + }; +} + +export default function useTurborepoMinutesSaved(): + | { + last_update_time: string; + remote_cache_minutes_saved: number; + local_cache_minutes_saved: number; + } + | undefined { + const swr = useSWR<QueryResponse, unknown>(path, fetcher, { + refreshInterval: REFRESH_INTERVAL_IN_MS, + }); + + return swr.data?.data[0]; +} |
