@bagelink/sdk 1.1.23 → 1.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +24 -12
- package/dist/index.mjs +24 -12
- package/package.json +1 -1
- package/src/openAPITools/functionGenerator.ts +36 -16
package/dist/index.cjs
CHANGED
|
@@ -146,14 +146,20 @@ function generateAxiosFunction(method, formattedPath, allParams, responseTypeStr
|
|
|
146
146
|
let axiosFunction = `async (${allParams})${responseTypeStr} => {`;
|
|
147
147
|
if (requestBodyPayload === "formData") {
|
|
148
148
|
const paramStr = parameters?.config?.params ? `params: {${parameters.config.params}}` : "";
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
${paramStr}` : ""}
|
|
156
|
-
|
|
149
|
+
if (allParams.includes("file: File")) {
|
|
150
|
+
axiosFunction += `
|
|
151
|
+
const formData = new FormData()
|
|
152
|
+
formData.append('upload', file)
|
|
153
|
+
return axios.${method}(${formattedPath}, formData, {
|
|
154
|
+
headers: { 'Content-Type': 'multipart/form-data' },
|
|
155
|
+
onUploadProgress: options?.onUploadProgress${paramStr ? `, ${paramStr}` : ""}
|
|
156
|
+
})`;
|
|
157
|
+
} else {
|
|
158
|
+
axiosFunction += `
|
|
159
|
+
return axios.${method}(${formattedPath}, formData, {
|
|
160
|
+
headers: { 'Content-Type': 'multipart/form-data' }${paramStr ? `, ${paramStr}` : ""}
|
|
161
|
+
})`;
|
|
162
|
+
}
|
|
157
163
|
} else {
|
|
158
164
|
const paramStr = parameters?.config?.params ? `, { params: {${parameters.config.params}} }` : "";
|
|
159
165
|
const bodyVar = requestBodyPayload ? `${requestBodyPayload}` : "{}";
|
|
@@ -176,14 +182,20 @@ function generateRequestBody(requestBody) {
|
|
|
176
182
|
if (!requestBody?.content)
|
|
177
183
|
return { requestBodyParam: "", requestBodyPayload: "" };
|
|
178
184
|
const { content } = requestBody;
|
|
179
|
-
|
|
180
|
-
|
|
185
|
+
if (content["multipart/form-data"]) {
|
|
186
|
+
const multipartFormData = content["multipart/form-data"];
|
|
187
|
+
if (multipartFormData.schema?.$ref?.includes("Body_upload_files")) {
|
|
188
|
+
return {
|
|
189
|
+
requestBodyParam: "file: File, options?: UploadOptions & { dirPath?: string, tags?: string[] }",
|
|
190
|
+
requestBodyPayload: "formData"
|
|
191
|
+
};
|
|
192
|
+
}
|
|
181
193
|
return {
|
|
182
|
-
requestBodyParam: "
|
|
194
|
+
requestBodyParam: "formData: FormData",
|
|
183
195
|
requestBodyPayload: "formData"
|
|
184
196
|
};
|
|
185
197
|
}
|
|
186
|
-
const jsonContent =
|
|
198
|
+
const jsonContent = content["application/json"];
|
|
187
199
|
if (!jsonContent || !jsonContent.schema) {
|
|
188
200
|
return { requestBodyParam: "", requestBodyPayload: "" };
|
|
189
201
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -140,14 +140,20 @@ function generateAxiosFunction(method, formattedPath, allParams, responseTypeStr
|
|
|
140
140
|
let axiosFunction = `async (${allParams})${responseTypeStr} => {`;
|
|
141
141
|
if (requestBodyPayload === "formData") {
|
|
142
142
|
const paramStr = parameters?.config?.params ? `params: {${parameters.config.params}}` : "";
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
${paramStr}` : ""}
|
|
150
|
-
|
|
143
|
+
if (allParams.includes("file: File")) {
|
|
144
|
+
axiosFunction += `
|
|
145
|
+
const formData = new FormData()
|
|
146
|
+
formData.append('upload', file)
|
|
147
|
+
return axios.${method}(${formattedPath}, formData, {
|
|
148
|
+
headers: { 'Content-Type': 'multipart/form-data' },
|
|
149
|
+
onUploadProgress: options?.onUploadProgress${paramStr ? `, ${paramStr}` : ""}
|
|
150
|
+
})`;
|
|
151
|
+
} else {
|
|
152
|
+
axiosFunction += `
|
|
153
|
+
return axios.${method}(${formattedPath}, formData, {
|
|
154
|
+
headers: { 'Content-Type': 'multipart/form-data' }${paramStr ? `, ${paramStr}` : ""}
|
|
155
|
+
})`;
|
|
156
|
+
}
|
|
151
157
|
} else {
|
|
152
158
|
const paramStr = parameters?.config?.params ? `, { params: {${parameters.config.params}} }` : "";
|
|
153
159
|
const bodyVar = requestBodyPayload ? `${requestBodyPayload}` : "{}";
|
|
@@ -170,14 +176,20 @@ function generateRequestBody(requestBody) {
|
|
|
170
176
|
if (!requestBody?.content)
|
|
171
177
|
return { requestBodyParam: "", requestBodyPayload: "" };
|
|
172
178
|
const { content } = requestBody;
|
|
173
|
-
|
|
174
|
-
|
|
179
|
+
if (content["multipart/form-data"]) {
|
|
180
|
+
const multipartFormData = content["multipart/form-data"];
|
|
181
|
+
if (multipartFormData.schema?.$ref?.includes("Body_upload_files")) {
|
|
182
|
+
return {
|
|
183
|
+
requestBodyParam: "file: File, options?: UploadOptions & { dirPath?: string, tags?: string[] }",
|
|
184
|
+
requestBodyPayload: "formData"
|
|
185
|
+
};
|
|
186
|
+
}
|
|
175
187
|
return {
|
|
176
|
-
requestBodyParam: "
|
|
188
|
+
requestBodyParam: "formData: FormData",
|
|
177
189
|
requestBodyPayload: "formData"
|
|
178
190
|
};
|
|
179
191
|
}
|
|
180
|
-
const jsonContent =
|
|
192
|
+
const jsonContent = content["application/json"];
|
|
181
193
|
if (!jsonContent || !jsonContent.schema) {
|
|
182
194
|
return { requestBodyParam: "", requestBodyPayload: "" };
|
|
183
195
|
}
|
package/package.json
CHANGED
|
@@ -100,13 +100,22 @@ function generateAxiosFunction(
|
|
|
100
100
|
? `params: {${parameters.config.params}}`
|
|
101
101
|
: ''
|
|
102
102
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
103
|
+
// Check if this is a file upload (with specific file parameter) or general form data
|
|
104
|
+
if (allParams.includes('file: File')) {
|
|
105
|
+
axiosFunction += `
|
|
106
|
+
const formData = new FormData()
|
|
107
|
+
formData.append('upload', file)
|
|
108
|
+
return axios.${method}(${formattedPath}, formData, {
|
|
109
|
+
headers: { 'Content-Type': 'multipart/form-data' },
|
|
110
|
+
onUploadProgress: options?.onUploadProgress${paramStr ? `, ${paramStr}` : ''}
|
|
111
|
+
})`
|
|
112
|
+
} else {
|
|
113
|
+
// Generic FormData handling
|
|
114
|
+
axiosFunction += `
|
|
115
|
+
return axios.${method}(${formattedPath}, formData, {
|
|
116
|
+
headers: { 'Content-Type': 'multipart/form-data' }${paramStr ? `, ${paramStr}` : ''}
|
|
117
|
+
})`
|
|
118
|
+
}
|
|
110
119
|
} else {
|
|
111
120
|
const paramStr = parameters?.config?.params
|
|
112
121
|
? `, { params: {${parameters.config.params}} }`
|
|
@@ -141,17 +150,29 @@ function generateRequestBody(requestBody?: RequestBodyObject): {
|
|
|
141
150
|
return { requestBodyParam: '', requestBodyPayload: '' }
|
|
142
151
|
|
|
143
152
|
const { content } = requestBody
|
|
144
|
-
|
|
145
|
-
if
|
|
153
|
+
|
|
154
|
+
// Check if this is a multipart/form-data request
|
|
155
|
+
if (content['multipart/form-data']) {
|
|
156
|
+
const multipartFormData = content['multipart/form-data']
|
|
157
|
+
|
|
158
|
+
// Special case for file uploads
|
|
159
|
+
if (multipartFormData.schema?.$ref?.includes('Body_upload_files')) {
|
|
160
|
+
return {
|
|
161
|
+
requestBodyParam:
|
|
162
|
+
'file: File, options?: UploadOptions & { dirPath?: string, tags?: string[] }',
|
|
163
|
+
requestBodyPayload: 'formData',
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Generic form data handling
|
|
146
168
|
return {
|
|
147
|
-
requestBodyParam:
|
|
148
|
-
'file: File, options?: UploadOptions & { dirPath?: string, tags?: string[] }',
|
|
169
|
+
requestBodyParam: 'formData: FormData',
|
|
149
170
|
requestBodyPayload: 'formData',
|
|
150
171
|
}
|
|
151
172
|
}
|
|
152
173
|
|
|
153
174
|
// Handle regular JSON requests
|
|
154
|
-
const jsonContent =
|
|
175
|
+
const jsonContent = content['application/json']
|
|
155
176
|
if (!jsonContent || !jsonContent.schema) {
|
|
156
177
|
return { requestBodyParam: '', requestBodyPayload: '' }
|
|
157
178
|
}
|
|
@@ -159,10 +180,9 @@ function generateRequestBody(requestBody?: RequestBodyObject): {
|
|
|
159
180
|
const bodySchema = jsonContent.schema
|
|
160
181
|
const requestBodyType = schemaToType(bodySchema)
|
|
161
182
|
collectTypeForImportStatement(requestBodyType)
|
|
162
|
-
const requestBodyPayload
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|| 'requestBody'
|
|
183
|
+
const requestBodyPayload = (
|
|
184
|
+
toCamelCase(bodySchema.title) || toCamelCase(requestBodyType) || 'requestBody'
|
|
185
|
+
)
|
|
166
186
|
|
|
167
187
|
const requestBodyParam = formatVarType({
|
|
168
188
|
varName: requestBodyPayload,
|