TorbatYar/backend/services/beauty_business/app/providers/mocks.py
Mortezakoohjani d579d0b142 feat(loyalty): add Loyalty Platform Frontend module
Add frontend/modules/loyalty with types, API client, design system, feature pages and thin App Router routes under app/loyalty/. BFF proxy at app/api/loyalty/. Include loyalty frontend docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 10:50:55 +03:30

75 lines
2.2 KiB
Python

"""No-op mock implementations of platform provider contracts — Phase 14.7."""
from __future__ import annotations
from typing import Any
from uuid import UUID
class MockAccountingProvider:
async def create_receivable_ref(
self, *, tenant_id: UUID, reference: str, payload: dict[str, Any]
) -> dict[str, Any]:
return {"ok": True, "reference": reference, "provider": "mock_accounting"}
class MockCRMProvider:
async def resolve_contact(
self, *, tenant_id: UUID, contact_ref: str
) -> dict[str, Any]:
return {"ok": True, "contact_ref": contact_ref, "provider": "mock_crm"}
class MockLoyaltyProvider:
async def resolve_member(
self, *, tenant_id: UUID, member_ref: str
) -> dict[str, Any]:
return {"ok": True, "member_ref": member_ref, "provider": "mock_loyalty"}
class MockCommunicationProvider:
async def send(
self,
*,
tenant_id: UUID,
channel: str,
template_key: str,
to: str,
payload: dict[str, Any],
) -> None:
return None
class MockDeliveryProvider:
async def create_delivery_ref(
self, *, tenant_id: UUID, reference: str, payload: dict[str, Any]
) -> dict[str, Any]:
return {"ok": True, "reference": reference, "provider": "mock_delivery"}
class MockExperienceProvider:
async def resolve_site(
self, *, tenant_id: UUID, site_ref: str
) -> dict[str, Any]:
return {"ok": True, "site_ref": site_ref, "provider": "mock_experience"}
class MockStorageProvider:
async def resolve_file(
self, *, tenant_id: UUID, file_ref: str
) -> dict[str, Any]:
return {"ok": True, "file_ref": file_ref, "provider": "mock_storage"}
class MockIdentityProvider:
async def resolve_user(
self, *, tenant_id: UUID, user_ref: str
) -> dict[str, Any]:
return {"ok": True, "user_ref": user_ref, "provider": "mock_identity"}
class MockBookingEngineProvider:
async def reserve_slot(
self, *, tenant_id: UUID, request: dict[str, Any]
) -> dict[str, Any]:
return {"ok": True, "provider": "mock_booking_engine", "request": request}