-
-
Notifications
You must be signed in to change notification settings - Fork 270
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
feat: add more reusable objects to the components object #792
feat: add more reusable objects to the components object #792
Conversation
Kudos, SonarCloud Quality Gate passed! |
spec/asyncapi.md
Outdated
@@ -1439,11 +1439,15 @@ Field Name | Type | Description | |||
---|:---|--- | |||
<a name="componentsSchemas"></a> schemas | Map[`string`, [Schema Object](#schemaObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Schema Objects](#schemaObject). | |||
<a name="componentsServers"></a> servers | Map[`string`, [Server Object](#serverObject) \| [Reference Object](#referenceObject)] | An object to hold reusable [Server Objects](#serverObject). | |||
<a name="componentsChannels"></a> channels | Map[`string`, [Channel Item Object](#channelItemObject)] | An object to hold reusable [Channel Item Objects](#channelItemObject). | |||
<a name="componentsChannels"></a> channels | Map[`string`, [Channel Item Object](#channelItemObject)] \| [Reference Object](#referenceObject)] | An object to hold reusable [Channel Item Objects](#channelItemObject). | |||
<a name="componentsOperations"></a> operations | Map[`string`, [Operation Item Object](#operationObject)] \| [Reference Object](#referenceObject)] | An object to hold reusable [Operation Item Objects](#operationObject). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@magicmatatjahu would you mind removing operations
from this PR? I already moved them in this one: #806.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fmvilas Done :)
bd12bd5
to
09b4e7f
Compare
@KhudaDad414 Could you check the failing Check Markdown links job? I guess that after merging it f269234 it should be fixed, but it's not. Please correct me if I'm wrong. |
@magicmatatjahu Why this PR is targetting |
spec/asyncapi.md
Outdated
@@ -572,8 +572,8 @@ Field Name | Type | Description | |||
<a name="channelItemObjectRef"></a>$ref | `string` | Allows for an external definition of this channel item. The referenced structure MUST be in the format of a [Channel Item Object](#channelItemObject). If there are conflicts between the referenced definition and this Channel Item's definition, the behavior is *undefined*. <br/><br/>**Deprecated:** Usage of the `$ref` property has been deprecated. | |||
<a name="channelItemObjectDescription"></a>description | `string` | An optional description of this channel item. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation. | |||
<a name="channelItemObjectServers"></a>servers | [`string`] | The servers on which this channel is available, specified as an optional unordered list of names (string keys) of [Server Objects](#serverObject) defined in the [Servers Object](#serversObject) (a map). If `servers` is absent or empty then this channel must be available on all servers defined in the [Servers Object](#serversObject). | |||
<a name="channelItemObjectSubscribe"></a>subscribe | [Operation Object](#operationObject) | A definition of the SUBSCRIBE operation, which defines the messages produced by the application and sent to the channel. | |||
<a name="channelItemObjectPublish"></a>publish | [Operation Object](#operationObject) | A definition of the PUBLISH operation, which defines the messages consumed by the application from the channel. | |||
<a name="channelItemObjectSubscribe"></a>subscribe | [[Operation Object](#operationObject) | A definition of the SUBSCRIBE operation, which defines the messages produced by the application and sent to the channel. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this change needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leftover of removing operations referencing from my PR. I will fix that, good catch!
@smoya I thought it better not to add it to 2.X.X but to 3.0.0 despite the lack of breaking changes. As for |
Considering there is no BC and that it adds a really useful feature, I don't see any reason to not add this into 2.5 release that will happen in September. |
While working on 3.0.0, we'll find a bunch of things that are not BC and could potentially be added to 2.x. However, IMHO, we must be careful not to overimprove 2.x because otherwise, there will be little incentive to migrate to 3.0.0 when it's done. This work was part of a 3.0.0 task and I'd consider it for 3.0.0 only. |
Even though I'm afraid I have to disagree, I can say 👍 to both of you If you consider it is a good strategy to follow. |
What can we do to move this forward, is it only reviews we need @magicmatatjahu ? 🙂 |
b470990
to
dd887e4
Compare
Kudos, SonarCloud Quality Gate passed! |
Yes. Here is also PR for json-schemas asyncapi/spec-json-schemas#245 |
8805c88
to
624ad52
Compare
f6e9509
to
6c1d792
Compare
Kudos, SonarCloud Quality Gate passed! |
it is new feature, should be |
@derberg Right, changed. Thanks! |
I think that it could be merged :) I also have PR in json-schemas asyncapi/spec-json-schemas#245 In ParserJS also asyncapi/parser-js#639 (still draft - without tests) |
/rtm |
🎉 This PR is included in version 3.0.0-next-major-spec.3 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
title: add more reusable objects to the components object
That PR adds more more reusable objects to the components object like
External Documentation Object
andTag Object
.Tags and External Documentation objects are used in several places and it would be a good solution to "convert" them to reusable objects, not inline.
Related issue(s)
Part of #750
PR for
spec-json-schemas
repo asyncapi/spec-json-schemas#245