diff --git a/enterprise/frontend/src/embedding-sdk/cli/utils/generate-password.ts b/enterprise/frontend/src/embedding-sdk/cli/utils/generate-password.ts index ad15b362d61e9f684a500faabcb1eca883a22d2c..466db338e1420721bab94e726ab2a2f534e8fe49 100644 --- a/enterprise/frontend/src/embedding-sdk/cli/utils/generate-password.ts +++ b/enterprise/frontend/src/embedding-sdk/cli/utils/generate-password.ts @@ -1,16 +1,29 @@ export function generateRandomDemoPassword(): string { const chars = "abcdefghijklmnopqrstuvwxyz"; + const upperCaseChars = chars.toUpperCase(); const numbers = "0123456789"; - const allChars = chars + chars.toUpperCase() + numbers; + const allChars = chars + upperCaseChars + numbers; const length = 14; let password = ""; - for (let i = 0; i < length; i++) { - const randomIndex = Math.floor(Math.random() * allChars.length); - password += allChars[randomIndex]; + //make sure we have at least 1 number, one upper case and one lower case character + password += pickRandom(chars); + password += pickRandom(upperCaseChars); + password += pickRandom(numbers); + + for (let i = password.length; i < length; i++) { + password += pickRandom(allChars); } - return password; + return shuffle(password); } + +const pickRandom = (arr: string) => arr[Math.floor(Math.random() * arr.length)]; + +const shuffle = (arr: string) => + arr + .split("") + .sort(() => Math.random() - 0.5) + .join("");