Skip to content

PeopleMovieCredits.cast/.crew are [Movie] and thus prevents ability to get character, job, department, etc #224

@gannonprudhomme

Description

@gannonprudhomme

Is your feature request related to a problem? Please describe.

I'm trying to breakdown a person's cast credits by their job (writer, director, etc) as well as get the name of the character they played in a given movie, and realized that PersonMovieCredits.crew / PersonMovieCredits.cast don't have this information, as they're both [Movie]. Upon looking at the API docs, I realized this information is available - but it's not exposed in this library. Thus I'd like to get this information added in some way!

Also, I figure you have valid reasons (too many similar-but-different movie types?) but I think treating this API response as [Movie] should be changed at the least due to the confusion it can cause, when it simply doesn't have all of the fields that Movie typically does from [/movie/:movieID](https://developer.themoviedb.org/reference/movie-details. For instance, - the Movies form PerosnMovieCredits.cast has Movie.status as nil always, but it isn't always nil from the movie details route. This caused quite a bit of confusion until I looked at the actual API response from /person/:id/movie_credits.

I only need the movie credits so that's the only thing I'm considering here, but I figure the same applies to TV credits.

Describe the solution you'd like

The simplest - but perhaps most painful - would be to have 2 separate types, e.g. PersonMovieCast and PersonMovieCrew, that are a 1:1 reflection of the /person/:id/movie_credits API response.

Describe alternatives you've considered

Could do a bit more heavy-lifting and parse these out so this extra info is in a dictionary like [Movie: character (string)] for cast and [Movie: (job: String, department: String)] for crew, but I figure that's a bit overkill & you can just let consumers of this library handle that.

Additional context

I have an incredibly rough - but working - example of the first proposed solution on my fork here. This is definitely not ready to merge - just got something out quick so I can test it in my app locally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions