struct MovieQuery: EntityQuery {
   @Dependency var appData: ApplicationData

   func entities(for identifiers: [MovieEntity.ID]) async throws -> [MovieEntity] {
      let list = await appData.listMovies
      let filtered = list.filter { identifiers.contains($0.id) }
      return filtered.map { MovieEntity(movie: $0) }
   }
   func suggestedEntities() async throws -> [MovieEntity] {
      let movies = await appData.listMovies
      var favorites = movies.filter { $0.favorite }
      if favorites.isEmpty {
         let total = min(3, movies.count)
         favorites = Array(movies[0..<total])
      }
      return favorites.map { MovieEntity(movie: $0) }
   }
}