import type { IResponse } from "@/types/response.types";

export type CreateFoodType = {
  breakfast: boolean;
  tue: boolean;
  wed: boolean;
  thu: boolean;
  fri: boolean;
  title: string;
  desc: string;
  content: string[];
  price: number;
  points: number;
  prepareTime: number;
  sat: boolean;
  sun: boolean;
  mon: boolean;
  noon: boolean;
  dinner: boolean;
  stock: number;
  stockDefault: number;
  isActive: boolean;
  images: string[];
  inPlaceServe: boolean;
  pickupServe: boolean;
  discount: number;
  categoryIds: string[];
};

export type Category = {
  id: string;
  createdAt: string;
  updatedAt: string;
  deletedAt: string | null;
  title: string;
  isActive: boolean;
  restId: string;
  avatarUrl: string;
  order: number | null;
};

export type Food = {
  id: string;
  createdAt: string;
  updatedAt: string;
  deletedAt: string | null;
  title: string;
  desc: string | null;
  content: string[];
  price: number;
  points: number;
  order: number | null;
  prepareTime: number;
  sat: boolean;
  sun: boolean;
  mon: boolean;
  tue: boolean;
  wed: boolean;
  thu: boolean;
  fri: boolean;
  breakfast: boolean;
  noon: boolean;
  dinner: boolean;
  stock: number;
  stockDefault: number;
  isActive: boolean;
  images: string[];
  inPlaceServe: boolean;
  pickupServe: boolean;
  rate: number;
  discount: number;
  categories: Category[];
};

export type GetFoodsParams = {
  page?: number;
  limit?: number;
  search?: string;
  orderBy?: string;
  order?: "asc" | "desc";
  categoryId?: string;
  isActive?: boolean;
};

export type GetCategoriesResponseType = IResponse<Category[]>;
export type GetFoodsResponseType = IResponse<Food[]>;
export type GetFoodDetailsResponseType = IResponse<Food>;

export type CreateCategoryType = {
  title: string;
  isActive: boolean;
  avatarUrl: string;
};
