export interface User {
    firstName: string;
    lastName: string;
    email: string;
    hashedPassword: string;
    orders: any[]; // TODO: figure out proper array type of orders. Probably smartest do create an Order interface which this would be an array of
    paymentMethods: any[]; // TODO: figure out proper array type of paymentMethods. create paymentMethod interface and make this an array of it
}

export interface MovieCatalog {
    id: number;
    title: string;
    genre: string;
    duration: number;
    fsk: string;
    description: string;
    poster: string;
    backdrop: string;
    rating: number;
    year: string;
}

// The shape of a single movie object from TMDb
interface ITMDBMovie {
  id: number;
  title: string;
  poster_path: string;
  release_date: string;
  vote_average: number;
  overview: string;
  genre: string;
  duration: number;
  age_reccomendation: string;
  backdrop_path: string;
  // ... add other fields as needed
}

// The shape of the API response
export interface ITMDBResponse {
  page: number;
  results: ITMDBMovie[];
  total_pages: number;
  total_results: number;
}