ci: fix wrong folder chmod

This commit is contained in:
Nicolas Meienberger 2026-01-11 14:41:08 +01:00
parent 85805cd2e2
commit 4b4c66b689
2 changed files with 14 additions and 6 deletions

View file

@ -56,8 +56,8 @@ jobs:
timeout 30s bash -c 'until curl -f http://localhost:4096/healthcheck; do echo "Waiting for server..." && sleep 2; done'
continue-on-error: false
- name: Make data directory writable
run: sudo chmod -R 777 data
- name: Make playwright directory writable
run: sudo chmod -R 777 playwright
- name: Run Playwright tests
run: bun run test:e2e

View file

@ -16,20 +16,22 @@ const changeUsername = async (oldUsername: string, newUsername: string) => {
throw new Error(`User "${oldUsername}" not found`);
}
const [existingUser] = await db.select().from(usersTable).where(eq(usersTable.username, newUsername));
const normalizedUsername = newUsername.toLowerCase().trim();
const [existingUser] = await db.select().from(usersTable).where(eq(usersTable.username, normalizedUsername));
if (existingUser) {
throw new Error(`Username "${newUsername}" is already taken`);
}
const usernameRegex = /^[a-z0-9_]{3,30}$/;
if (!usernameRegex.test(newUsername)) {
if (!usernameRegex.test(normalizedUsername)) {
throw new Error(
`Invalid username "${newUsername}". Usernames must be 3-30 characters long and can only contain lowercase letters, numbers, and underscores.`,
);
}
await db.transaction(async (tx) => {
await tx.update(usersTable).set({ username: newUsername.toLowerCase().trim() }).where(eq(usersTable.id, user.id));
await tx.update(usersTable).set({ username: normalizedUsername }).where(eq(usersTable.id, user.id));
await tx.delete(sessionsTable).where(eq(sessionsTable.userId, user.id));
});
};
@ -65,8 +67,14 @@ export const changeUsernameCommand = new Command("change-username")
if (!newUsername) {
newUsername = await input({
message: "Enter the new username:",
validate: (val) => (val.length > 0 ? true : "Username cannot be empty"),
validate: (val) => {
const usernameRegex = /^[a-z0-9_]{3,30}$/;
return usernameRegex.test(val)
? true
: "Username must be 3-30 characters and contain only lowercase letters, numbers, or underscores";
},
});
newUsername = newUsername.toLowerCase().trim();
}
await changeUsername(username, newUsername);