-
Notifications
You must be signed in to change notification settings - Fork 154
Introduce GqlStatusObject support as notifications to ResultSummary
#1194
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
Introduce GqlStatusObject support as notifications to ResultSummary
#1194
Conversation
The bolt protocol 5.5 should support a slightly different way of configuring notifications filtering. This new configuration change the name of categories to classification to be aligned with the definitions on Gql standard. This changes doesn't includes add the protocol to handshake and the proper configuration on the driver side.
support as notifications to ResultSummary` support as notifications to ResultSummary`
support as notifications to ResultSummary`GqlStatusObject support as notifications to ResultSummary
Co-authored-by: Stephen Cathcart <stephen.m.cathcart@gmail.com>
packages/bolt-connection/test/bolt/behaviour/notification-filter.js
Outdated
Show resolved
Hide resolved
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.
Couple of general questions but other than that it seems to meet the ADR spec well 😄 👍
|
PR description is not up-to-date.
I thought this isn't the case.
This only applies to the reactive driver, doesn't it? Might be worth being explicit here.
See first point. |
Co-authored-by: Robsdedude <dev@rouvenbauer.de>
Co-authored-by: Robsdedude <dev@rouvenbauer.de>
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.
🔔
Co-authored-by: Robsdedude <dev@rouvenbauer.de>
Introduces
ResultSummary.gqlStatusObjectsas preview feature.GqlStatusObjectis a GQL compliantNotificationobject and status of query execution, this new object includesgqlStatusandstatusDescription.ResultSummary.gqlStatusObjectsalways contains at least 1 status representing theSuccess,No DataorOmitted Result. When discarding records in a RxSession while connected to a non-GQL-aware server, the driver might not be able to tell apartSuccessandNo Data.The GqlStatusObjects will be presented in the following order:
02xxx) has precedence over a warning;01xxx) has precedence over a success.00xxx) has precedence over anything informational (03xxx)Migrating from Notification
Most of the properties present in the
Notificationare present in the new object, exceptcodeandtitle.The
GqlStatusObject.gqlStatusis equivalent ofcodein theNotification, but with values compliant with GQL.The properties
GqlStatusObject.classificationandGqlStatusObject.rawClassificationare equivalent toNotification.categoryandNotification.rawCategory. The name change is needed becausecategoryhas a different meaning in GQL.Configuration
Filtering
gqlStatusObjectscan be done using in the same way as filteringnotifications. However, non-notification status can not be filtered (such asSuccessorNo Data).The property
disabledClassificationswas added toNotificationFilterfor being named consistently with GQL. This property is equivalent todisabledCategoriesand it be can used interchangeably. However, they can not be used at the same time. An exception will be raised in this scenario.