|
2 | 2 |
|
3 | 3 | import { createContext, useContext, useState, useEffect } from "react"; |
4 | 4 | import { createFrontendClient } from "@pipedream/sdk/browser"; |
| 5 | +import { getServerCodeSnippet, getClientCodeSnippet } from "./ConnectCodeSnippets"; |
5 | 6 |
|
6 | 7 | // Generate a UUID v4 for use as external_user_id |
7 | 8 | function generateUUID() { |
@@ -34,46 +35,11 @@ export function GlobalConnectProvider({ children }) { |
34 | 35 | setExternalUserId(generateUUID()); |
35 | 36 | }, []); |
36 | 37 |
|
37 | | - // Get server code snippet |
38 | | - const getServerCodeSnippet = () => `import { createBackendClient } from "@pipedream/sdk/server"; |
39 | | - |
40 | | -// This code runs on your server |
41 | | -const pd = createBackendClient({ |
42 | | - environment: "development", |
43 | | - credentials: { |
44 | | - clientId: process.env.PIPEDREAM_CLIENT_ID, |
45 | | - clientSecret: process.env.PIPEDREAM_CLIENT_SECRET, |
46 | | - }, |
47 | | - projectId: process.env.PIPEDREAM_PROJECT_ID |
48 | | -}); |
49 | | - |
50 | | -// Create a token for a specific user |
51 | | -const { token, expires_at, connect_link_url } = await pd.createConnectToken({ |
52 | | - external_user_id: "${externalUserId || "YOUR_USER_ID"}", |
53 | | -});`; |
| 38 | + // Get server code snippet wrapper function |
| 39 | + const getServerSnippet = () => getServerCodeSnippet(externalUserId); |
54 | 40 |
|
55 | | - // Get client code snippet |
56 | | - const getClientCodeSnippet = () => `import { createFrontendClient } from "@pipedream/sdk/browser" |
57 | | - |
58 | | -// This code runs in the browser |
59 | | -const pd = createFrontendClient() |
60 | | -
|
61 | | -// Connect an account using the token from your server |
62 | | -pd.connectAccount({ |
63 | | - app: "${appSlug}", |
64 | | - token: "${tokenData?.token ? tokenData.token.substring(0, 10) + "..." : "YOUR_TOKEN"}", |
65 | | - onSuccess: (account) => { |
66 | | - // Handle successful connection |
67 | | - console.log(\`Account successfully connected: \${account.name}\`) |
68 | | - }, |
69 | | - onError: (err) => { |
70 | | - // Handle connection error |
71 | | - console.error(\`Connection error: \${err.message}\`) |
72 | | - }, |
73 | | - onClose: () => { |
74 | | - // Handle dialog closed by user |
75 | | - } |
76 | | -})`; |
| 41 | + // Get client code snippet wrapper function |
| 42 | + const getClientSnippet = () => getClientCodeSnippet(appSlug, tokenData); |
77 | 43 |
|
78 | 44 | // Generate token async function |
79 | 45 | async function generateToken() { |
@@ -150,8 +116,8 @@ pd.connectAccount({ |
150 | 116 | connectAccount, |
151 | 117 |
|
152 | 118 | // Code snippets |
153 | | - getServerCodeSnippet, |
154 | | - getClientCodeSnippet, |
| 119 | + getServerCodeSnippet: getServerSnippet, |
| 120 | + getClientCodeSnippet: getClientSnippet, |
155 | 121 | }; |
156 | 122 |
|
157 | 123 | return ( |
|
0 commit comments