@@ -68,7 +68,7 @@ export async function createProjectOrFolder(
68
68
} ,
69
69
) ;
70
70
71
- if ( ! res . data . data . success ) {
71
+ if ( ! res . data . success ) {
72
72
throw new Error (
73
73
`Failed to create project: ${ JSON . stringify ( res . data ) } ` ,
74
74
) ;
@@ -77,19 +77,29 @@ export async function createProjectOrFolder(
77
77
78
78
projId = res . data . project . identifier ;
79
79
} catch ( err ) {
80
- const msg =
81
- err instanceof AxiosError && err . response ?. data ?. message
82
- ? err . response . data . message
83
- : err instanceof Error
84
- ? err . message
85
- : "Unknown error" ;
80
+ let message = "Unknown error" ;
81
+ let text = "Failed to create project." ;
82
+
83
+ if ( err instanceof AxiosError && err . response ?. data ) {
84
+ const { error } = err . response . data ;
85
+ const status = err . response . status ;
86
+
87
+ message = error || "Unknown error" ;
88
+
89
+ if ( status >= 400 && status < 500 && error ) {
90
+ // Only for 4xx errors, show API's error text
91
+ text = error ;
92
+ }
93
+ } else if ( err instanceof Error ) {
94
+ message = err . message ;
95
+ }
96
+
86
97
return {
87
- content : [ { type : "text" , text : `Failed to create project: ${ msg } ` } ] ,
98
+ content : [ { type : "text" , text, message } ] ,
88
99
isError : true ,
89
100
} ;
90
101
}
91
102
}
92
-
93
103
// Step 2: Create folder if folder_name provided
94
104
if ( folder_name ) {
95
105
if ( ! projId )
@@ -115,7 +125,7 @@ export async function createProjectOrFolder(
115
125
} ,
116
126
) ;
117
127
118
- if ( ! res . data . data . success ) {
128
+ if ( ! res . data . success ) {
119
129
throw new Error ( `Failed to create folder: ${ JSON . stringify ( res . data ) } ` ) ;
120
130
}
121
131
// Folder created successfully
@@ -130,14 +140,24 @@ export async function createProjectOrFolder(
130
140
] ,
131
141
} ;
132
142
} catch ( err ) {
133
- const msg =
134
- err instanceof AxiosError && err . response ?. data ?. message
135
- ? err . response . data . message
136
- : err instanceof Error
137
- ? err . message
138
- : "Unknown error" ;
143
+ let message = "Unknown error" ;
144
+ let text = "Failed to create folder." ;
145
+
146
+ if ( err instanceof AxiosError && err . response ?. data ) {
147
+ const { message : apiMessage } = err . response . data ;
148
+ const status = err . response . status ;
149
+
150
+ message = apiMessage || "Unknown error" ;
151
+
152
+ if ( status >= 400 && status < 500 && apiMessage ) {
153
+ text = apiMessage ;
154
+ }
155
+ } else if ( err instanceof Error ) {
156
+ message = err . message ;
157
+ }
158
+
139
159
return {
140
- content : [ { type : "text" , text : `Failed to create folder: ${ msg } ` } ] ,
160
+ content : [ { type : "text" , text, message } ] ,
141
161
isError : true ,
142
162
} ;
143
163
}
0 commit comments