diff --git a/src/commands/clearCache.command.ts b/src/commands/clearCache.command.ts new file mode 100644 index 00000000..103becb8 --- /dev/null +++ b/src/commands/clearCache.command.ts @@ -0,0 +1,22 @@ +import * as program from 'commander'; + +import { I18nService } from 'jslib/abstractions/i18n.service'; + +import { ConfigurationService } from '../services/configuration.service'; + +import { Response } from 'jslib/cli/models/response'; +import { MessageResponse } from 'jslib/cli/models/response/messageResponse'; + +export class ClearCacheCommand { + constructor(private configurationService: ConfigurationService, private i18nService: I18nService) { } + + async run(cmd: program.Command): Promise { + try { + await this.configurationService.clearStatefulSettings(true); + const res = new MessageResponse(this.i18nService.t('syncCacheCleared'), null); + return Response.success(res); + } catch (e) { + return Response.error(e); + } + } +} diff --git a/src/program.ts b/src/program.ts index 15c31088..ff03717e 100644 --- a/src/program.ts +++ b/src/program.ts @@ -3,6 +3,7 @@ import * as program from 'commander'; import { Main } from './bwdc'; +import { ClearCacheCommand } from './commands/clearCache.command'; import { ConfigCommand } from './commands/config.command'; import { SyncCommand } from './commands/sync.command'; import { TestCommand } from './commands/test.command'; @@ -144,7 +145,7 @@ export class Program extends BaseProgram { program .command('config ') - .description('Configure CLI settings.') + .description('Configure settings.') .on('--help', () => { writeLn('\n Settings:'); writeLn(''); @@ -162,6 +163,21 @@ export class Program extends BaseProgram { this.processResponse(response); }); + program + .command('clear-cache') + .description('Clear the sync cache.') + .on('--help', () => { + writeLn('\n Examples:'); + writeLn(''); + writeLn(' bwdc clear-cache'); + writeLn('', true); + }) + .action(async (cmd) => { + const command = new ClearCacheCommand(this.main.configurationService, this.main.i18nService); + const response = await command.run(cmd); + this.processResponse(response); + }); + program .command('update') .description('Check for updates.')