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

feat(bindings): add SNS AWS bindings #108

Merged
merged 54 commits into from
Jun 12, 2023

Conversation

dpwdec
Copy link
Contributor

@dpwdec dpwdec commented Apr 28, 2023

About the PR

Add SNS bindings

Changelog

Related Issues

None

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you dpwdec for your first pull request to AsyncAPI.NET repository. Please check out our contributors guide.

@dpwdec dpwdec changed the title feat: WIP Add sns channel bindings 🚧 WIP - feat: Add sns bindings 🚧 Apr 28, 2023
@VisualBean
Copy link
Contributor

Its starting to look really good.

Any feedback on the implementation side, to make things a bit easier?

@dpwdec
Copy link
Contributor Author

dpwdec commented May 5, 2023

Any feedback on the implementation side, to make things a bit easier?

@VisualBean It has been pretty good so far. Much smoother than most other open source projects I’ve contributed to. I think you’ve done a good job keeping it flexible but stream lined. My main thing would be that the project just needs more documentation for these things. Some of the helper functions introduced for defining bindings I just of figured out through trial and error as they don’t have any explanatory doc strings so I very much feel like “am I using this as intended” a lot of the time.

I guess some explanation on the architecture would be pretty helpful as well. Why is the project structured/implemented in this way? Maybe ADRs would be good format for doing this.

I suppose it feels a little verbose to have to define reading AND writing as well as the model. But I think I can understand why you’ve done it this way given the constraints of AsyncAPI. This is kind of going towards a feature request. But for properties where the input / output match exactly with the model apart from casing it seems like just being able to define that relationship directly without explicit map or writer would be a very nice addition. It’s a hard one because clearly there’s lots of cases where you might also want that fine grained control over different I/O but I’m finding for most of the stuff I’m working with 80% is pretty straightforward and then there’s a 20% that’s a bit more involved and requires the custom flexibility.

Will be interesting to see when I try creating a custom binding for my own project as well.

@dpwdec
Copy link
Contributor Author

dpwdec commented May 5, 2023

I’m more than happy to do a docs PR after this though to document some of what I’ve learned so that other people with no exposure to the project might be able to get involved more easily

@VisualBean VisualBean force-pushed the main branch 2 times, most recently from ad41486 to 5952b24 Compare June 2, 2023 08:49
BREAKING CHANGE: Bindings have been moved to a separate project
@VisualBean VisualBean changed the title feat: add SNS AWS bindings feat(Bindings): add SNS AWS bindings Jun 7, 2023
@VisualBean VisualBean changed the title feat(Bindings): add SNS AWS bindings feat(bindings): add SNS AWS bindings Jun 9, 2023
@dpwdec
Copy link
Contributor Author

dpwdec commented Jun 9, 2023

@VisualBean This one should also be good to go now as well, integrated the StringOrStringList stuff into it. But let me know if you have any other comments 🙏

public Protocol Protocol { get; set; }

/// <summary>
/// Where are messages being delivered to?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems odd that these are questions. 😅

Copy link
Contributor Author

@dpwdec dpwdec Jun 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@VisualBean updated! 🙇‍♂️ (I will reflect the change in binding specification as well)

@VisualBean VisualBean merged commit d48f166 into LEGO:main Jun 12, 2023
@VisualBean
Copy link
Contributor

Great work @dpwdec. Ive merged and pushed the official v4. Thanks a lot for your contributions and commitment

@dpwdec
Copy link
Contributor Author

dpwdec commented Jun 12, 2023

@VisualBean And thanks for all your help and support with getting it reviewed and completed! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants