@@ -9,17 +9,44 @@ export class ZoomError extends Error {
9
9
}
10
10
}
11
11
12
+ export class ZoomBadRequestError extends ZoomError {
13
+ constructor ( message = "Bad request" ) {
14
+ super ( message , 400 , { message } ) ;
15
+ this . name = "ZoomBadRequestError" ;
16
+ }
17
+ }
18
+
12
19
export class ZoomAuthenticationError extends ZoomError {
13
20
constructor ( message = "Authentication failed" ) {
14
21
super ( message , 401 , { message } ) ;
15
22
this . name = "ZoomAuthenticationError" ;
16
23
}
17
24
}
18
25
26
+ export class ZoomNotFoundError extends ZoomError {
27
+ constructor ( message = "Not Found" ) {
28
+ super ( message , 404 , { message } ) ;
29
+ this . name = "Not Found" ;
30
+ }
31
+ }
32
+
33
+ export class ZoomTooManyRequests extends ZoomError {
34
+ constructor ( message = "Too Many Requests" ) {
35
+ super ( message , 429 , { message } ) ;
36
+ this . name = "Too Many Requests" ;
37
+ }
38
+ }
39
+
19
40
export function createZoomError ( status : number , response : any ) : ZoomError {
20
41
switch ( status ) {
42
+ case 400 :
43
+ return new ZoomBadRequestError ( response ?. message ) ;
21
44
case 401 :
22
45
return new ZoomAuthenticationError ( response ?. message ) ;
46
+ case 404 :
47
+ return new ZoomNotFoundError ( response ?. message ) ;
48
+ case 429 :
49
+ return new ZoomTooManyRequests ( response ?. message ) ;
23
50
default :
24
51
return new ZoomError (
25
52
response ?. message || "Zoom API error" ,
0 commit comments