Update

Service

editMovie(movie: IMovie): Promise<void> {
  if (movie.id) {
    const itemDoc = doc(this.firestore, 'movies', movie.id);
    return updateDoc(itemDoc, {
      title: movie.title,
      imdb: movie.imdb,
      genre: movie.genre,
      year: movie.year,
      image: movie.image,
    }).then(() => {
      console.log('Movie updated successfully');
    });
  } else {
    return Promise.reject('Movie ID is missing');
  }
}

Component

onEdit(movie: IMovie): void {
  this.form.setValue({
    formTitle: movie.title,
    formImdb: movie.imdb,
    formGenre: movie.genre,
    formYear: movie.year,
    formImage: movie.image,
  });

  if (movie.id) {
    this.movieId = movie.id;
    this.isEditing = true;
  } else {
    console.error('The movie ID is missing.');
  }
  this.formTitleInput.nativeElement.focus();
}

Definitions

export type IMovie = {
  readonly id?: string;
  readonly title: string;
  readonly imdb: number;
  readonly genre: string;
  readonly year: number;
  readonly image: string;
};
Was this page helpful?