|
1 | 1 | import { Readable } from "stream";
|
2 | 2 | import * as path from "path";
|
3 | 3 |
|
4 |
| -import { storageOrigin } from "../api"; |
| 4 | +import { firebaseStorageOrigin, storageOrigin } from "../api"; |
5 | 5 | import { Client } from "../apiv2";
|
6 | 6 | import { FirebaseError } from "../error";
|
7 | 7 | import { logger } from "../logger";
|
8 |
| -import { getFirebaseProject } from "../management/projects"; |
| 8 | +import { ensure } from "../ensureApiEnabled"; |
9 | 9 |
|
10 | 10 | /** Bucket Interface */
|
11 | 11 | interface BucketResponse {
|
@@ -140,18 +140,22 @@ interface StorageServiceAccountResponse {
|
140 | 140 | }
|
141 | 141 |
|
142 | 142 | export async function getDefaultBucket(projectId: string): Promise<string> {
|
| 143 | + await ensure(projectId, "firebasestorage.googleapis.com", "storage", false); |
143 | 144 | try {
|
144 |
| - const metadata = await getFirebaseProject(projectId); |
145 |
| - if (!metadata.resources?.storageBucket) { |
| 145 | + const localAPIClient = new Client({ urlPrefix: firebaseStorageOrigin, apiVersion: "v1alpha" }); |
| 146 | + const response = await localAPIClient.get<{ name: string }>( |
| 147 | + `/projects/${projectId}/defaultBucket` |
| 148 | + ); |
| 149 | + if (!response.body?.name) { |
146 | 150 | logger.debug("Default storage bucket is undefined.");
|
147 | 151 | throw new FirebaseError(
|
148 | 152 | "Your project is being set up. Please wait a minute before deploying again."
|
149 | 153 | );
|
150 | 154 | }
|
151 |
| - return metadata.resources.storageBucket; |
| 155 | + return response.body.name; |
152 | 156 | } catch (err: any) {
|
153 | 157 | logger.info(
|
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." |
| 158 | + "\n\nThere was an issue deploying your Storage rules. 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." |
155 | 159 | );
|
156 | 160 | throw err;
|
157 | 161 | }
|
|
0 commit comments