You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.6 KiB
49 lines
1.6 KiB
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getTemplate = exports.parseTemplateForTable = void 0;
|
|
const api_1 = require("../api");
|
|
const apiv2_1 = require("../apiv2");
|
|
const logger_1 = require("../logger");
|
|
const error_1 = require("../error");
|
|
const TIMEOUT = 30000;
|
|
const MAX_DISPLAY_ITEMS = 50;
|
|
const apiClient = new apiv2_1.Client({
|
|
urlPrefix: api_1.remoteConfigApiOrigin,
|
|
apiVersion: "v1",
|
|
});
|
|
function parseTemplateForTable(templateItems) {
|
|
let outputStr = "";
|
|
let counter = 0;
|
|
for (const item in templateItems) {
|
|
if (Object.prototype.hasOwnProperty.call(templateItems, item)) {
|
|
outputStr = outputStr.concat(item, "\n");
|
|
counter++;
|
|
if (counter === MAX_DISPLAY_ITEMS) {
|
|
outputStr += "+more..." + "\n";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return outputStr;
|
|
}
|
|
exports.parseTemplateForTable = parseTemplateForTable;
|
|
async function getTemplate(projectId, versionNumber) {
|
|
try {
|
|
const params = new URLSearchParams();
|
|
if (versionNumber) {
|
|
params.set("versionNumber", versionNumber);
|
|
}
|
|
const res = await apiClient.request({
|
|
method: "GET",
|
|
path: `/projects/${projectId}/remoteConfig`,
|
|
queryParams: params,
|
|
timeout: TIMEOUT,
|
|
});
|
|
return res.body;
|
|
}
|
|
catch (err) {
|
|
logger_1.logger.debug(err.message);
|
|
throw new error_1.FirebaseError(`Failed to get Firebase Remote Config template for project ${projectId}. `, { original: err });
|
|
}
|
|
}
|
|
exports.getTemplate = getTemplate;
|