-
Notifications
You must be signed in to change notification settings - Fork 2
/
error.ts
71 lines (61 loc) · 1.89 KB
/
error.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/** Scrapbox REST APIが返すエラーの型
*
* `name`はないことがある
*/
export interface ErrorLike {
/** error name */ name: string;
/** error message */ message: string;
}
/** 参加していないprivate projectに対してAPIを叩いたときに発生するエラー */
export interface NotMemberError extends ErrorLike {
name: "NotMemberError";
}
/** 指定したprojectやpageが見つからないときに発生するエラー */
export interface NotFoundError extends ErrorLike {
name: "NotFoundError";
}
/** owner/admin権限が不足しているときに発生するエラー */
export interface NotPrivilegeError extends ErrorLike {
name: "NotPrivilegeError";
}
/** Loginが必要なAPIをloginせずに叩いたときに発生するエラー */
export interface NotLoggedInError extends ErrorLike {
name: "NotLoggedInError";
/** 詳細情報 */
details: {
/** 取得しようとしたprojectの名前 */
project: string;
/** 使用できるログイン方法 */
loginStrategies: (
| "google"
| "github"
| "microsoft"
| "gyazo"
| "email"
| "saml"
| "easy-trial"
)[];
};
}
/** CSRF tokenが不正なときに発生するエラー */
export interface SessionError extends ErrorLike {
name: "SessionError";
}
/** 不正なURLを渡したときに返ってくるエラー
*
* 実際のresponseではmessageしか返ってこないことに注意
*/
export interface InvalidURLError extends ErrorLike {
name: "InvalidURLError";
}
/** URL先ページから正常な応答が返ってこなかったときのエラー */
export interface BadRequestError extends ErrorLike {
name: "BadRequestError";
}
/** 検索文字列を渡さないと出てくるエラー
*
* 実際のresponseではmessageしか返ってこないことに注意
*/
export interface NoQueryError extends ErrorLike {
name: "NoQueryError";
}