Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evolve API to /v1 #19

Open
olzraiti opened this issue Oct 9, 2024 · 0 comments
Open

Evolve API to /v1 #19

olzraiti opened this issue Oct 9, 2024 · 0 comments
Assignees
Labels
improvement Fixes that are not really bugs and are not really new features
Milestone

Comments

@olzraiti
Copy link
Member

olzraiti commented Oct 9, 2024

What is API /v1?

The new API is a Ship Of Theseus. To answer to the paradox of what is the identity of v1, and when the API is "the new API", we're going to define it functionally. The API is v1 once it meets all the requirements below.

The requirements below are in prioritized order. Each requirement is blocked by some of the preceding requirements. A requirement is completed once all the issues labelled with it's label are completed.

Requirements:

1. API /v1 is fully implemented with this NestJS based repo, featuring all endpoints

The API still uses the old API for many endpoint. Each of these must be implemented.

Issues for an endpoint shall be labelled with endpoint

2. API /v1 has an accurate OpenAPI / (=Swagger) document (v3)

This requirement is blocked by the above requirement, because the old API uses Swagger v2, which is incompatible with v3. NestJS uses Swagger v3.

On top of this, the Swagger document should be accurate. This needs some development, and each issue shall be labelled with swagger.

3. API /v1 is refactored, removing hacks and tricks API /v0 had

There are quite many ugly things in the old API. They should be fixed before stabilizing the API. They will require backward incompatible changes to the API.

Issues for refactoring shall be labelled with bw-breaking-refactoring or hack.

4. API /v1 is stable: no breaking changes are introduced

Once all the above requirements are completed, we can call the API /v1 and declare so publicly. /v0 could just redirect to /v1, because we never promised stability for it.

@wkmor1 wkmor1 added the improvement Fixes that are not really bugs and are not really new features label Oct 9, 2024
@wkmor1 wkmor1 changed the title /v1 Evolve API to /v1 Oct 9, 2024
@wkmor1 wkmor1 added this to the API /v1 milestone Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Fixes that are not really bugs and are not really new features
Projects
None yet
Development

No branches or pull requests

2 participants