Input validation and error handling for secretsMode param
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
parent
7f966b504b
commit
eaca5abde5
1 changed files with 7 additions and 1 deletions
|
|
@ -67,7 +67,13 @@ function parseExportParams(c: Context): ExportParams {
|
|||
const includeIds = c.req.query("includeIds") !== "false";
|
||||
const includeTimestamps = c.req.query("includeTimestamps") !== "false";
|
||||
const includeRuntimeState = c.req.query("includeRuntimeState") === "true";
|
||||
const secretsMode = (c.req.query("secretsMode") as SecretsMode) || "exclude";
|
||||
const secretsModeRaw = c.req.query("secretsMode");
|
||||
const allowedSecretsModes: SecretsMode[] = ["exclude", "encrypted", "cleartext"];
|
||||
const secretsMode: SecretsMode = secretsModeRaw
|
||||
? (allowedSecretsModes.includes(secretsModeRaw as SecretsMode)
|
||||
? (secretsModeRaw as SecretsMode)
|
||||
: (() => { throw new Error("Invalid secretsMode parameter"); })())
|
||||
: "exclude";
|
||||
const excludeKeys = getExcludeKeys(includeIds, includeTimestamps, includeRuntimeState);
|
||||
return { includeIds, includeTimestamps, secretsMode, excludeKeys };
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue