struct MovieQuery: EntityQuery, EntityStringQuery {
   @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 entities(matching string: String) async throws -> [MovieEntity] {
      let list = await appData.listMovies
      let filtered = list.filter {
         $0.title.localizedCaseInsensitiveContains(string)
      }
      return filtered.map { MovieEntity(movie: $0) }
   }
}