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

export type ShipmentMethod = {
  id: string;
  createdAt: string;
  updatedAt: string;
  deletedAt: string | null;
  name: string;
  title: string;
  description: string;
  isActive: boolean;
};

export type GetShipmentMethodsResponseType = IResponse<ShipmentMethod[]>;

export type CreateShipmentMethodType = {
  method: string;
  deliveryFee: number;
  minOrderPrice: number;
  description: string;
  enabled: boolean;
  order: number;
  perKilometerFee?: number | null;
  distanceBasedMinCost?: number | null;
};

export type RestaurantShipmentMethod = {
  id: string;
  restaurant: string;
  createdAt: string;
  updatedAt: string;
  deletedAt: string | null;
  method: string;
  title: string;
  deliveryFee: number;
  minOrderPrice: number;
  description: string;
  enabled: boolean;
  order: number;
  perKilometerFee?: number | null;
  distanceBasedMinCost?: number | null;
};

export type GetRestaurantShipmentMethodsResponseType = IResponse<
  RestaurantShipmentMethod[]
>;

export type GetRestaurantShipmentMethodResponseType = IResponse<
  RestaurantShipmentMethod
>;

export type GetRestaurantShipmentMethodsParams = {
  page?: number;
  limit?: number;
  search?: string;
};
