Files
cardclaws/cardclaws-backend/crates/cardclaws-wallet/Cargo.toml
T
Omar SobhandClaude Opus 4.8 8ae1d8f263 Phase 2 backend: Google Wallet pass + profile contact form
- cardclaws-wallet::google — inline GenericObject + RS256 `savetowallet` JWT
  (Rs256Signer via jsonwebtoken; FakeGoogleSigner test double)
- POST /v1/cards/{id}/wallet/google → { saveUrl }
- POST /v1/profile/{handle}/contact — validate, rate-limit, record
  contact_form_submission, email the owner (HTML-escaped, Resend)
- WalletConfig gains google issuer id + service account email

84 backend tests; fmt + clippy clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-04 12:32:21 -05:00

36 lines
1.0 KiB
TOML

[package]
name = "cardclaws-wallet"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
[lints]
workspace = true
[features]
# Real Apple PKCS#7 signing pulls in the (heavy) openssl dependency. Off by
# default so the crate and its tests build fast against the fake signer; the
# production binary enables it. The signing code is fully implemented either way.
default = []
apple-signing = ["dep:openssl"]
[dependencies]
cardclaws-types = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
sha1 = { workspace = true }
zip = { workspace = true }
image = { workspace = true }
thiserror = { workspace = true }
# Google Wallet "save" JWT (RS256). jsonwebtoken is pure-Rust, so this is always
# compiled (unlike the openssl-backed Apple signer).
jsonwebtoken = { workspace = true }
base64 = { workspace = true }
openssl = { version = "0.10", features = ["vendored"], optional = true }
[dev-dependencies]
zip = { workspace = true }
serde_json = { workspace = true }
sha1 = { workspace = true }