feat: handle revert error

This commit is contained in:
tiddlygit-test 2021-04-29 23:18:03 +08:00
parent 76b0cc2f6b
commit df1c19ad1f
4 changed files with 24 additions and 8 deletions

View file

@ -7,3 +7,11 @@ export class InitWikiGitError extends Error {
this.message = `${i18n.t('Error.InitWikiGitErrorDescription')} ${extraMessage ?? ''}`;
}
}
export class InitWikiGitRevertError extends Error {
constructor(extraMessage?: string) {
super(extraMessage);
this.name = i18n.t('Error.InitWikiGitRevertError');
this.message = `${i18n.t('Error.InitWikiGitRevertErrorDescription')} ${extraMessage ?? ''}`;
}
}

View file

@ -16,7 +16,7 @@ import { logger } from '@services/libs/log';
import i18n from '@services/libs/i18n';
import { IWikiGitWorkspaceService } from './interface';
import { IMenuService } from '@services/menu/interface';
import { InitWikiGitError } from './error';
import { InitWikiGitError, InitWikiGitRevertError } from './error';
@injectable()
export class WikiGitWorkspace implements IWikiGitWorkspaceService {
@ -50,10 +50,14 @@ export class WikiGitWorkspace implements IWikiGitWorkspaceService {
}
} catch (error) {
logger.info(error);
if (isMainWiki) {
await this.wikiService.removeWiki(wikiFolderPath);
} else {
await this.wikiService.removeWiki(wikiFolderPath, isSyncedWiki ? mainWikiToUnLink : githubRepoUrlOrMainWikiToUnLinkOverload);
try {
if (isMainWiki) {
await this.wikiService.removeWiki(wikiFolderPath);
} else {
await this.wikiService.removeWiki(wikiFolderPath, isSyncedWiki ? mainWikiToUnLink : githubRepoUrlOrMainWikiToUnLinkOverload);
}
} catch (error_) {
throw new InitWikiGitRevertError((error_ as Error).message);
}
throw new InitWikiGitError((error as Error).message);
}