-
-
Notifications
You must be signed in to change notification settings - Fork 21
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
Convert OpenAPI 3.0 to AsyncAPI 3.0 #233
Comments
Bounty Issue's service commentText labels: @asyncapi/bounty_team |
@jonaslagoni I am interested in this issue, can you assign to me? Proof of asyncapi/generator#1061 of previous bounty issue |
@AayushSaini101, taking into account the commit history of PR asyncapi/generator#1061 (your own changes are simple and a lot of coding help is provided by @derberg,) I would propose you to concentrate on only one Bounty Issue of Complexity Level |
Thanks @aeworxet |
Hi, @jonaslagoni can you assign this issue to me. |
@alaminthespecial quick question, how will you approach the task, besides what I already wrote in the issue? 🙂 |
|
@alaminthespecial based on your previous contributions and your described approach I don't think it's something you can achieve in the bounty window. It sounds like there is too much groundwork that needs to be laid before you get to solving the problem at hand 🙂 Please have a look at some of the other issues for bounties ✌️ |
Thank you @jonaslagoni but I believe in learning by doing and In my previous contribution I was new to open source could you give me a try . |
@alaminthespecial nothing is stopping you from contributing this, but it will not be as part of the selected bounty program 🙂 |
hello @jonaslagoni, i want to work on this issue. |
@axif0 as part of the bounty program or regular contribution? As this issue is harder than regular |
Hey @jonaslagoni i would like to attempt this I have prepared an outline for the first objective
As. openApi 3.0.0 is mostly similar with asyncapi 2.6.0 version i have thought the solution to convert(or use) openAPI to asyncapi 2.6.0 first.
interface OpenAPIInfo {
title: string;
description?: string;
termsOfService?: string;
contact?: OpenAPIContact;
license?: OpenAPILicense;
version: string;
}
interface AsyncAPIInfo {
title: string;
description?: string;
termsOfService?: string;
contact?: AsyncAPIContact;
license?: AsyncAPILicense;
version: string;
}
function convertInfo(info: OpenAPIInfo): AsyncAPIInfo {
return {
title: info.title,
description: info.description,
termsOfService: info.termsOfService,
contact: info.contact,
license: info.license,
version: info.version,
};
}
|
@Gmin2 it will not be impossible to convert OpenAPI to AsyncAPI v2 as they are simply not compatible when it comes to operations, channels, and reply is not even an option. You are completely right on first step though. How will you achieve the last two?
|
@Gmin2 please ready through your proposal again and compare it with what is being asked 😅 You are reversing stuff |
cc @jonaslagoni |
This is wrong, it will only be receive, if it's from the server's perspective that we generate the AsyncAPI document to document the server as the application. It will be send for a client application. This is the tough problem to solve for this entire task ✌️ Might need an option to determine which application you generate for 🙂 @Gmin2 sounds like you are on the right track 💪 Let me know how I can help, and are you looking to solve this under the bounty program or just as a regular contribution? |
i would like to solve it under the bounty program |
Bounty Issue's Timeline
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.Keep in mind the responsibility for violations of the Timeline. |
Could use the |
@Shurtu-gal could easily be yea 👍 @Gmin2 do you need anything from me to get started with the first step, or just in general? |
going fine will ping you in slack when i need any help |
I need an extension of two weeks for this issue to be completed |
Upon request of the Bounty Program Participant (@Gmin2), all remaining target dates of the Bounty Issue's Timeline are extended by two calendar weeks. Bounty Issue's Timeline Extended
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.Keep in mind the responsibility for violations of the Timeline. |
AsyncAPI Maintainer (@jonaslagoni) delayed response for one period of three consequent working days Bounty Issue's Timeline Extended
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.Keep in mind the responsibility for violations of the Timeline. |
Might as well extend it two more weeks @aeworxet unless one of the other maintainers continues the review or it finishes tomorrow, as I will be AFK until the 12th. |
Upon suggestion of the AsyncAPI Maintainer, who is responsible for the resolution of the Bounty Issue from the AsyncAPI's side (@jonaslagoni), all remaining target dates of the Bounty Issue's Timeline are extended by four calendar weeks. Bounty Issue's Timeline Extended
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.Keep in mind the responsibility for violations of the Timeline. |
🎉 This issue has been resolved in version 1.5.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Bounty issue completed |
Bounty Issue Completed 🎉@Gmin2, please go to the AsyncAPI page on Open Collective and submit an invoice for |
This issue is part of a longer vision for the converter that can be found here: #221
It would be great to open up how easily people can switch or try out AsyncAPI based on existing resources. One of these is OpenAPI 3.0: https://spec.openapis.org/oas/v3.0.3. With the new AsyncAPI v3, we should be able to map this 100% from OpenAPI to AsyncAPI.
In order to solve this it requires a lot of conversion that might not be straightforward. While this issue is tagged as a
good first issue
it requires a lot of effort to push through, on the bright side, solving this issue will help you gain knowledge about OpenAPI and AsyncAPI, and how they relate and differentiate. Of course alongside a huge deal of TS, testing, documentation, and working in Open Source in general.To make it easier to digest, this issue can be split up into multiple sections to simplify the process of solving this:
openapi
,info
,servers
,tags
,externalDocs
, andsecurity
.paths
keyword into channels and operations in AsyncAPIPotential next steps that should NOT be focused on right now
The text was updated successfully, but these errors were encountered: