firebase-tools
Version:
Command-Line Interface for Firebase
52 lines (51 loc) • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.batchGetEvents = exports.listEvents = void 0;
const logger_1 = require("../logger");
const error_1 = require("../error");
const utils_1 = require("./utils");
const filters_1 = require("./filters");
async function listEvents(appId, filter, pageSize = 1) {
var _a;
var _b;
const requestProjectNumber = (0, utils_1.parseProjectNumber)(appId);
const queryParams = (0, filters_1.filterToUrlSearchParams)(filter);
queryParams.set("page_size", `${pageSize}`);
logger_1.logger.debug(`[crashlytics] listEvents called with appId: ${appId}, filter: ${queryParams.toString()}, pageSize: ${pageSize}`);
const response = await utils_1.CRASHLYTICS_API_CLIENT.request({
method: "GET",
headers: {
"Content-Type": "application/json",
},
path: `/projects/${requestProjectNumber}/apps/${appId}/events`,
queryParams: queryParams,
timeout: utils_1.TIMEOUT,
});
(_a = (_b = response.body).events) !== null && _a !== void 0 ? _a : (_b.events = []);
return response.body;
}
exports.listEvents = listEvents;
async function batchGetEvents(appId, eventNames) {
var _a;
var _b;
const requestProjectNumber = (0, utils_1.parseProjectNumber)(appId);
if (eventNames.length > 100)
throw new error_1.FirebaseError("Too many events in batchGet request");
logger_1.logger.debug(`[crashlytics] batchGetEvents called with appId: ${appId}, eventNames: ${eventNames.join(", ")}`);
const queryParams = new URLSearchParams();
eventNames.forEach((en) => {
queryParams.append("names", en);
});
const response = await utils_1.CRASHLYTICS_API_CLIENT.request({
method: "GET",
headers: {
"Content-Type": "application/json",
},
path: `/projects/${requestProjectNumber}/apps/${appId}/events:batchGet`,
queryParams: queryParams,
timeout: utils_1.TIMEOUT,
});
(_a = (_b = response.body).events) !== null && _a !== void 0 ? _a : (_b.events = []);
return response.body;
}
exports.batchGetEvents = batchGetEvents;