Service layer: - Remove db.commit() calls from credentials_service.py (SVC-006) - Move transaction control to API endpoint level - Rename client.py -> client_service.py (NAM-002) - Rename credentials.py -> credentials_service.py (NAM-002) JavaScript: - Use centralized logger in admin letzshop.js (JS-001) - Replace console.log/error with LogConfig logger Frontend templates: - Use page_header_flex macro for page header (FE-007) - Use error_state macro for error display (FE-003) - Use table_wrapper macro for vendors table (FE-005) - Use modal macro for configuration and orders modals (FE-004) All 31 Letzshop tests pass. Architecture validation: 0 errors, 0 warnings. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
46 lines
964 B
Python
46 lines
964 B
Python
# app/services/letzshop/__init__.py
|
|
"""
|
|
Letzshop marketplace integration services.
|
|
|
|
Provides:
|
|
- GraphQL client for API communication
|
|
- Credential management service
|
|
- Order import service
|
|
- Fulfillment sync service
|
|
"""
|
|
|
|
from .client_service import (
|
|
LetzshopAPIError,
|
|
LetzshopAuthError,
|
|
LetzshopClient,
|
|
LetzshopClientError,
|
|
LetzshopConnectionError,
|
|
)
|
|
from .credentials_service import (
|
|
CredentialsError,
|
|
CredentialsNotFoundError,
|
|
LetzshopCredentialsService,
|
|
)
|
|
from .order_service import (
|
|
LetzshopOrderService,
|
|
OrderNotFoundError,
|
|
VendorNotFoundError,
|
|
)
|
|
|
|
__all__ = [
|
|
# Client
|
|
"LetzshopClient",
|
|
"LetzshopClientError",
|
|
"LetzshopAuthError",
|
|
"LetzshopAPIError",
|
|
"LetzshopConnectionError",
|
|
# Credentials
|
|
"LetzshopCredentialsService",
|
|
"CredentialsError",
|
|
"CredentialsNotFoundError",
|
|
# Order Service
|
|
"LetzshopOrderService",
|
|
"OrderNotFoundError",
|
|
"VendorNotFoundError",
|
|
]
|