ReVanced / revanced-releases-api

🚀 JSON API for ReVanced Releases
https://releases.revanced.app
GNU Affero General Public License v3.0
78 stars 17 forks source link

feat: Implement a changelog endpoint #6

Closed alexandreteles closed 1 year ago

alexandreteles commented 1 year ago

Is your feature request related to a problem? Please describe. Users want to know what is happening, what changed but our managers do not provide any information on what change and when.

Describe the solution you'd like Provide an API endpoint capable of returning changelogs for the relevant projects. We'll pull data from GH API, apply our transformations and validations, cache the output and present changelogs to our users.

  1. We query data from: https://api.github.com/repos/{organization}/{repository}/commits
  2. API needs to support the following query parameters:

    path = path to the file we're querying the changes
    since = changes since the supplied timestamp

GH API endpoint example:

Releases API endpoint format:

  1. We apply transformations, so we only return the following data:
{
    "repository": "string"
         "commits": [
            {
                "sha": "string"
                "date": "string"
                "author": "string"
                "committer": "string"
                "html_url": "string"
            }
        ]
}
  1. We store data in the internal cache (Redis) and then serve it to consumer.

Describe alternatives you've considered None, really. Might update if anything comes up.

Additional context Managers are already implementing it by talking directly with the GH API so we might have to hurry.

alexandreteles commented 1 year ago

Solved on #10. Please refer to the API documentation for more information on the final implementation.