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

Some ideas for the future #13

Closed
fpseverino opened this issue Sep 29, 2024 · 1 comment · Fixed by #19
Closed

Some ideas for the future #13

fpseverino opened this issue Sep 29, 2024 · 1 comment · Fixed by #19

Comments

@fpseverino
Copy link
Member

fpseverino commented Sep 29, 2024

Hi everyone, I would like to hear your opinion about the following ideas I have for this package:

  1. Changing the name of the package into "vapor-community/wallet" (vapor-wallet is already taken), for multiple reasons:
    • Right now PassKit is strongly tied to Vapor, and usually, when we use "Kit" in a package name, it means that it's an indipendent library.
    • Nowadays PassKit doesn't deal only with Apple Wallet passes, but also with Apple Wallet orders, and maybe in the future with Google Wallet passes too.
    • PassKit is the name of the Apple framework and also of a company that deals with digital passes, so it could be confusing.
  2. Separating this package into three:
    • swift-wallet: A package that depends only on swift-certificates and Zip that handles only the signing and building of passes and orders. When Encrypted PEM keys apple/swift-crypto#264 will be solved, this package will be available on all platforms.
    • fluent-wallet: A package that depends only on FluentKit and swift-wallet and holds all models and DTOs related to passes and orders, so that they can be used with every web framework that supports Fluent (AKA Vapor and Hummingbird).
    • Last but not least, this package (and a future Hummingbird one) will depend on swift-wallet and fluent-wallet, and will handle API routes and auth middleware. When the SSWG HTTP server and middleware library will come out we could consider creating another common package, making the Vapor and Hummingbird providers even thinner.
  3. Getting rid of the delegate pattern used in the services. Users could pass to the service initializer all the parameters and closures needed, instead of a delegate with properties and functions. ✅ Done!

Please let me know what do you think about all of this!

@wibed
Copy link

wibed commented Oct 20, 2024

wouldnt it be more usefull to have passkit repo take care of the package and hand the repo once it is done to passkit?

once it changes changes domains from passkit to something else its becomes a technical overhead to maintain as divergence is guaranteed.

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

Successfully merging a pull request may close this issue.

2 participants