docs-util: add type argument of MedusaRequest as query parameter for get requests (#7359)
This commit is contained in:
@@ -251,6 +251,7 @@ class OasKindGenerator extends FunctionKindGenerator {
|
|||||||
const { queryParameters, requestSchema } = this.getRequestParameters({
|
const { queryParameters, requestSchema } = this.getRequestParameters({
|
||||||
node,
|
node,
|
||||||
tagName,
|
tagName,
|
||||||
|
methodName,
|
||||||
})
|
})
|
||||||
|
|
||||||
oas.parameters?.push(...queryParameters)
|
oas.parameters?.push(...queryParameters)
|
||||||
@@ -442,6 +443,7 @@ class OasKindGenerator extends FunctionKindGenerator {
|
|||||||
const { queryParameters, requestSchema } = this.getRequestParameters({
|
const { queryParameters, requestSchema } = this.getRequestParameters({
|
||||||
node,
|
node,
|
||||||
tagName,
|
tagName,
|
||||||
|
methodName,
|
||||||
})
|
})
|
||||||
|
|
||||||
// update query parameters
|
// update query parameters
|
||||||
@@ -1034,11 +1036,16 @@ class OasKindGenerator extends FunctionKindGenerator {
|
|||||||
getRequestParameters({
|
getRequestParameters({
|
||||||
node,
|
node,
|
||||||
tagName,
|
tagName,
|
||||||
|
methodName,
|
||||||
}: {
|
}: {
|
||||||
/**
|
/**
|
||||||
* The node to retrieve its request parameters.
|
* The node to retrieve its request parameters.
|
||||||
*/
|
*/
|
||||||
node: FunctionNode
|
node: FunctionNode
|
||||||
|
/**
|
||||||
|
* The HTTP method name of the function.
|
||||||
|
*/
|
||||||
|
methodName: string
|
||||||
/**
|
/**
|
||||||
* The tag's name.
|
* The tag's name.
|
||||||
*/
|
*/
|
||||||
@@ -1100,13 +1107,39 @@ class OasKindGenerator extends FunctionKindGenerator {
|
|||||||
typeReferenceNode: node.parameters[0].type,
|
typeReferenceNode: node.parameters[0].type,
|
||||||
itemType: requestTypeArguments[0],
|
itemType: requestTypeArguments[0],
|
||||||
})
|
})
|
||||||
requestSchema = this.typeToSchema({
|
const parameterSchema = this.typeToSchema({
|
||||||
itemType: requestTypeArguments[0],
|
itemType: requestTypeArguments[0],
|
||||||
descriptionOptions: {
|
descriptionOptions: {
|
||||||
parentName: tagName,
|
parentName: tagName,
|
||||||
},
|
},
|
||||||
zodObjectTypeName: zodObjectTypeName,
|
zodObjectTypeName: zodObjectTypeName,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// If function is a GET function, add the type parameter to the
|
||||||
|
// query parameters instead of request parameters.
|
||||||
|
if (methodName === "get") {
|
||||||
|
if (parameterSchema.type === "object" && parameterSchema.properties) {
|
||||||
|
Object.entries(parameterSchema.properties).forEach(
|
||||||
|
([key, propertySchema]) => {
|
||||||
|
if ("$ref" in propertySchema) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
parameters.push(
|
||||||
|
this.getParameterObject({
|
||||||
|
name: key,
|
||||||
|
type: "query",
|
||||||
|
description: propertySchema.description,
|
||||||
|
required: parameterSchema.required?.includes(key) || false,
|
||||||
|
schema: propertySchema,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
requestSchema = parameterSchema
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1773,7 +1806,7 @@ class OasKindGenerator extends FunctionKindGenerator {
|
|||||||
|
|
||||||
if (!oldSchemaObj && newSchemaObj) {
|
if (!oldSchemaObj && newSchemaObj) {
|
||||||
return newSchemaObj
|
return newSchemaObj
|
||||||
} else if (oldSchemaObj && !newSchemaObj) {
|
} else if (!newSchemaObj) {
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1887,7 +1920,7 @@ class OasKindGenerator extends FunctionKindGenerator {
|
|||||||
// load base oas files
|
// load base oas files
|
||||||
const areaYamlPath = join(
|
const areaYamlPath = join(
|
||||||
this.baseOutputPath,
|
this.baseOutputPath,
|
||||||
"base-v2",
|
"base",
|
||||||
`${area}.oas.base.yaml`
|
`${area}.oas.base.yaml`
|
||||||
)
|
)
|
||||||
const areaYaml = parse(
|
const areaYaml = parse(
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ export default async function () {
|
|||||||
console.log("Clean tags...")
|
console.log("Clean tags...")
|
||||||
|
|
||||||
// check if any tags should be removed
|
// check if any tags should be removed
|
||||||
const oasBasePath = path.join(oasOutputBasePath, "base-v2")
|
const oasBasePath = path.join(oasOutputBasePath, "base")
|
||||||
readdirSync(oasBasePath, {
|
readdirSync(oasBasePath, {
|
||||||
recursive: true,
|
recursive: true,
|
||||||
encoding: "utf-8",
|
encoding: "utf-8",
|
||||||
|
|||||||
Reference in New Issue
Block a user