diff --git a/src/domain/GitHubSearch/GitHubSearchStream/GitHubSearchResultItem.ts b/src/domain/GitHubSearch/GitHubSearchStream/GitHubSearchResultItem.ts index b28cf26..ae00986 100644 --- a/src/domain/GitHubSearch/GitHubSearchStream/GitHubSearchResultItem.ts +++ b/src/domain/GitHubSearch/GitHubSearchStream/GitHubSearchResultItem.ts @@ -233,9 +233,9 @@ export class GitHubSearchResultItem implements Item { // owner/repo get shortPath() { - // TODO: support GHE // https://github.com/zeke/github-url-to-object#github-enterprise - const object = ghUrlToObject(this.htmlUrl); + const isEnterprise = !this.htmlUrl.startsWith("https://github.com/"); + const object = ghUrlToObject(this.htmlUrl, { enterprise: isEnterprise }); return `${object.user}/${object.repo}`; } diff --git a/src/use-case/GitHubSetting/CheckGrantGitHubAPIUseCase.ts b/src/use-case/GitHubSetting/CheckGrantGitHubAPIUseCase.ts index 46b830d..81a5d43 100644 --- a/src/use-case/GitHubSetting/CheckGrantGitHubAPIUseCase.ts +++ b/src/use-case/GitHubSetting/CheckGrantGitHubAPIUseCase.ts @@ -9,6 +9,8 @@ export class CheckGrantGitHubAPIUseCase extends UseCase { const gitHub = new GitHubClient(setting); // TODO: check `scopes` // https://github.com/philschatz/octokat.js/issues/183 - return gitHub.rateLimits(); + // Use user api insteadof ratelimit api + // RateLimit API disable by some GHE. It return 404. + return gitHub.user(); } } diff --git a/src/use-case/GitHubSetting/SaveGitHubSettingUseCase.ts b/src/use-case/GitHubSetting/SaveGitHubSettingUseCase.ts index 08f53b8..df79dc2 100644 --- a/src/use-case/GitHubSetting/SaveGitHubSettingUseCase.ts +++ b/src/use-case/GitHubSetting/SaveGitHubSettingUseCase.ts @@ -24,7 +24,7 @@ export class SaveGitHubSettingUseCase extends UseCase { const setting = GitHubSetting.fromJSON(settingJSON); const gitHub = new GitHubClient(setting); try { - await gitHub.rateLimits(); + await gitHub.user(); } catch (error) { throw new Error( "Can't access GitHub API by the setting:" + JSON.stringify(settingJSON)