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

Active? Want to integrate Custom OpenAPI Scalars & persisted Web-Hooks with better auth & multi-instancable by Redis/Mongo #1423

Open
paul-reventwork opened this issue Feb 9, 2024 · 2 comments

Comments

@paul-reventwork
Copy link

Hello everyone and thanks a lot for your great work!

I am already looking forward to integrate SOFA into our GraphQL-architecture.

But before doing so, we must ensure that SOFA can fulfill all of our requirements, and since this is an (awesome) Open Source project I would love to integrate my proposals into the package as optional settings. These would be my goals:

Custom OpenAPI Scalars

As described in FEATURE REQUEST Missing functionality to represent user scalars as swagger types I would love to have the possibility to transform our custom Scalars (Mongoose-ObjectID, DateTimeISO and JSON) into defined OpenAPI Types.

Optimized Web-Hooks/Subscriptions

Since we want to scale our product, it must be possible for us to run different instances of SOFA-APIs on different pods in Kubernetes. In the case that a pod closes, we have to ensure, that the subscription/web-hook is persisted somehow, preferrable on redis or mongoDB, marked as "observed" by one instance, and "unobserved" when an instance is closing, so another instance can grab and "observe" it again. When building this I would also integrate the possibility to send a header-like object on subscribing, which authorizes the web-hook when sending the data back.

What do you think about these changes? Anything else to consider?
Of course these will be optional settings, so anything will work as usual when not including "my" custom settings.

And since this is one of my first open source contributions, I maybe need some guidance on how to do it:

As far as I know, I would go and create new branches per feature and commit the features and depending tests on them, maybe even with GitHub Codespaces. Afterwards I'll publish the two Pull Requests, explaining what I did.

And because this might be kind of urgent, what could I expect on how much time it would take for you guys to merge and publish these changes into any npm-installable build? I would start in around 3-4 weeks, take maybe one week, and it would be awesome to have it installable in something around 4 weeks after PR. Is that possible?

Best regards,

Paul

@Urigo
Copy link
Owner

Urigo commented Feb 15, 2024

Thank you for sharing @paul-reventwork !
First of all, sorry for the late response.
These features seems very useful and we would love to support you in adding these to SOFA.
In terms of timelines, we can connect also through Slack for example to make sure we respond in a timely manner so you can get your contribution added and that we'll give you the right feedback in the right time

@paul-reventwork
Copy link
Author

Hey @Urigo and thank you for the kind response.
For sure, my email is [email protected] :)

Best regards

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

No branches or pull requests

2 participants