|
1 | 1 | import { Readable } from "stream"; |
2 | 2 | import * as path from "path"; |
3 | 3 |
|
4 | | -import { firebaseStorageOrigin, storageOrigin } from "../api"; |
| 4 | +import { storageOrigin } from "../api"; |
5 | 5 | import { Client } from "../apiv2"; |
6 | 6 | import { FirebaseError } from "../error"; |
7 | 7 | import { logger } from "../logger"; |
8 | | -import { ensure } from "../ensureApiEnabled"; |
| 8 | +import { getFirebaseProject } from "../management/projects"; |
9 | 9 |
|
10 | 10 | /** Bucket Interface */ |
11 | 11 | interface BucketResponse { |
@@ -133,34 +133,22 @@ interface ListBucketsResponse { |
133 | 133 | ]; |
134 | 134 | } |
135 | 135 |
|
136 | | -interface GetDefaultBucketResponse { |
137 | | - name: string; |
138 | | - location: string; |
139 | | - bucket: { |
140 | | - name: string; |
141 | | - }; |
142 | | -} |
143 | | - |
144 | 136 | /** Response type for obtaining the storage service agent */ |
145 | 137 | interface StorageServiceAccountResponse { |
146 | 138 | email_address: string; |
147 | 139 | kind: string; |
148 | 140 | } |
149 | 141 |
|
150 | 142 | export async function getDefaultBucket(projectId: string): Promise<string> { |
151 | | - await ensure(projectId, "firebasestorage.googleapis.com", "storage", false); |
152 | 143 | try { |
153 | | - const localAPIClient = new Client({ urlPrefix: firebaseStorageOrigin, apiVersion: "v1alpha" }); |
154 | | - const response = await localAPIClient.get<GetDefaultBucketResponse>( |
155 | | - `/projects/${projectId}/defaultBucket` |
156 | | - ); |
157 | | - if (!response.body?.bucket.name) { |
| 144 | + const metadata = await getFirebaseProject(projectId); |
| 145 | + if (!metadata.resources?.storageBucket) { |
158 | 146 | logger.debug("Default storage bucket is undefined."); |
159 | 147 | throw new FirebaseError( |
160 | 148 | "Your project is being set up. Please wait a minute before deploying again." |
161 | 149 | ); |
162 | 150 | } |
163 | | - return response.body.bucket.name.split("/").pop()!; |
| 151 | + return metadata.resources.storageBucket; |
164 | 152 | } catch (err: any) { |
165 | 153 | logger.info( |
166 | 154 | "\n\nThere was an issue deploying your functions. Verify that your project has a Google App Engine instance setup at https://console.cloud.google.com/appengine and try again. If this issue persists, please contact support." |
|
0 commit comments