Files
mealprep/frontend/src/lib/api/schema.d.ts

2155 lines
55 KiB
TypeScript

/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/v1/recipes/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getRecipe"];
put: operations["updateRecipe"];
post?: never;
delete: operations["deleteRecipe"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/week-plans": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getWeekPlan"];
put?: never;
post: operations["createWeekPlan"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/week-plans/{id}/slots": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["addSlot"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/week-plans/{id}/shopping-list": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["generateFromPlan"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/week-plans/{id}/confirm": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["confirmPlan"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/tags": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["listTags"];
put?: never;
post: operations["createTag"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/shopping-lists/{id}/items": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["addItem"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/recipes": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["listRecipes"];
put?: never;
post: operations["createRecipe"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/pantry-items": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["listItems"];
put?: never;
post: operations["createItem"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/invites/{code}/accept": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["acceptInvite"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/ingredient-categories": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["listCategories"];
put?: never;
post: operations["createCategory"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/households": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["createHousehold"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/households/mine/invites": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getActiveInvite"];
put?: never;
post: operations["createInvite"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/households/mine/members/{userId}": {
parameters: {
query?: never;
header?: never;
path: {
userId: string;
};
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete: operations["removeMember"];
options?: never;
head?: never;
patch: operations["changeMemberRole"];
trace?: never;
};
"/v1/cooking-logs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["listCookingLogs"];
put?: never;
post: operations["createCookingLog"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/auth/signup": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["signup"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/auth/logout": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["logout"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/auth/login": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["login"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/admin/users": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["listUsers"];
put?: never;
post: operations["createUser"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/admin/users/{id}/reset-password": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["resetPassword"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/week-plans/{planId}/slots/{slotId}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete: operations["deleteSlot"];
options?: never;
head?: never;
patch: operations["updateSlot"];
trace?: never;
};
"/v1/shopping-lists/{listId}/items/{itemId}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete: operations["deleteItem"];
options?: never;
head?: never;
patch: operations["checkItem"];
trace?: never;
};
"/v1/pantry-items/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete: operations["deleteItem_1"];
options?: never;
head?: never;
patch: operations["updateItem"];
trace?: never;
};
"/v1/ingredients/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch: operations["patchIngredient"];
trace?: never;
};
"/v1/auth/me": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["me"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch: operations["updateProfile"];
trace?: never;
};
"/v1/admin/users/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch: operations["updateUser"];
trace?: never;
};
"/v1/week-plans/{id}/variety-score": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getVarietyScore"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/week-plans/{id}/suggestions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getSuggestions"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/shopping-lists/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getShoppingList"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/shopping-list": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getByWeekStart"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/ingredients": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["searchIngredients"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/households/mine": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getMyHousehold"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/households/mine/members": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["getMembers"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/v1/admin/audit-log": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["listAuditLog"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
IngredientEntry: {
/** Format: uuid */
ingredientId?: string;
newIngredientName?: string;
quantity: number;
unit: string;
/** Format: int32 */
sortOrder?: number;
};
RecipeCreateRequest: {
name: string;
/** Format: int32 */
serves?: number;
/** Format: int32 */
cookTimeMin?: number;
effort: string;
heroImageUrl?: string;
ingredients: components["schemas"]["IngredientEntry"][];
steps?: components["schemas"]["StepEntry"][];
tagIds: string[];
};
StepEntry: {
/** Format: int32 */
stepNumber?: number;
instruction: string;
};
CategoryRef: {
/** Format: uuid */
id?: string;
name?: string;
};
IngredientItem: {
/** Format: uuid */
ingredientId?: string;
name?: string;
category?: components["schemas"]["CategoryRef"];
quantity?: number;
unit?: string;
/** Format: int32 */
sortOrder?: number;
};
RecipeDetailResponse: {
/** Format: uuid */
id?: string;
name?: string;
/** Format: int32 */
serves?: number;
/** Format: int32 */
cookTimeMin?: number;
effort?: string;
heroImageUrl?: string;
ingredients?: components["schemas"]["IngredientItem"][];
steps?: components["schemas"]["StepItem"][];
tags?: components["schemas"]["TagItem"][];
};
StepItem: {
/** Format: int32 */
stepNumber?: number;
instruction?: string;
};
TagItem: {
/** Format: uuid */
id?: string;
name?: string;
tagType?: string;
};
CreateWeekPlanRequest: {
/** Format: date */
weekStart: string;
};
SlotRecipe: {
/** Format: uuid */
id?: string;
name?: string;
effort?: string;
/** Format: int32 */
cookTimeMin?: number;
heroImageUrl?: string;
};
SlotResponse: {
/** Format: uuid */
id?: string;
/** Format: date */
slotDate?: string;
recipe?: components["schemas"]["SlotRecipe"];
};
WeekPlanResponse: {
/** Format: uuid */
id?: string;
/** Format: date */
weekStart?: string;
status?: string;
/** Format: date-time */
confirmedAt?: string;
slots?: components["schemas"]["SlotResponse"][];
};
CreateSlotRequest: {
/** Format: date */
slotDate: string;
/** Format: uuid */
recipeId: string;
};
RecipeRef: {
/** Format: uuid */
id?: string;
name?: string;
};
ShoppingListItemResponse: {
/** Format: uuid */
id?: string;
/** Format: uuid */
ingredientId?: string;
name?: string;
category?: components["schemas"]["CategoryRef"];
quantity?: number;
unit?: string;
isChecked?: boolean;
/** Format: uuid */
checkedBy?: string;
sourceRecipes?: components["schemas"]["RecipeRef"][];
};
ShoppingListResponse: {
/** Format: uuid */
id?: string;
/** Format: uuid */
weekPlanId?: string;
/** Format: date-time */
generatedAt?: string;
/** Format: int32 */
filteredStaplesCount?: number;
items?: components["schemas"]["ShoppingListItemResponse"][];
};
TagCreateRequest: {
name: string;
tagType: string;
};
TagResponse: {
/** Format: uuid */
id?: string;
name?: string;
tagType?: string;
};
AddItemRequest: {
/** Format: uuid */
ingredientId?: string;
customName?: string;
quantity?: number;
unit?: string;
};
CreatePantryItemRequest: {
/** Format: uuid */
ingredientId?: string;
customName?: string;
quantity?: number;
unit?: string;
/** Format: date */
bestBefore?: string;
/** Format: date */
openedOn?: string;
};
PantryItemResponse: {
/** Format: uuid */
id?: string;
/** Format: uuid */
ingredientId?: string;
name?: string;
category?: components["schemas"]["CategoryRef"];
quantity?: number;
unit?: string;
/** Format: date */
bestBefore?: string;
/** Format: date */
openedOn?: string;
};
AcceptInviteResponse: {
/** Format: uuid */
householdId?: string;
householdName?: string;
role?: string;
};
ApiResponseAcceptInviteResponse: {
status?: string;
data?: components["schemas"]["AcceptInviteResponse"];
meta?: components["schemas"]["Meta"];
};
Meta: {
pagination?: components["schemas"]["Pagination"];
};
Pagination: {
/** Format: int64 */
total?: number;
/** Format: int32 */
limit?: number;
/** Format: int32 */
offset?: number;
hasMore?: boolean;
};
IngredientCategoryCreateRequest: {
name: string;
};
IngredientCategoryResponse: {
/** Format: uuid */
id?: string;
name?: string;
};
CreateHouseholdRequest: {
name: string;
};
ApiResponseHouseholdResponse: {
status?: string;
data?: components["schemas"]["HouseholdResponse"];
meta?: components["schemas"]["Meta"];
};
HouseholdResponse: {
/** Format: uuid */
id?: string;
name?: string;
members?: components["schemas"]["MemberResponse"][];
};
MemberResponse: {
/** Format: uuid */
userId?: string;
displayName?: string;
role?: string;
/** Format: date-time */
joinedAt?: string;
};
ChangeRoleRequest: {
role: string;
};
ApiResponseMemberResponse: {
status?: string;
data?: components["schemas"]["MemberResponse"];
meta?: components["schemas"]["Meta"];
};
ApiResponseInviteResponse: {
status?: string;
data?: components["schemas"]["InviteResponse"];
meta?: components["schemas"]["Meta"];
};
InviteResponse: {
inviteCode?: string;
shareUrl?: string;
/** Format: date-time */
expiresAt?: string;
};
CreateCookingLogRequest: {
/** Format: uuid */
recipeId: string;
/** Format: date */
cookedOn?: string;
};
CookingLogResponse: {
/** Format: uuid */
id?: string;
/** Format: uuid */
recipeId?: string;
recipeName?: string;
/** Format: date */
cookedOn?: string;
/** Format: uuid */
cookedBy?: string;
};
SignupRequest: {
/** Format: email */
email: string;
password: string;
displayName: string;
};
ApiResponseUserResponse: {
status?: string;
data?: components["schemas"]["UserResponse"];
meta?: components["schemas"]["Meta"];
};
UserResponse: {
/** Format: uuid */
id?: string;
email?: string;
displayName?: string;
/** Format: uuid */
householdId?: string;
householdName?: string;
householdRole?: string;
systemRole?: string;
};
LoginRequest: {
/** Format: email */
email: string;
password: string;
};
CreateUserRequest: {
/** Format: email */
email: string;
displayName: string;
tempPassword: string;
systemRole?: string;
};
AdminUserResponse: {
/** Format: uuid */
id?: string;
email?: string;
displayName?: string;
systemRole?: string;
isActive?: boolean;
/** Format: date-time */
createdAt?: string;
};
ApiResponseAdminUserResponse: {
status?: string;
data?: components["schemas"]["AdminUserResponse"];
meta?: components["schemas"]["Meta"];
};
ResetPasswordRequest: {
tempPassword: string;
reason?: string;
};
ApiResponseResetPasswordResponse: {
status?: string;
data?: components["schemas"]["ResetPasswordResponse"];
meta?: components["schemas"]["Meta"];
};
ResetPasswordResponse: {
message?: string;
mustChangePassword?: boolean;
};
UpdateSlotRequest: {
/** Format: uuid */
recipeId: string;
};
CheckItemRequest: {
isChecked?: boolean;
};
UpdatePantryItemRequest: {
quantity?: number;
unit?: string;
/** Format: date */
bestBefore?: string;
/** Format: date */
openedOn?: string;
};
IngredientPatchRequest: {
name?: string;
isStaple?: boolean;
/** Format: uuid */
categoryId?: string;
};
IngredientResponse: {
/** Format: uuid */
id?: string;
name?: string;
category?: components["schemas"]["CategoryRef"];
isStaple?: boolean;
};
UpdateProfileRequest: {
displayName?: string;
currentPassword?: string;
newPassword?: string;
};
UpdateUserRequest: {
displayName?: string;
email?: string;
systemRole?: string;
isActive?: boolean;
};
IngredientOverlap: {
ingredientName?: string;
days?: string[];
};
TagRepeat: {
tagName?: string;
tagType?: string;
days?: string[];
};
VarietyScoreResponse: {
/** Format: double */
score?: number;
tagRepeats?: components["schemas"]["TagRepeat"][];
ingredientOverlaps?: components["schemas"]["IngredientOverlap"][];
recentRepeats?: string[];
duplicatesInPlan?: string[];
};
SuggestionItem: {
recipe?: components["schemas"]["SlotRecipe"];
/** Format: double */
scoreDelta?: number;
hasConflict?: boolean;
};
SuggestionResponse: {
suggestions?: components["schemas"]["SuggestionItem"][];
};
ApiResponseListRecipeSummaryResponse: {
status?: string;
data?: components["schemas"]["RecipeSummaryResponse"][];
meta?: components["schemas"]["Meta"];
};
RecipeSummaryResponse: {
/** Format: uuid */
id?: string;
name?: string;
/** Format: int32 */
serves?: number;
/** Format: int32 */
cookTimeMin?: number;
effort?: string;
heroImagePreview?: string;
};
ApiResponseListAdminUserResponse: {
status?: string;
data?: components["schemas"]["AdminUserResponse"][];
meta?: components["schemas"]["Meta"];
};
ApiResponseListAuditLogResponse: {
status?: string;
data?: components["schemas"]["AuditLogResponse"][];
meta?: components["schemas"]["Meta"];
};
AuditLogResponse: {
/** Format: uuid */
id?: string;
/** Format: uuid */
adminId?: string;
adminEmail?: string;
/** Format: uuid */
targetUserId?: string;
targetEmail?: string;
action?: string;
detail?: {
[key: string]: unknown;
};
/** Format: date-time */
performedAt?: string;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
getRecipe: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["RecipeDetailResponse"];
};
};
};
};
updateRecipe: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["RecipeCreateRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["RecipeDetailResponse"];
};
};
};
};
deleteRecipe: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getWeekPlan: {
parameters: {
query: {
weekStart: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["WeekPlanResponse"];
};
};
};
};
createWeekPlan: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateWeekPlanRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["WeekPlanResponse"];
};
};
};
};
addSlot: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateSlotRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["SlotResponse"];
};
};
};
};
generateFromPlan: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ShoppingListResponse"];
};
};
};
};
confirmPlan: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["WeekPlanResponse"];
};
};
};
};
listTags: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["TagResponse"][];
};
};
};
};
createTag: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["TagCreateRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["TagResponse"];
};
};
};
};
addItem: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["AddItemRequest"];
};
};
responses: {
/** @description Created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ShoppingListItemResponse"];
};
};
};
};
listRecipes: {
parameters: {
query?: {
search?: string;
effort?: string;
isChildFriendly?: boolean;
"cookTimeMin.lte"?: number;
sort?: string;
limit?: number;
offset?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseListRecipeSummaryResponse"];
};
};
};
};
createRecipe: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["RecipeCreateRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["RecipeDetailResponse"];
};
};
};
};
listItems: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["PantryItemResponse"][];
};
};
};
};
createItem: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreatePantryItemRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["PantryItemResponse"];
};
};
};
};
acceptInvite: {
parameters: {
query?: never;
header?: never;
path: {
code: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseAcceptInviteResponse"];
};
};
};
};
listCategories: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["IngredientCategoryResponse"][];
};
};
};
};
createCategory: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["IngredientCategoryCreateRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["IngredientCategoryResponse"];
};
};
};
};
createHousehold: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateHouseholdRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseHouseholdResponse"];
};
};
};
};
createInvite: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseInviteResponse"];
};
};
};
};
listCookingLogs: {
parameters: {
query?: {
limit?: number;
offset?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["CookingLogResponse"][];
};
};
};
};
createCookingLog: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateCookingLogRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["CookingLogResponse"];
};
};
};
};
signup: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["SignupRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseUserResponse"];
};
};
};
};
logout: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
login: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["LoginRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseUserResponse"];
};
};
};
};
listUsers: {
parameters: {
query?: {
limit?: number;
offset?: number;
search?: string;
isActive?: boolean;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseListAdminUserResponse"];
};
};
};
};
createUser: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateUserRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseAdminUserResponse"];
};
};
};
};
resetPassword: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ResetPasswordRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseResetPasswordResponse"];
};
};
};
};
deleteSlot: {
parameters: {
query?: never;
header?: never;
path: {
planId: string;
slotId: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateSlot: {
parameters: {
query?: never;
header?: never;
path: {
planId: string;
slotId: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateSlotRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["SlotResponse"];
};
};
};
};
deleteItem: {
parameters: {
query?: never;
header?: never;
path: {
listId: string;
itemId: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
checkItem: {
parameters: {
query?: never;
header?: never;
path: {
listId: string;
itemId: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CheckItemRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ShoppingListItemResponse"];
};
};
};
};
deleteItem_1: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateItem: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdatePantryItemRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["PantryItemResponse"];
};
};
};
};
patchIngredient: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["IngredientPatchRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["IngredientResponse"];
};
};
};
};
me: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseUserResponse"];
};
};
};
};
updateProfile: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateProfileRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseUserResponse"];
};
};
};
};
updateUser: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateUserRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseAdminUserResponse"];
};
};
};
};
getVarietyScore: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["VarietyScoreResponse"];
};
};
};
};
getSuggestions: {
parameters: {
query: {
slotDate: string;
tags?: string[];
topN?: number;
};
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["SuggestionResponse"];
};
};
};
};
getShoppingList: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ShoppingListResponse"];
};
};
};
};
getByWeekStart: {
parameters: {
query?: {
weekStart?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ShoppingListResponse"];
};
};
};
};
searchIngredients: {
parameters: {
query?: {
search?: string;
isStaple?: boolean;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["IngredientResponse"][];
};
};
};
};
getMyHousehold: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseHouseholdResponse"];
};
};
};
};
getMembers: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["MemberResponse"][];
};
};
};
};
getActiveInvite: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseInviteResponse"];
};
};
/** @description No active invite */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
removeMember: {
parameters: {
query?: never;
header?: never;
path: {
userId: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description No Content */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Conflict */
409: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiError"];
};
};
};
};
changeMemberRole: {
parameters: {
query?: never;
header?: never;
path: {
userId: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ChangeRoleRequest"];
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseMemberResponse"];
};
};
/** @description Conflict */
409: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiError"];
};
};
};
};
listAuditLog: {
parameters: {
query?: {
limit?: number;
offset?: number;
targetUserId?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"*/*": components["schemas"]["ApiResponseListAuditLogResponse"];
};
};
};
};
}