firebase-tools
Version:
Command-Line Interface for Firebase
30 lines (29 loc) • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.clearCache = clearCache;
exports.getDatabaseInstanceDetails = getDatabaseInstanceDetails;
exports.ensureDatabaseTriggerRegion = ensureDatabaseTriggerRegion;
const error_1 = require("../../../error");
const database_1 = require("../../../management/database");
const instanceCache = new Map();
function clearCache() {
instanceCache.clear();
}
async function getDatabaseInstanceDetails(projectId, instanceName) {
const key = `${projectId}/${instanceName}`;
if (instanceCache.has(key)) {
return instanceCache.get(key);
}
const details = await (0, database_1.getDatabaseInstanceDetails)(projectId, instanceName);
instanceCache.set(key, details);
return details;
}
function ensureDatabaseTriggerRegion(endpoint) {
if (!endpoint.eventTrigger.region) {
endpoint.eventTrigger.region = endpoint.region;
}
if (endpoint.eventTrigger.region !== endpoint.region) {
throw new error_1.FirebaseError("A database trigger location must match the function region.");
}
return Promise.resolve();
}