alpha
Login
or
Join now
lgtm.shop
/
commerce
Star
6
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
6
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
/
admin
/
at
main
6 files
Nate Moore
feat: variant option model + at-uri variant contract
6w ago
e20f4939
auth.rs
fix(server): gate ALL mutating admin routes behind auth (close unauthenticated create/refund/settings bypass) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
layout.rs
server: admin atproto OAuth gate, Maud layout, rust-embed static assets (T43) - Add admin module with rust-embed Assets serving /admin/static/* - Implement is_authorized_admin (DID equality gate) + SESSION_DID_KEY - Implement require_admin session guard (redirect unauthenticated → start) - Implement auth_routes: POST /admin/auth/atproto/start (PKCE) + GET callback (token exchange is M4-deferred stub; CSRF validation is live) - Maud layout() returns Html<String> via axum::response::Html (maud 0.26 has no axum feature) - Add PublicWriter trait + PublicWriteOut to AppState; ProductionPublicWriter in main.rs - Update all AppState initializers (test_support, route tests) with public_writer field - Session redirect test: assert is_redirection() (axum Redirect::to → 303, not 302) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
mod.rs
server: admin atproto OAuth gate, Maud layout, rust-embed static assets (T43) - Add admin module with rust-embed Assets serving /admin/static/* - Implement is_authorized_admin (DID equality gate) + SESSION_DID_KEY - Implement require_admin session guard (redirect unauthenticated → start) - Implement auth_routes: POST /admin/auth/atproto/start (PKCE) + GET callback (token exchange is M4-deferred stub; CSRF validation is live) - Maud layout() returns Html<String> via axum::response::Html (maud 0.26 has no axum feature) - Add PublicWriter trait + PublicWriteOut to AppState; ProductionPublicWriter in main.rs - Update all AppState initializers (test_support, route tests) with public_writer field - Session redirect test: assert is_redirection() (axum Redirect::to → 303, not 302) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
orders.rs
fix: route admin refund through set_order_status seam; snake_case remaining status guards/assertions Review follow-up to the casing normalization: - admin/orders.rs refund path now uses the set_order_status seam (kills dead_code) - dev.rs /dev/pay read-guard matched PascalCase (never fired on snake rows) -> fixed - e2e.rs + production.rs stale assertions -> paid / fulfilling (fulfilled is reducer-driven) - production.rs fixture + webhooks comment normalized
1 month ago
products.rs
feat: variant option model + at-uri variant contract Surface the lexicon's option axes as first-class data across the read plane so storefronts can build variant selectors without inferring from SKUs. - lexicon: variantView gains variantUri (at-uri, replaces the bare-UUID `uri`), optionValues, and title; productView gains ordered `options` axes - migration 0009: product.options, variant.option_values, variant.title - read plane: synthesize canonical variant at-uris at projection time (variant_view + cart view); surface options/optionValues/title - setCartItem: accept variantUri (or bare UUID for back-compat), validate existence + tenant ownership up front (404) instead of deferring to checkout - importer: populate option_values/title per variant and aggregate product.options from Printful size/color; idempotency comparison extended so pre-existing rows backfill on the next run BREAKING: variantView.uri removed in favor of variantUri.
1 month ago
settings.rs
feat(server): route Printful webhooks (URL token) + persist FulfillmentShipped - webhooks.rs resolves payment-then-fulfillment_by_id and passes the request query to verify_webhook; a valid Printful package_shipped marks the order's fulfillment 'shipped' and stores carrier tracking. - Update the trait's test/no-op verify_webhook impls across server + worker for the new query param. - Add route tests: valid token -> 200 + shipped; wrong token -> 400, row untouched.
1 month ago