Lifei/create save recipe to file (#4895)

This commit is contained in:
Lifei Zhou 2025-10-03 09:38:25 +10:00 committed by GitHub
parent 94a5905a15
commit a3fbeb04fc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 455 additions and 76 deletions

View file

@ -1090,6 +1090,92 @@
}
}
},
"/recipes/parse": {
"post": {
"tags": [
"Recipe Management"
],
"operationId": "parse_recipe",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ParseRecipeRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Recipe parsed successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ParseRecipeResponse"
}
}
}
},
"400": {
"description": "Bad request - Invalid recipe format",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/recipes/save": {
"post": {
"tags": [
"Recipe Management"
],
"operationId": "save_recipe",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SaveRecipeRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Recipe saved to file successfully"
},
"401": {
"description": "Unauthorized - Invalid or missing API key"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/recipes/scan": {
"post": {
"tags": [
@ -2984,6 +3070,28 @@
}
}
},
"ParseRecipeRequest": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string"
}
}
},
"ParseRecipeResponse": {
"type": "object",
"required": [
"recipe"
],
"properties": {
"recipe": {
"$ref": "#/components/schemas/Recipe"
}
}
},
"PermissionConfirmationRequest": {
"type": "object",
"required": [
@ -3300,7 +3408,6 @@
"type": "object",
"required": [
"name",
"isGlobal",
"recipe",
"lastModified",
"id"
@ -3309,9 +3416,6 @@
"id": {
"type": "string"
},
"isGlobal": {
"type": "boolean"
},
"lastModified": {
"type": "string"
},
@ -3517,6 +3621,25 @@
}
}
},
"SaveRecipeRequest": {
"type": "object",
"required": [
"recipe"
],
"properties": {
"id": {
"type": "string",
"nullable": true
},
"is_global": {
"type": "boolean",
"nullable": true
},
"recipe": {
"$ref": "#/components/schemas/Recipe"
}
}
},
"ScanRecipeRequest": {
"type": "object",
"required": [