feat(loyalty): wallet debug page, Google Wallet fixes, and module config env_file standardization
Some checks failed
Some checks failed
- Add wallet diagnostics page at /admin/loyalty/wallet-debug (super admin only) with explorer-sidebar pattern: config validation, class status, card inspector, save URL tester, recent enrollments, and Apple Wallet status panels - Fix Google Wallet fat JWT: include both loyaltyClasses and loyaltyObjects in payload, use UNDER_REVIEW instead of DRAFT for class reviewStatus - Fix StorefrontProgramResponse schema: accept google_class_id values while keeping exclude=True (was rejecting non-None values) - Standardize all module configs to read from .env file directly (env_file=".env", extra="ignore") matching core Settings pattern - Add MOD-026 architecture rule enforcing env_file in module configs - Add SVC-005 noqa support in architecture validator - Add test files for dev_tools domain_health and isolation_audit services - Add google_wallet_status.py script for querying Google Wallet API - Use table_wrapper macro in wallet-debug.html (FE-005 compliance) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -232,9 +232,9 @@ class StorefrontProgramResponse(ProgramResponse):
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
google_issuer_id: None = Field(None, exclude=True)
|
||||
google_class_id: None = Field(None, exclude=True)
|
||||
apple_pass_type_id: None = Field(None, exclude=True)
|
||||
google_issuer_id: str | None = Field(None, exclude=True)
|
||||
google_class_id: str | None = Field(None, exclude=True)
|
||||
apple_pass_type_id: str | None = Field(None, exclude=True)
|
||||
|
||||
|
||||
class ProgramListResponse(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user