12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.setRulesetLabels = exports.createRuleset = exports.getRulesetLabels = exports.getRuleset = exports.listAllRulesets = void 0;
- const api_1 = require("../api");
- const apiv2_1 = require("../apiv2");
- const logger_1 = require("../logger");
- const utils = require("../utils");
- function handleErrorResponse(response) {
- if (response.body && response.body.error) {
- return utils.reject(response.body.error, { code: 2 });
- }
- logger_1.logger.debug("[rules] error:", response.status, response.body);
- return utils.reject("Unexpected error encountered with database.", {
- code: 2,
- });
- }
- const apiClient = new apiv2_1.Client({ urlPrefix: api_1.rtdbMetadataOrigin });
- async function listAllRulesets(databaseName) {
- const response = await apiClient.get(`/namespaces/${databaseName}/rulesets`, { resolveOnHTTPError: true });
- if (response.status === 200) {
- return response.body.rulesets;
- }
- return handleErrorResponse(response);
- }
- exports.listAllRulesets = listAllRulesets;
- async function getRuleset(databaseName, rulesetId) {
- const response = await apiClient.get(`/namespaces/${databaseName}/rulesets/${rulesetId}`, { resolveOnHTTPError: true });
- if (response.status === 200) {
- return response.body;
- }
- return handleErrorResponse(response);
- }
- exports.getRuleset = getRuleset;
- async function getRulesetLabels(databaseName) {
- const response = await apiClient.get(`/namespaces/${databaseName}/ruleset_labels`, {
- resolveOnHTTPError: true,
- });
- if (response.status === 200) {
- return response.body;
- }
- return handleErrorResponse(response);
- }
- exports.getRulesetLabels = getRulesetLabels;
- async function createRuleset(databaseName, source) {
- const localApiClient = new apiv2_1.Client({
- urlPrefix: utils.addSubdomain(api_1.realtimeOrigin, databaseName),
- });
- const response = await localApiClient.post(`/.settings/rulesets.json`, source, { resolveOnHTTPError: true });
- if (response.status === 200) {
- return response.body.id;
- }
- return handleErrorResponse(response);
- }
- exports.createRuleset = createRuleset;
- async function setRulesetLabels(databaseName, labels) {
- const localApiClient = new apiv2_1.Client({
- urlPrefix: utils.addSubdomain(api_1.realtimeOrigin, databaseName),
- });
- const response = await localApiClient.put(`/.settings/ruleset_labels.json`, labels, {
- resolveOnHTTPError: true,
- });
- if (response.status === 200) {
- return response.body;
- }
- return handleErrorResponse(response);
- }
- exports.setRulesetLabels = setRulesetLabels;
|