1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /*! firebase-admin v12.1.1 */
- "use strict";
- /*!
- * Copyright 2020 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.getDownloadURL = exports.getStorage = exports.Storage = void 0;
- const app_1 = require("../app");
- const storage_1 = require("./storage");
- const error_1 = require("../utils/error");
- const utils_1 = require("./utils");
- var storage_2 = require("./storage");
- Object.defineProperty(exports, "Storage", { enumerable: true, get: function () { return storage_2.Storage; } });
- /**
- * Gets the {@link Storage} service for the default app or a given app.
- *
- * `getStorage()` can be called with no arguments to access the default
- * app's `Storage` service or as `getStorage(app)` to access the
- * `Storage` service associated with a specific app.
- *
- * @example
- * ```javascript
- * // Get the Storage service for the default app
- * const defaultStorage = getStorage();
- * ```
- *
- * @example
- * ```javascript
- * // Get the Storage service for a given app
- * const otherStorage = getStorage(otherApp);
- * ```
- */
- function getStorage(app) {
- if (typeof app === 'undefined') {
- app = (0, app_1.getApp)();
- }
- const firebaseApp = app;
- return firebaseApp.getOrInitService('storage', (app) => new storage_1.Storage(app));
- }
- exports.getStorage = getStorage;
- /**
- * Gets the download URL for the given {@link https://cloud.google.com/nodejs/docs/reference/storage/latest/storage/file | File}.
- *
- * @example
- * ```javascript
- * // Get the downloadUrl for a given file ref
- * const storage = getStorage();
- * const myRef = ref(storage, 'images/mountains.jpg');
- * const downloadUrl = await getDownloadURL(myRef);
- * ```
- */
- async function getDownloadURL(file) {
- const endpoint = (process.env.STORAGE_EMULATOR_HOST ||
- 'https://firebasestorage.googleapis.com') + '/v0';
- const { downloadTokens } = await (0, utils_1.getFirebaseMetadata)(endpoint, file);
- if (!downloadTokens) {
- throw new error_1.FirebaseError({
- code: 'storage/no-download-token',
- message: 'No download token available. Please create one in the Firebase Console.',
- });
- }
- const [token] = downloadTokens.split(',');
- return `${endpoint}/b/${file.bucket.name}/o/${encodeURIComponent(file.name)}?alt=media&token=${token}`;
- }
- exports.getDownloadURL = getDownloadURL;
|