import { BaseResponse } from "@/app/[name]/(Main)/types/Types";

export interface UserProfile {
  id: string;
  createdAt: string;
  updatedAt: string;
  deletedAt: string | null;
  restaurant: string;
  firstName: string;
  lastName: string;
  phone: string;
  birthDate: string;
  marriageDate: string;
  referrer: string | null;
  isActive: boolean;
  gender: boolean;
  wallet: number;
  points: number;
  avatarUrl?: string | null;
}

export interface GetProfileResponse {
  statusCode: number;
  success: boolean;
  data: UserProfile;
}

export interface UpdateProfileType {
  firstName: string;
  lastName: string;
  birthDate?: string;
  marriageDate?: string;
  gender?: boolean;
  avatarUrl?: string;
}

export type UploadedFile = {
  key: string;
  url: string;
  bucket: string;
};

export type SingleUploadResponseData = {
  file: UploadedFile;
  url: string;
};

export type SingleUploadResponse = BaseResponse<SingleUploadResponseData>;
