Edit File: index.d.ts
/*! firebase-admin v9.12.0 */ /*! * 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. */ import { app } from '../firebase-namespace-api'; /** * Gets the {@link projectManagement.ProjectManagement * `ProjectManagement`} service for the default app or a given app. * * `admin.projectManagement()` can be called with no arguments to access the * default app's {@link projectManagement.ProjectManagement * `ProjectManagement`} service, or as `admin.projectManagement(app)` to access * the {@link projectManagement.ProjectManagement `ProjectManagement`} * service associated with a specific app. * * @example * ```javascript * // Get the ProjectManagement service for the default app * var defaultProjectManagement = admin.projectManagement(); * ``` * * @example * ```javascript * // Get the ProjectManagement service for a given app * var otherProjectManagement = admin.projectManagement(otherApp); * ``` * * @param app Optional app whose `ProjectManagement` service * to return. If not provided, the default `ProjectManagement` service will * be returned. * * @return The default `ProjectManagement` service if no app is provided or the * `ProjectManagement` service associated with the provided app. */ export declare function projectManagement(app?: app.App): projectManagement.ProjectManagement; export declare namespace projectManagement { /** * Metadata about a Firebase Android App. */ interface AndroidAppMetadata extends AppMetadata { platform: AppPlatform.ANDROID; /** * The canonical package name of the Android App, as would appear in the Google Play Developer * Console. * * @example * ```javascript * var packageName = androidAppMetadata.packageName; * ``` */ packageName: string; } /** * Metadata about a Firebase app. */ interface AppMetadata { /** * The globally unique, Firebase-assigned identifier of the app. * * @example * ```javascript * var appId = appMetadata.appId; * ``` */ appId: string; /** * The optional user-assigned display name of the app. * * @example * ```javascript * var displayName = appMetadata.displayName; * ``` */ displayName?: string; /** * The development platform of the app. Supporting Android and iOS app platforms. * * @example * ```javascript * var platform = AppPlatform.ANDROID; * ``` */ platform: AppPlatform; /** * The globally unique, user-assigned ID of the parent project for the app. * * @example * ```javascript * var projectId = appMetadata.projectId; * ``` */ projectId: string; /** * The fully-qualified resource name that identifies this app. * * This is useful when manually constructing requests for Firebase's public API. * * @example * ```javascript * var resourceName = androidAppMetadata.resourceName; * ``` */ resourceName: string; } /** * Platforms with which a Firebase App can be associated. */ enum AppPlatform { /** * Unknown state. This is only used for distinguishing unset values. */ PLATFORM_UNKNOWN = "PLATFORM_UNKNOWN", /** * The Firebase App is associated with iOS. */ IOS = "IOS", /** * The Firebase App is associated with Android. */ ANDROID = "ANDROID" } /** * Metadata about a Firebase iOS App. */ interface IosAppMetadata extends AppMetadata { platform: AppPlatform.IOS; /** * The canonical bundle ID of the iOS App as it would appear in the iOS App Store. * * @example * ```javascript * var bundleId = iosAppMetadata.bundleId; *``` */ bundleId: string; } /** * A reference to a Firebase Android app. * * Do not call this constructor directly. Instead, use * [`projectManagement.androidApp()`](projectManagement.ProjectManagement#androidApp). */ interface AndroidApp { appId: string; /** * Retrieves metadata about this Android app. * * @return A promise that resolves to the retrieved metadata about this Android app. */ getMetadata(): Promise<AndroidAppMetadata>; /** * Sets the optional user-assigned display name of the app. * * @param newDisplayName The new display name to set. * * @return A promise that resolves when the display name has been set. */ setDisplayName(newDisplayName: string): Promise<void>; /** * Gets the list of SHA certificates associated with this Android app in Firebase. * * @return The list of SHA-1 and SHA-256 certificates associated with this Android app in * Firebase. */ getShaCertificates(): Promise<ShaCertificate[]>; /** * Adds the given SHA certificate to this Android app. * * @param certificateToAdd The SHA certificate to add. * * @return A promise that resolves when the given certificate * has been added to the Android app. */ addShaCertificate(certificateToAdd: ShaCertificate): Promise<void>; /** * Deletes the specified SHA certificate from this Android app. * * @param certificateToDelete The SHA certificate to delete. * * @return A promise that resolves when the specified * certificate has been removed from the Android app. */ deleteShaCertificate(certificateToRemove: ShaCertificate): Promise<void>; /** * Gets the configuration artifact associated with this app. * * @return A promise that resolves to the Android app's * Firebase config file, in UTF-8 string format. This string is typically * intended to be written to a JSON file that gets shipped with your Android * app. */ getConfig(): Promise<string>; } /** * A reference to a Firebase iOS app. * * Do not call this constructor directly. Instead, use * [`projectManagement.iosApp()`](projectManagement.ProjectManagement#iosApp). */ interface IosApp { appId: string; /** * Retrieves metadata about this iOS app. * * @return {!Promise<admin.projectManagement.IosAppMetadata>} A promise that * resolves to the retrieved metadata about this iOS app. */ getMetadata(): Promise<IosAppMetadata>; /** * Sets the optional user-assigned display name of the app. * * @param newDisplayName The new display name to set. * * @return A promise that resolves when the display name has * been set. */ setDisplayName(newDisplayName: string): Promise<void>; /** * Gets the configuration artifact associated with this app. * * @return A promise that resolves to the iOS app's Firebase * config file, in UTF-8 string format. This string is typically intended to * be written to a plist file that gets shipped with your iOS app. */ getConfig(): Promise<string>; } /** * A SHA-1 or SHA-256 certificate. * * Do not call this constructor directly. Instead, use * [`projectManagement.shaCertificate()`](projectManagement.ProjectManagement#shaCertificate). */ interface ShaCertificate { /** * The SHA certificate type. * * @example * ```javascript * var certType = shaCertificate.certType; * ``` */ certType: ('sha1' | 'sha256'); /** * The SHA-1 or SHA-256 hash for this certificate. * * @example * ```javascript * var shaHash = shaCertificate.shaHash; * ``` */ shaHash: string; /** * The fully-qualified resource name that identifies this sha-key. * * This is useful when manually constructing requests for Firebase's public API. * * @example * ```javascript * var resourceName = shaCertificate.resourceName; * ``` */ resourceName?: string; } /** * The Firebase ProjectManagement service interface. * * Do not call this constructor directly. Instead, use * [`admin.projectManagement()`](projectManagement#projectManagement). */ interface ProjectManagement { app: app.App; /** * Lists up to 100 Firebase apps associated with this Firebase project. * * @return A promise that resolves to the metadata list of the apps. */ listAppMetadata(): Promise<AppMetadata[]>; /** * Lists up to 100 Firebase Android apps associated with this Firebase project. * * @return The list of Android apps. */ listAndroidApps(): Promise<AndroidApp[]>; /** * Lists up to 100 Firebase iOS apps associated with this Firebase project. * * @return The list of iOS apps. */ listIosApps(): Promise<IosApp[]>; /** * Creates an `AndroidApp` object, referencing the specified Android app within * this Firebase project. * * This method does not perform an RPC. * * @param appId The `appId` of the Android app to reference. * * @return An `AndroidApp` object that references the specified Firebase Android app. */ androidApp(appId: string): AndroidApp; /** * Update the display name of this Firebase project. * * @param newDisplayName The new display name to be updated. * * @return A promise that resolves when the project display name has been updated. */ setDisplayName(newDisplayName: string): Promise<void>; /** * Creates an `iOSApp` object, referencing the specified iOS app within * this Firebase project. * * This method does not perform an RPC. * * @param appId The `appId` of the iOS app to reference. * * @return An `iOSApp` object that references the specified Firebase iOS app. */ iosApp(appId: string): IosApp; /** * Creates a `ShaCertificate` object. * * This method does not perform an RPC. * * @param shaHash The SHA-1 or SHA-256 hash for this certificate. * * @return A `ShaCertificate` object contains the specified SHA hash. */ shaCertificate(shaHash: string): ShaCertificate; /** * Creates a new Firebase Android app associated with this Firebase project. * * @param packageName The canonical package name of the Android App, * as would appear in the Google Play Developer Console. * @param displayName An optional user-assigned display name for this * new app. * * @return A promise that resolves to the newly created Android app. */ createAndroidApp(packageName: string, displayName?: string): Promise<AndroidApp>; /** * Creates a new Firebase iOS app associated with this Firebase project. * * @param bundleId The iOS app bundle ID to use for this new app. * @param displayName An optional user-assigned display name for this * new app. * * @return A promise that resolves to the newly created iOS app. */ createIosApp(bundleId: string, displayName?: string): Promise<IosApp>; } }
Back to File Manager