@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 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
- axiosFunction += `
150
- const formData = new FormData()
151
- formData.append('upload', file)
152
- return axios.${method}(${formattedPath}, formData, {
153
- headers: { 'Content-Type': 'multipart/form-data' },
154
- onUploadProgress: options?.onUploadProgress${paramStr ? `,
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
- const multipartFormData = content["multipart/form-data"] || {};
180
- if (multipartFormData.schema?.$ref?.includes("Body_upload_files")) {
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: "file: File, options?: UploadOptions & { dirPath?: string, tags?: string[] }",
194
+ requestBodyParam: "formData: FormData",
183
195
  requestBodyPayload: "formData"
184
196
  };
185
197
  }
186
- const jsonContent = requestBody.content["application/json"];
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
- axiosFunction += `
144
- const formData = new FormData()
145
- formData.append('upload', file)
146
- return axios.${method}(${formattedPath}, formData, {
147
- headers: { 'Content-Type': 'multipart/form-data' },
148
- onUploadProgress: options?.onUploadProgress${paramStr ? `,
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
- const multipartFormData = content["multipart/form-data"] || {};
174
- if (multipartFormData.schema?.$ref?.includes("Body_upload_files")) {
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: "file: File, options?: UploadOptions & { dirPath?: string, tags?: string[] }",
188
+ requestBodyParam: "formData: FormData",
177
189
  requestBodyPayload: "formData"
178
190
  };
179
191
  }
180
- const jsonContent = requestBody.content["application/json"];
192
+ const jsonContent = content["application/json"];
181
193
  if (!jsonContent || !jsonContent.schema) {
182
194
  return { requestBodyParam: "", requestBodyPayload: "" };
183
195
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/sdk",
3
3
  "type": "module",
4
- "version": "1.1.23",
4
+ "version": "1.1.29",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -100,13 +100,22 @@ function generateAxiosFunction(
100
100
  ? `params: {${parameters.config.params}}`
101
101
  : ''
102
102
 
103
- axiosFunction += `
104
- const formData = new FormData()
105
- formData.append('upload', file)
106
- return axios.${method}(${formattedPath}, formData, {
107
- headers: { 'Content-Type': 'multipart/form-data' },
108
- onUploadProgress: options?.onUploadProgress${paramStr ? `,\n ${paramStr}` : ''}
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
- const multipartFormData = content['multipart/form-data'] || {}
145
- if (multipartFormData.schema?.$ref?.includes('Body_upload_files')) {
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 = requestBody.content['application/json']
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
- = toCamelCase(bodySchema.title)
164
- || toCamelCase(requestBodyType)
165
- || 'requestBody'
183
+ const requestBodyPayload = (
184
+ toCamelCase(bodySchema.title) || toCamelCase(requestBodyType) || 'requestBody'
185
+ )
166
186
 
167
187
  const requestBodyParam = formatVarType({
168
188
  varName: requestBodyPayload,