|
1 | 1 | import { randomUUID } from "crypto"; |
2 | | -import type { CreateDatabaseResult, ApiResponse } from "../types.js"; |
| 2 | +import type { ApiResponse, CreateDatabaseResult } from "../types.js"; |
3 | 3 | import { sendAnalytics } from "../utils/analytics.js"; |
4 | 4 |
|
5 | 5 | export function getCommandName(): string { |
@@ -116,27 +116,15 @@ export async function createDatabaseCore( |
116 | 116 | const database = result.data?.database ?? result.databases?.[0]; |
117 | 117 | const projectId = result.data?.id ?? result.id ?? ""; |
118 | 118 |
|
119 | | - const apiKeys = database?.apiKeys; |
120 | | - const directConnDetails = result.data |
121 | | - ? apiKeys?.[0]?.directConnection |
122 | | - : result.databases?.[0]?.apiKeys?.[0]?.ppgDirectConnection; |
123 | | - |
124 | | - const directUser = directConnDetails?.user |
125 | | - ? encodeURIComponent(String(directConnDetails.user)) |
126 | | - : ""; |
127 | | - const directPass = directConnDetails?.pass |
128 | | - ? encodeURIComponent(String(directConnDetails.pass)) |
129 | | - : ""; |
130 | | - const directHost = directConnDetails?.host; |
131 | | - const directPort = directConnDetails?.port |
132 | | - ? `:${directConnDetails.port}` |
133 | | - : ""; |
134 | | - const directDbName = directConnDetails?.database || "postgres"; |
135 | | - |
| 119 | + const connection = database?.connections?.find( |
| 120 | + (c) => |
| 121 | + Boolean(c.endpoints?.direct?.connectionString) || |
| 122 | + Boolean(c.endpoints?.pooled?.connectionString), |
| 123 | + ); |
136 | 124 | const connectionString = |
137 | | - directConnDetails && directHost |
138 | | - ? `postgresql://${directUser}:${directPass}@${directHost}${directPort}/${directDbName}?sslmode=require` |
139 | | - : null; |
| 125 | + connection?.endpoints?.direct?.connectionString |
| 126 | + ?? connection?.endpoints?.pooled?.connectionString |
| 127 | + ?? null; |
140 | 128 |
|
141 | 129 | const claimUrl = `${claimDbWorkerUrl}/claim?projectID=${projectId}&utm_source=${userAgent || getCommandName()}&utm_medium=cli`; |
142 | 130 |
|
|
0 commit comments