diff --git a/api/src/store/modules/config.ts b/api/src/store/modules/config.ts index 81187f25a..13261afca 100644 --- a/api/src/store/modules/config.ts +++ b/api/src/store/modules/config.ts @@ -214,7 +214,7 @@ export const config = createSlice({ if (state.remote.ssoSubIds.includes(action.payload)) { return; } - const stateAsArray = state.remote.ssoSubIds.split(','); + const stateAsArray = state.remote.ssoSubIds.split(',').filter((id) => id !== ''); stateAsArray.push(action.payload); state.remote.ssoSubIds = stateAsArray.join(','); }, diff --git a/api/src/unraid-api/cli/sso/remove-sso-user.command.ts b/api/src/unraid-api/cli/sso/remove-sso-user.command.ts index 3c249f934..669c1e58b 100644 --- a/api/src/unraid-api/cli/sso/remove-sso-user.command.ts +++ b/api/src/unraid-api/cli/sso/remove-sso-user.command.ts @@ -4,6 +4,7 @@ import { CommandRunner, InquirerService, Option, OptionChoiceFor, SubCommand } f import { store } from '@app/store/index'; import { loadConfigFile, removeSsoUser } from '@app/store/modules/config'; +import { writeConfigSync } from '@app/store/sync/config-disk-sync'; import { LogService } from '@app/unraid-api/cli/log.service'; import { RemoveSSOUserQuestionSet } from '@app/unraid-api/cli/sso/remove-sso-user.questions'; @@ -26,9 +27,13 @@ export class RemoveSSOUserCommand extends CommandRunner { } public async run(_input: string[], options: RemoveSSOUserCommandOptions): Promise { await store.dispatch(loadConfigFile()); - console.log('options', options); options = await this.inquirerService.prompt(RemoveSSOUserQuestionSet.name, options); store.dispatch(removeSsoUser(options.username === 'all' ? null : options.username)); - this.logger.info('User/s removed ' + options.username); + if (options.username === 'all') { + this.logger.info('All users removed from SSO'); + } else { + this.logger.info('User removed: ' + options.username); + } + writeConfigSync('flash'); } } diff --git a/api/src/unraid-api/cli/sso/remove-sso-user.questions.ts b/api/src/unraid-api/cli/sso/remove-sso-user.questions.ts index 2d1c91a64..cea993d18 100644 --- a/api/src/unraid-api/cli/sso/remove-sso-user.questions.ts +++ b/api/src/unraid-api/cli/sso/remove-sso-user.questions.ts @@ -1,11 +1,11 @@ import { ChoicesFor, Question, QuestionSet, } from 'nest-commander'; import { store } from '@app/store/index'; -import { loadConfigFile } from '@app/store/modules/config'; - +import { LogService } from '@app/unraid-api/cli/log.service'; @QuestionSet({ name: 'remove-user' }) export class RemoveSSOUserQuestionSet { + constructor(private readonly logger: LogService) {} static name = 'remove-user'; @Question({ @@ -19,9 +19,11 @@ export class RemoveSSOUserQuestionSet { @ChoicesFor({ name: 'username' }) async choicesForUsername() { - await store.dispatch(loadConfigFile()); const users = store.getState().config.remote.ssoSubIds.split(',').filter((user) => user !== ''); - + if (users.length === 0) { + this.logger.error('No SSO Users Found'); + process.exit(0); + } users.push('all'); return users; }