firebase-tools
Version:
Command-Line Interface for Firebase
41 lines (40 loc) • 1.7 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateServiceIdentityAndPoll = exports.generateServiceIdentity = exports.apiClient = void 0;
const colorette_1 = require("colorette");
const api_1 = require("../api");
const apiv2_1 = require("../apiv2");
const error_1 = require("../error");
const utils = require("../utils");
const poller = require("../operation-poller");
const API_VERSION = "v1beta1";
const SERVICE_USAGE_ORIGIN = (0, api_1.serviceUsageOrigin)();
exports.apiClient = new apiv2_1.Client({
urlPrefix: SERVICE_USAGE_ORIGIN,
apiVersion: API_VERSION,
});
const serviceUsagePollerOptions = {
apiOrigin: SERVICE_USAGE_ORIGIN,
apiVersion: API_VERSION,
};
async function generateServiceIdentity(projectNumber, service, prefix) {
utils.logLabeledBullet(prefix, `generating the service identity for ${(0, colorette_1.bold)(service)}...`);
try {
const res = await exports.apiClient.post(`projects/${projectNumber}/services/${service}:generateServiceIdentity`);
return res.body;
}
catch (err) {
throw new error_1.FirebaseError(`Error generating the service identity for ${service}.`, {
original: err,
});
}
}
exports.generateServiceIdentity = generateServiceIdentity;
async function generateServiceIdentityAndPoll(projectNumber, service, prefix) {
const op = await generateServiceIdentity(projectNumber, service, prefix);
if (op.done) {
return;
}
await poller.pollOperation(Object.assign(Object.assign({}, serviceUsagePollerOptions), { operationResourceName: op.name }));
}
exports.generateServiceIdentityAndPoll = generateServiceIdentityAndPoll;
;