Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Proposal] Improve the catalog endpoint format #1186

@arschles

Description

@arschles

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

Right now, utilities that want to use the /catalog endpoint often need to aggregate each module's versions into a list. For example, the /catalog endpoint returns this:

{
    "modules": [
        {
            "module":"github.com/arschles/assert",
            "version": "v1.0.0"
        },
        {
            "module": "github.com/arschles/assert",
            "version": "v1.1.0"
        }
    ]
}

Many programs will find it more convenient to get a response similar to this:

{
    "modules": {
        "github.com/arschles/assert": ["v1.0.0", "v1.1.0"]
    }
}

Describe the solution you'd like

I'd like us to add a V2 of the catalog API that responds this way. This could possibly be exposed as a /catalog/v2 endpoint.

Describe alternatives you've considered

Clients can always aggregate in their own code

Additional context

  • There will be non-trivial work on the storage systems to achieve this
  • There are two projects I know of that could benefit from this change:

cc/ @marwan-at-work

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgood first issueGreat issues for new Athenians to work on!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions