Skip to content

Commit d50fc6e

Browse files
committed
code cleanup as per review
1 parent cf9fd64 commit d50fc6e

File tree

2 files changed

+20
-29
lines changed

2 files changed

+20
-29
lines changed

src/shared/modules/connections/connectionsDuck.ts

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ export function getConnection(
121121
)
122122
}
123123

124+
export function getLastUseDb(state: GlobalState): string | null {
125+
return (state[NAME] || {}).lastUseDb
126+
}
127+
124128
export function getUseDb(state: GlobalState): string | null {
125129
return (state[NAME] || {}).useDb
126130
}
@@ -288,7 +292,7 @@ export default function(state = initialState, action: any) {
288292
case UPDATE_AUTH_ENABLED:
289293
return updateAuthEnabledHelper(state, action.authEnabled)
290294
case USE_DB:
291-
const useDb = getActionUseDb(action, state)
295+
const { useDb } = action
292296
let lastUseDb = useDb
293297
if (useDb === null) {
294298
lastUseDb = state.useDb || state.lastUseDb
@@ -365,30 +369,12 @@ export const useDb = (db: any = null) => ({ type: USE_DB, useDb: db })
365369

366370
export const resetUseDb = () => ({ type: USE_DB, useDb: null })
367371

368-
export const useDefaultDb = (db: any, databases: any) => ({
369-
type: USE_DB,
370-
useDb: db,
371-
databases
372-
})
373-
374-
const getActionUseDb = (action: any, state: any) => {
375-
const { databases } = action
376-
let { useDb } = action
377-
if (useDb && databases) {
378-
const { lastUseDb } = state
379-
if (lastUseDb && databases.some((db: any) => db.name === lastUseDb)) {
380-
useDb = lastUseDb
381-
}
382-
}
383-
return useDb
384-
}
385-
386372
// Epics
387-
export const useDbEpic = (action$: any, store: any) => {
373+
export const useDbEpic = (action$: any) => {
388374
return action$
389375
.ofType(USE_DB)
390376
.do((action: any) => {
391-
bolt.useDb(getActionUseDb(action, store.getState()[NAME]))
377+
bolt.useDb(action.useDb)
392378
})
393379
.map((action: any) => {
394380
if (!action.useDb) {

src/shared/modules/dbMeta/dbMetaDuck.ts

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ import {
3434
setAuthEnabled,
3535
onLostConnection,
3636
getUseDb,
37+
getLastUseDb,
3738
useDb,
38-
useDefaultDb,
3939
getActiveConnectionData,
4040
updateConnection
4141
} from 'shared/modules/connections/connectionsDuck'
@@ -50,7 +50,7 @@ import {
5050
getDbClusterRole
5151
} from '../features/versionedFeatures'
5252
import { extractServerInfo } from './dbMeta.utils'
53-
import { assign, reduce } from 'lodash-es'
53+
import { assign, last, reduce } from 'lodash-es'
5454
import {
5555
hasClientConfig,
5656
updateUserCapability,
@@ -453,10 +453,15 @@ const switchToRequestedDb = (store: any) => {
453453
const activeConnection = getActiveConnectionData(store.getState())
454454
const requestedUseDb = activeConnection?.requestedUseDb
455455

456-
const switchToDefaultDb = () => {
457-
const defaultDb = databases.find((db: any) => db.default)
458-
if (defaultDb) {
459-
store.dispatch(useDefaultDb(defaultDb.name, databases))
456+
const switchToLastUsedOrDefaultDb = () => {
457+
const lastUsedDb = getLastUseDb(store.getState())
458+
if (lastUsedDb && databases.some((db: any) => db.name === lastUsedDb)) {
459+
store.dispatch(useDb(lastUsedDb))
460+
} else {
461+
const defaultDb = databases.find((db: any) => db.default)
462+
if (defaultDb) {
463+
store.dispatch(useDb(defaultDb.name))
464+
}
460465
}
461466
}
462467

@@ -479,10 +484,10 @@ const switchToRequestedDb = (store: any) => {
479484
store.dispatch(executeCommand(`:use ${requestedUseDb}`), {
480485
source: commandSources.auto
481486
})
482-
switchToDefaultDb()
487+
switchToLastUsedOrDefaultDb()
483488
}
484489
} else {
485-
switchToDefaultDb()
490+
switchToLastUsedOrDefaultDb()
486491
}
487492
return Rx.Observable.of(null)
488493
}

0 commit comments

Comments
 (0)