forked from dienianindya/gsi_ess_mobile
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.
62 lines
2.8 KiB
62 lines
2.8 KiB
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.INVALID_PATH_ERROR = exports.HELP_TEXT = exports.DATABASE_SETTINGS = void 0;
|
|
const defaultWriteSizeLimit = {
|
|
path: "defaultWriteSizeLimit",
|
|
description: `
|
|
Set a limit for the size of each write request: small, medium, large or unlimited.
|
|
If you choose 'unlimited', any and all write requests will be allowed, potentially
|
|
blocking subsequent write requests while the database processes any large write
|
|
requests. For example, deleting data at the database's root
|
|
can't be reverted and the database will be unavailable until the delete is finished.
|
|
To avoid blocking large write requests without running the risk of hanging your
|
|
database, you can set this limit to small (target=10s), medium (target=30s), large (target=60s).
|
|
Realtime Database estimates the size of each write request and aborts
|
|
requests that will take longer than the target time.
|
|
`,
|
|
parseInput: (input) => {
|
|
switch (input) {
|
|
case "small":
|
|
case "medium":
|
|
case "large":
|
|
case "unlimited":
|
|
return input;
|
|
default:
|
|
return undefined;
|
|
}
|
|
},
|
|
parseInputErrorMessge: "defaultWriteSizeLimit must be either small, medium, large or unlimited. (tiny is not allowed)",
|
|
};
|
|
const strictTriggerValidation = {
|
|
path: "strictTriggerValidation",
|
|
description: `
|
|
Strict validation is enabled by default for write operations that trigger
|
|
events. Any write operations that trigger more than 1000 Cloud Functions or a
|
|
single event greater than 1 MB in size will fail and return an error reporting
|
|
the limit that was hit. This might mean that some Cloud Functions aren't
|
|
triggered at all if they fail the pre-validation.
|
|
|
|
If you're performing a larger write operation (for example, deleting your
|
|
entire database), you might want to disable this validation, as the errors
|
|
themselves might block the operation.
|
|
`,
|
|
parseInput: (input) => {
|
|
switch (input) {
|
|
case "true":
|
|
return true;
|
|
case "false":
|
|
return false;
|
|
default:
|
|
return undefined;
|
|
}
|
|
},
|
|
parseInputErrorMessge: "strictTriggerValidation must be 'true' or 'false'",
|
|
};
|
|
exports.DATABASE_SETTINGS = new Map();
|
|
exports.DATABASE_SETTINGS.set(defaultWriteSizeLimit.path, defaultWriteSizeLimit);
|
|
exports.DATABASE_SETTINGS.set(strictTriggerValidation.path, strictTriggerValidation);
|
|
exports.HELP_TEXT = "\nAvailable Settings:\n" +
|
|
Array.from(exports.DATABASE_SETTINGS.values())
|
|
.map((setting) => ` ${setting.path}:${setting.description}`)
|
|
.join("");
|
|
exports.INVALID_PATH_ERROR = `Path must be one of ${Array.from(exports.DATABASE_SETTINGS.keys()).join(", ")}.`;
|