alpha
Login
or
Join now
lgtm.shop
/
commerce
Star
5
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Pilot atproto-native commerce backend
Star
5
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
commerce
/
crates
/
server
/
src
/
routes
/
at
main
10 files
Nate Moore
refactor(server): clearer 'unresolved actor' reason; sync design doc to Extension injection
5d ago
38581d11
buyer_auth.rs
feat(oauth): buyer Sign in with atproto routes POST /auth/login (authorize -> {url}), GET /auth/callback (exchange -> getSession email -> upsert buyer -> session cookie -> redirect to storefront), GET /api/session ({did,email}|401), POST /auth/logout, GET /client-metadata.json. OAuth client built from config+pool, provided as an Extension (CartStore pattern), mounted in router_inner. Least-privilege account:email scope. Live authorize/ callback need a real PDS; offline-testable parts (client-metadata, scopes) green; 117 server tests unregressed. Admin rewrite + scaffold deletion deferred.
2 weeks ago
claims.rs
server: POST /api/claims/attest (owner-gated) + GET /api/backers (T42) POST /api/claims/attest: joins order -> space, checks space.skey == x-buyer-did header (SPEC §8 ownership); non-owner -> 403. On success delegates to AttestService seam and returns {attestation_ref}. GET /api/backers: returns verified=true AND revoked=false claims only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
entitlements.rs
server: gated receipts + signed-URL downloads with revocation check (T41) GET /api/receipts/:id: buyer_did header must match receipt.buyer_did; mismatch or missing -> 404 (no existence leak, SPEC §17). GET /api/entitlements/:id/download: DownloadVerifier seam checks sig+exp, then revoked_at from receipt_record must be NULL; any fail -> 403. test_support.rs: shared state_for_test builder + no_op_downloads/fixed_attestor. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
link.rs
feat(link): device-link endpoints — code mint/status/unlink + browser OAuth with DID-equality gate
5 days ago
mod.rs
feat(server): pds capability_json builder
5 days ago
pds.rs
refactor(server): clearer 'unresolved actor' reason; sync design doc to Extension injection
5 days ago
public.rs
feat(xrpc): streamOrder SSE handler — snapshot, Last-Event-ID replay, heartbeat, 10m cap
3 weeks ago
stream.rs
test(db): guard embedded migrations include order_event; docs: streamOrder + event-log spine - db: extend the migration test to assert run_migrations (embedded sqlx::migrate!) produces order_event + its trigger, catching the compile-time-embedding staleness that ships a stale schema when a new migration doesn't trigger a db recompile. - docs: REFERENCE.md (order_event table + streamOrder/event-spine section) and SPEC.md (streamOrder read-plane method row). - stream.rs: drop a redundant StreamExt import (clippy).
3 weeks ago
webhooks.rs
feat(webhook): seal Stripe shipping recipient onto order + persist amounts 0010 adds order_record.recipient_enc. On checkout.session.completed the webhook seals {name,email,address} with the master key into recipient_enc and records Stripe's authoritative shipping/tax/total, before flipping the order to paid. Only fires when an address was collected. db guard extended for 0010.
2 weeks ago
xrpc.rs
feat(server): accept <DID|handle> on getAccount/listAddresses/createAddress Adds a Resolver extension + resolve_actor_param helper; the buyer param on these XRPC methods now accepts a handle or a DID (DID inputs resolve with no network, so existing callers are unchanged). getOrder's shop param left as-is (store self-identifier).
5 days ago