diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index 6bf527d82..2df889ed8 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -494,7 +494,6 @@ export async function createRemoteEngineConfiguration(id: string) { export async function executeDockerCmd({ dockerId, command }: { dockerId: string, command: string }) { let { remoteEngine, remoteIpAddress, remoteUser, engine } = await prisma.destinationDocker.findUnique({ where: { id: dockerId } }) if (remoteEngine) engine = `ssh://${remoteUser}@${remoteIpAddress}` - const host = getEngine(engine) if (engine.startsWith('ssh://')) { await createRemoteEngineConfiguration(dockerId) @@ -953,36 +952,44 @@ export async function updatePasswordInDb(database, user, newPassword, isRoot) { dbUserPassword, defaultDatabase, destinationDockerId, - destinationDocker: { engine } + destinationDocker: { id: dockerId } } = database; if (destinationDockerId) { - const host = getEngine(engine); if (type === 'mysql') { - await asyncExecShell( - `DOCKER_HOST=${host} docker exec ${id} mysql -u ${rootUser} -p${rootUserPassword} -e \"ALTER USER '${user}'@'%' IDENTIFIED WITH caching_sha2_password BY '${newPassword}';\"` - ); + await executeDockerCmd({ + dockerId, + command: `docker exec ${id} mysql -u ${rootUser} -p${rootUserPassword} -e \"ALTER USER '${user}'@'%' IDENTIFIED WITH caching_sha2_password BY '${newPassword}';\"` + }) } else if (type === 'mariadb') { - await asyncExecShell( - `DOCKER_HOST=${host} docker exec ${id} mysql -u ${rootUser} -p${rootUserPassword} -e \"SET PASSWORD FOR '${user}'@'%' = PASSWORD('${newPassword}');\"` - ); + await executeDockerCmd({ + dockerId, + command: `docker exec ${id} mysql -u ${rootUser} -p${rootUserPassword} -e \"SET PASSWORD FOR '${user}'@'%' = PASSWORD('${newPassword}');\"` + }) + } else if (type === 'postgresql') { if (isRoot) { - await asyncExecShell( - `DOCKER_HOST=${host} docker exec ${id} psql postgresql://postgres:${rootUserPassword}@${id}:5432/${defaultDatabase} -c "ALTER role postgres WITH PASSWORD '${newPassword}'"` - ); + await executeDockerCmd({ + dockerId, + command: `docker exec ${id} psql postgresql://postgres:${rootUserPassword}@${id}:5432/${defaultDatabase} -c "ALTER role postgres WITH PASSWORD '${newPassword}'"` + }) } else { - await asyncExecShell( - `DOCKER_HOST=${host} docker exec ${id} psql postgresql://${dbUser}:${dbUserPassword}@${id}:5432/${defaultDatabase} -c "ALTER role ${user} WITH PASSWORD '${newPassword}'"` - ); + await executeDockerCmd({ + dockerId, + command: `docker exec ${id} psql postgresql://${dbUser}:${dbUserPassword}@${id}:5432/${defaultDatabase} -c "ALTER role ${user} WITH PASSWORD '${newPassword}'"` + }) } } else if (type === 'mongodb') { - await asyncExecShell( - `DOCKER_HOST=${host} docker exec ${id} mongo 'mongodb://${rootUser}:${rootUserPassword}@${id}:27017/admin?readPreference=primary&ssl=false' --eval "db.changeUserPassword('${user}','${newPassword}')"` - ); + await executeDockerCmd({ + dockerId, + command: `docker exec ${id} mongo 'mongodb://${rootUser}:${rootUserPassword}@${id}:27017/admin?readPreference=primary&ssl=false' --eval "db.changeUserPassword('${user}','${newPassword}')"` + }) + } else if (type === 'redis') { - await asyncExecShell( - `DOCKER_HOST=${host} docker exec ${id} redis-cli -u redis://${dbUserPassword}@${id}:6379 --raw CONFIG SET requirepass ${newPassword}` - ); + await executeDockerCmd({ + dockerId, + command: `docker exec ${id} redis-cli -u redis://${dbUserPassword}@${id}:6379 --raw CONFIG SET requirepass ${newPassword}` + }) + } } } diff --git a/apps/ui/src/routes/databases/[id]/_Databases/_Databases.svelte b/apps/ui/src/routes/databases/[id]/_Databases/_Databases.svelte index bc259cbd6..a99a4b79e 100644 --- a/apps/ui/src/routes/databases/[id]/_Databases/_Databases.svelte +++ b/apps/ui/src/routes/databases/[id]/_Databases/_Databases.svelte @@ -46,7 +46,7 @@ databaseDbUser = ''; } } - + // TODO: Must integrate remote docker engine function generateUrl(): string { return `${database.type}://${ databaseDbUser ? databaseDbUser + ':' : ''