Skip to content

Commit b96c1dc

Browse files
committed
feat: Use more strict error handling in GitHub service
1 parent dad7150 commit b96c1dc

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/services/github/index.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { Code, PluginError } from "@/errors";
12
import { Octokit } from "@octokit/core";
23
import { retry } from "@octokit/plugin-retry";
34
import { type Result, ResultAsync } from "neverthrow";
4-
import { GithubRepositoriesServiceError } from "./errors";
55
import starredRepositoriesQuery from "./queries/starredRepositories.gql";
66
import totalStarredRepositoriesCountQuery from "./queries/totalStarredRepositoriesCount.gql";
77
import type { GitHubGraphQl } from "./types";
@@ -16,7 +16,7 @@ export interface StarredRepositoriesQueryResult {
1616
export type StarredRepositoriesGenerator = AsyncGenerator<
1717
Result<
1818
GitHubGraphQl.StarredRepositoryEdge[],
19-
GithubRepositoriesServiceError
19+
PluginError<Code.GithubService>
2020
>,
2121
void,
2222
unknown
@@ -30,7 +30,7 @@ export interface IGithubRepositoriesService {
3030

3131
getTotalStarredRepositoriesCount(): ResultAsync<
3232
number,
33-
GithubRepositoriesServiceError
33+
PluginError<Code.GithubService>
3434
>;
3535
}
3636

@@ -52,7 +52,7 @@ export class GithubRepositoriesService implements IGithubRepositoriesService {
5252
pageSize: number,
5353
): ResultAsync<
5454
StarredRepositoriesQueryResult,
55-
GithubRepositoriesServiceError
55+
PluginError<Code.GithubService>
5656
> {
5757
const makeRequest = ResultAsync.fromPromise(
5858
this.client.graphql<GitHubGraphQl.StarredRepositoriesResponse>(
@@ -62,7 +62,7 @@ export class GithubRepositoriesService implements IGithubRepositoriesService {
6262
pageSize,
6363
},
6464
),
65-
() => GithubRepositoriesServiceError.RequestFailed,
65+
() => new PluginError(Code.GithubService.RequestFailed),
6666
);
6767

6868
return makeRequest.map((response) => {
@@ -100,13 +100,13 @@ export class GithubRepositoriesService implements IGithubRepositoriesService {
100100

101101
public getTotalStarredRepositoriesCount(): ResultAsync<
102102
number,
103-
GithubRepositoriesServiceError
103+
PluginError<Code.GithubService>
104104
> {
105105
return ResultAsync.fromPromise(
106106
this.client.graphql<GitHubGraphQl.StarredRepositoriesResponse>(
107107
totalStarredRepositoriesCountQuery,
108108
),
109-
() => GithubRepositoriesServiceError.RequestFailed,
109+
() => new PluginError(Code.GithubService.RequestFailed),
110110
).map((response) => response.viewer.starredRepositories.totalCount);
111111
}
112112
}

0 commit comments

Comments
 (0)