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 includeIds = c.req.query("includeIds") !== "false";
|
||||||
const includeTimestamps = c.req.query("includeTimestamps") !== "false";
|
const includeTimestamps = c.req.query("includeTimestamps") !== "false";
|
||||||
const includeRuntimeState = c.req.query("includeRuntimeState") === "true";
|
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);
|
const excludeKeys = getExcludeKeys(includeIds, includeTimestamps, includeRuntimeState);
|
||||||
return { includeIds, includeTimestamps, secretsMode, excludeKeys };
|
return { includeIds, includeTimestamps, secretsMode, excludeKeys };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue