munch-ease-frontend/src/api/types.ts
jableader 211489ca55
Some checks failed
CI / build-test (push) Has been cancelled
pruning (#3)
Reviewed-on: #3
Co-authored-by: jableader <jacobdunk@gmail.com>
Co-committed-by: jableader <jacobdunk@gmail.com>
2025-10-25 02:18:30 +00:00

1634 lines
46 KiB
TypeScript

/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/api/v1/products": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create or fetch a product from a URL */
post: operations["createProduct"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/recipes/parse": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Parse a recipe from a URL */
get: operations["parseRecipe"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/recipes/ingredients/parse": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Parse raw ingredient lines */
get: operations["parseIngredients"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/recipes": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List recipes (paginated) */
get: operations["listRecipes"];
put?: never;
/** Create a new recipe (versioning semantics applied) */
post: operations["createRecipe"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/recipes/{recipe_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get a single recipe */
get: operations["getRecipe"];
put?: never;
post?: never;
/** Soft-delete (hide) a recipe */
delete: operations["deleteRecipe"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/meals/upcoming": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List upcoming meals in a date range */
get: operations["getUpcomingMeals"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/meals/{meal_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get a meal by id */
get: operations["getMeal"];
/** Update an existing meal */
put: operations["updateMeal"];
post?: never;
/** Delete a meal */
delete: operations["deleteMeal"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/meals": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create a new meal */
post: operations["createMeal"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/meals/{meal_id}/consumed": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Mark a meal as consumed */
post: operations["markMealConsumed"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/shopping/current": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get the current aggregated shopping list */
get: operations["getCurrentShoppingList"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/shopping/{list_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get a purchased shopping list by id */
get: operations["getShoppingList"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/shopping": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Purchase ingredients for a shopping list */
post: operations["purchaseIngredients"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/shopping/current/me/ingredients": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get my outstanding ingredient requests */
get: operations["getMyShoppingList"];
put?: never;
/** Sync my outstanding ingredient requests */
post: operations["syncMyShoppingList"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/shopping/current/meals/me": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Request a meal for shopping */
post: operations["requestMeal"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/shopping/current/meals/{meal_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/** Remove a meal request */
delete: operations["unrequestMeal"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/persons": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List persons (paginated) */
get: operations["listPersons"];
put?: never;
/** Create a person */
post: operations["createPerson"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/auth/login": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Login and set user_id cookie */
post: operations["login"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/auth/refresh": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Refresh current user from cookie */
post: operations["refresh"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/healthz": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Healthz */
get: operations["healthz_healthz_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** CurrentShoppingList */
CurrentShoppingList: {
/** Outstandingitems */
outstandingItems: components["schemas"]["ShoppingListItem"][];
/** Requestedmeals */
requestedMeals: components["schemas"]["ShoppingListItem"][];
/** Purchaseditems */
purchasedItems?: components["schemas"]["ShoppingListItem"][];
/** Ingredientslookup */
ingredientsLookup?: {
[key: string]: components["schemas"]["Ingredient"];
};
/** Mealslookup */
mealsLookup?: {
[key: string]: components["schemas"]["Meal-Output"];
};
/** Shoppinglistlookup */
shoppingListLookup?: {
[key: string]: components["schemas"]["ShoppingList"];
};
/** Recipeslookup */
recipesLookup?: {
[key: string]: components["schemas"]["Recipe-Output"];
};
};
/** HTTPValidationError */
HTTPValidationError: {
/** Detail */
detail?: components["schemas"]["ValidationError"][];
};
/** HealthStatus */
HealthStatus: {
/**
* Status
* @default ok
*/
status: string;
};
/** Ingredient */
Ingredient: {
/**
* Id
* @default -1
*/
id: number;
/** Name */
name: string;
/** Line */
line: string;
/**
* Unit
* @description Measurement unit (enum values are advisory; runtime accepts any string)
* @enum {string}
*/
unit: "Items" | "Litre" | "Gram" | "Cup" | "Tablespoon" | "Teaspoon" | "Ounce" | "Pound" | "Fluid Ounce" | "Pint" | "Quart" | "Gallon" | "Millilitre" | "Milligram" | "Kilogram";
/** Quantity */
quantity: number;
/** Preparation */
preparation: string;
/** Productid */
productId?: number | null;
/** Recipeid */
recipeId?: number | null;
/** Mealid */
mealId?: number | null;
product?: components["schemas"]["Product"] | null;
};
/** LoginBody */
LoginBody: {
/** Username */
username: string;
};
/** Meal */
"Meal-Input": {
/**
* Id
* @default -1
*/
id: number;
/**
* Suggesteddate
* Format: date-time
*/
suggestedDate: string;
/** Consumeddate */
consumedDate?: string | null;
/** Chefs */
chefs?: components["schemas"]["Person"][];
/** Cleanup */
cleanup?: components["schemas"]["Person"][];
/** Consumers */
consumers?: components["schemas"]["Person"][];
/** Recipes */
recipes?: components["schemas"]["MealRecipe-Input"][];
/** Extraingredients */
extraIngredients?: components["schemas"]["Ingredient"][];
/** Purchasedate */
purchaseDate?: string | null;
};
/** Meal */
"Meal-Output": {
/**
* Id
* @default -1
*/
id: number;
/**
* Suggesteddate
* Format: date-time
*/
suggestedDate: string;
/** Consumeddate */
consumedDate?: string | null;
/** Chefs */
chefs?: components["schemas"]["Person"][];
/** Cleanup */
cleanup?: components["schemas"]["Person"][];
/** Consumers */
consumers?: components["schemas"]["Person"][];
/** Recipes */
recipes?: components["schemas"]["MealRecipe-Output"][];
/** Extraingredients */
extraIngredients?: components["schemas"]["Ingredient"][];
/** Purchasedate */
purchaseDate?: string | null;
};
/** MealIdWrapper */
MealIdWrapper: {
/** Mealid */
mealId: number;
};
/** MealRecipe */
"MealRecipe-Input": {
/** Mealid */
mealId: number;
/** Recipeid */
recipeId: number;
/** Servings */
servings: number;
recipe?: components["schemas"]["Recipe-Input"] | null;
};
/** MealRecipe */
"MealRecipe-Output": {
/** Mealid */
mealId: number;
/** Recipeid */
recipeId: number;
/** Servings */
servings: number;
recipe?: components["schemas"]["Recipe-Output"] | null;
};
/** Ok */
Ok: {
/**
* Ok
* @default true
*/
ok: boolean;
};
/** Page[Person] */
Page_Person_: {
/** Items */
items: components["schemas"]["Person"][];
/** Nextcursor */
nextCursor?: string | null;
/** Prevcursor */
prevCursor?: string | null;
/**
* Total
* @description Total count
* @default 0
*/
total: number;
};
/** Page[Recipe] */
Page_Recipe_: {
/** Items */
items: components["schemas"]["Recipe-Output"][];
/** Nextcursor */
nextCursor?: string | null;
/** Prevcursor */
prevCursor?: string | null;
/**
* Total
* @description Total count
* @default 0
*/
total: number;
};
/** Person */
Person: {
/**
* Id
* @default -1
*/
id: number;
/** Name */
name: string;
};
/** ProblemDetails */
ProblemDetails: {
/**
* Type
* @default about:blank
*/
type: string;
/** Title */
title: string;
/** Status */
status: number;
/** Detail */
detail?: string | null;
/** Instance */
instance?: string | null;
/** Errors */
errors?: Record<string, never> | null;
};
/** Product */
Product: {
/**
* Id
* @default -1
*/
id: number;
/** Productid */
productId: string;
/** Shopcode */
shopCode: string;
/** Link */
link: string;
/** Name */
name: string;
/** Quantity */
quantity: number;
/** Unit */
unit: string;
/** Imgsmall */
imgSmall: string;
/** Imglarge */
imgLarge: string;
};
/** ProductUrl */
ProductUrl: {
/** Url */
url: string;
/** Tags */
tags?: string[];
};
/** PurchasedShoppingList */
PurchasedShoppingList: {
list: components["schemas"]["ShoppingList"];
/** Mealslookup */
mealsLookup?: {
[key: string]: components["schemas"]["Meal-Output"];
};
/** Ingredientslookup */
ingredientsLookup?: {
[key: string]: components["schemas"]["Ingredient"];
};
/** Recipeslookup */
recipesLookup?: {
[key: string]: components["schemas"]["Recipe-Output"];
};
};
/** Recipe */
"Recipe-Input": {
/**
* Id
* @default -1
*/
id: number;
/** Name */
name: string;
/** Link */
link: string;
/** Serves */
serves: number;
/** Imageurls */
imageUrls?: string[];
/** Ingredients */
ingredients?: components["schemas"]["Ingredient"][];
/** Basedonrecipe */
basedOnRecipe?: number | null;
/**
* Datecreated
* Format: date-time
*/
dateCreated?: string;
/** Createdbyid */
createdById: number;
createdBy?: components["schemas"]["Person"] | null;
/** Datehidden */
dateHidden?: string | null;
/** Hiddenbyid */
hiddenById?: number | null;
hiddenBy?: components["schemas"]["Person"] | null;
};
/** Recipe */
"Recipe-Output": {
/**
* Id
* @default -1
*/
id: number;
/** Name */
name: string;
/** Link */
link: string;
/** Serves */
serves: number;
/** Imageurls */
imageUrls?: string[];
/** Ingredients */
ingredients?: components["schemas"]["Ingredient"][];
/** Basedonrecipe */
basedOnRecipe?: number | null;
/**
* Datecreated
* Format: date-time
*/
dateCreated?: string;
/** Createdbyid */
createdById: number;
createdBy?: components["schemas"]["Person"] | null;
/** Datehidden */
dateHidden?: string | null;
/** Hiddenbyid */
hiddenById?: number | null;
hiddenBy?: components["schemas"]["Person"] | null;
};
/** ShoppingList */
ShoppingList: {
/**
* Id
* @default -1
*/
id: number;
/**
* Createddate
* Format: date-time
*/
createdDate?: string;
/** @default */
storeName: components["schemas"]["StoreEnum"];
/**
* Purchasedbyid
* @default -1
*/
purchasedById: number;
purchasedBy?: components["schemas"]["Person"] | null;
/** Items */
items?: components["schemas"]["ShoppingListItem"][];
};
/** ShoppingListItem */
ShoppingListItem: {
/**
* Id
* @default -1
*/
id: number;
/** Listid */
listId?: number | null;
/**
* Personid
* @default -1
*/
personId: number;
/** Ingredientid */
ingredientId?: number | null;
/** Recipeid */
recipeId?: number | null;
/** Mealid */
mealId?: number | null;
/**
* Createddate
* Format: date-time
*/
createdDate?: string;
};
/**
* StoreEnum
* @enum {string}
*/
StoreEnum: "woolworths" | "coles" | "";
/** ValidationError */
ValidationError: {
/** Location */
loc: (string | number)[];
/** Message */
msg: string;
/** Error Type */
type: string;
};
};
responses: {
/** @description Bad Request */
Problem400: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": unknown;
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Not Found */
Problem404: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": unknown;
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Validation Error */
Problem422: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDetails"];
"application/json": components["schemas"]["ProblemDetails"];
};
};
};
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
createProduct: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ProductUrl"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Product"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
parseRecipe: {
parameters: {
query: {
url: string;
};
header?: never;
path?: never;
cookie: {
user_id: number;
};
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Recipe-Output"];
};
};
400: components["responses"]["Problem400"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
parseIngredients: {
parameters: {
query: {
ingredients: string[];
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Ingredient"][];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
listRecipes: {
parameters: {
query?: {
/** @description Optional case-insensitive name filter (matches recipe name with SQL LIKE). */
q?: string | null;
/** @description Opaque cursor for pagination. Pass the value returned in nextCursor to fetch the next page. */
cursor?: string | null;
/** @description Maximum number of items to return (1-200). */
limit?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description A page of recipes */
200: {
headers: {
[name: string]: unknown;
};
content: {
/**
* @example {
* "items": [
* {
* "id": 1,
* "name": "Example Recipe",
* "link": "https://example.com/recipes/1",
* "serves": 4,
* "imageUrls": [],
* "ingredients": []
* }
* ],
* "nextCursor": "2",
* "prevCursor": "0",
* "total": 1
* }
*/
"application/json": components["schemas"]["Page_Recipe_"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
createRecipe: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie: {
user_id: number;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["Recipe-Input"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Recipe-Output"];
};
};
400: components["responses"]["Problem400"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
getRecipe: {
parameters: {
query?: never;
header?: never;
path: {
recipe_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Recipe-Output"];
};
};
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
deleteRecipe: {
parameters: {
query?: never;
header?: never;
path: {
recipe_id: number;
};
cookie: {
user_id: number;
};
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Recipe-Output"];
};
};
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
getUpcomingMeals: {
parameters: {
query: {
from: string;
to: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Meal-Output"][];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
getMeal: {
parameters: {
query?: never;
header?: never;
path: {
meal_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Meal-Output"];
};
};
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
updateMeal: {
parameters: {
query?: never;
header?: never;
path: {
meal_id: number;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["Meal-Input"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Meal-Output"];
};
};
400: components["responses"]["Problem400"];
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
deleteMeal: {
parameters: {
query?: never;
header?: never;
path: {
meal_id: number;
};
cookie: {
user_id: number;
};
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Meal-Output"];
};
};
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
createMeal: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["Meal-Input"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Meal-Output"];
};
};
400: components["responses"]["Problem400"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
markMealConsumed: {
parameters: {
query?: {
consumed_date?: string | null;
};
header?: never;
path: {
meal_id: number;
};
cookie: {
user_id: number;
};
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Meal-Output"];
};
};
400: components["responses"]["Problem400"];
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
getCurrentShoppingList: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CurrentShoppingList"];
};
};
422: components["responses"]["Problem422"];
};
};
getShoppingList: {
parameters: {
query?: never;
header?: never;
path: {
list_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PurchasedShoppingList"];
};
};
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
purchaseIngredients: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie: {
user_id: number;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["ShoppingList"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PurchasedShoppingList"];
};
};
400: components["responses"]["Problem400"];
/** @description Unauthorized (invalid or unknown user) */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": unknown;
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
getMyShoppingList: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie: {
user_id: number;
};
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Ingredient"][];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
syncMyShoppingList: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie: {
user_id: number;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["Ingredient"][];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Ingredient"][];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
requestMeal: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie: {
user_id: number;
};
};
requestBody: {
content: {
"application/json": components["schemas"]["MealIdWrapper"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ShoppingListItem"];
};
};
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
unrequestMeal: {
parameters: {
query?: never;
header?: never;
path: {
meal_id: number;
};
cookie: {
user_id: number;
};
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Ok"];
};
};
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
listPersons: {
parameters: {
query?: {
/** @description Optional case-insensitive name filter (applied after page read; may be pushed to SQL in the future). */
q?: string | null;
/** @description Opaque cursor for pagination. Pass the value returned in nextCursor to fetch the next page. */
cursor?: string | null;
/** @description Maximum number of items to return (1-200). */
limit?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description A page of persons */
200: {
headers: {
[name: string]: unknown;
};
content: {
/**
* @example {
* "items": [
* {
* "id": 1,
* "name": "Ada Lovelace"
* }
* ],
* "nextCursor": "2",
* "prevCursor": "0",
* "total": 1
* }
*/
"application/json": components["schemas"]["Page_Person_"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
createPerson: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["Person"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Person"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
login: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["LoginBody"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Person"];
};
};
404: components["responses"]["Problem404"];
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
refresh: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie: {
user_id: number;
};
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Person"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
healthz_healthz_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HealthStatus"];
};
};
};
};
}