KatsuteDev/Mal4J

✨ Add ability to get user affinity

Katsute opened this issue · 2 comments

Prerequisites

If all checks are not passed then the feature request will be closed.

  • I have checked that no other similar feature request already exists.
  • I have checked that this feature does not already exist.
  • This feature request makes sense for the project.

Feature

Explain your feature. Add any examples here.

Add ability to get affinity to another user.

Methods to be added (2 for each b/c Anime/Manga affinity is different):

  • User#getAffinity() get that user's affinity with self
  • User#getAffinity(String) or User#getAffinity(User) get user affinity with another user
  • MyAnimeList#getAffinity(String, String) or MyAnimeList#getAffinity(User, User) get affinity between two users (too much noise)

Exception may be thrown if user keeps list private (add to FAQ)

Reason

Explain why you thing this feature should be added.

It is unlikely that this feature will be fulfilled by the API and this is a popular feature.

This should return a custom affinity object with:

  • Shared Anime/Manga
  • Average diff
  • MAL Affinity score calculation
  • Custom affinity score calculation using a functional interface that accepts two lists and returns a float.

Feature will be added at later date