ALwrity + Wordpress + Wix + GSC integration
This commit is contained in:
66
backend/api/onboarding_utils/endpoint_models.py
Normal file
66
backend/api/onboarding_utils/endpoint_models.py
Normal file
@@ -0,0 +1,66 @@
|
||||
from typing import Dict, Any, List, Optional
|
||||
from pydantic import BaseModel, Field
|
||||
from services.api_key_manager import (
|
||||
OnboardingProgress,
|
||||
get_onboarding_progress,
|
||||
get_onboarding_progress_for_user,
|
||||
StepStatus,
|
||||
StepData,
|
||||
APIKeyManager,
|
||||
)
|
||||
|
||||
|
||||
class StepDataModel(BaseModel):
|
||||
step_number: int
|
||||
title: str
|
||||
description: str
|
||||
status: str
|
||||
completed_at: Optional[str] = None
|
||||
data: Optional[Dict[str, Any]] = None
|
||||
validation_errors: List[str] = []
|
||||
|
||||
|
||||
class OnboardingProgressModel(BaseModel):
|
||||
steps: List[StepDataModel]
|
||||
current_step: int
|
||||
started_at: str
|
||||
last_updated: str
|
||||
is_completed: bool
|
||||
completed_at: Optional[str] = None
|
||||
|
||||
|
||||
class StepCompletionRequest(BaseModel):
|
||||
data: Optional[Dict[str, Any]] = None
|
||||
validation_errors: List[str] = []
|
||||
|
||||
|
||||
class APIKeyRequest(BaseModel):
|
||||
provider: str = Field(..., description="API provider name (e.g., 'openai', 'gemini')")
|
||||
api_key: str = Field(..., description="API key value")
|
||||
description: Optional[str] = Field(None, description="Optional description")
|
||||
|
||||
|
||||
class OnboardingStatusResponse(BaseModel):
|
||||
is_completed: bool
|
||||
current_step: int
|
||||
completion_percentage: float
|
||||
next_step: Optional[int]
|
||||
started_at: str
|
||||
completed_at: Optional[str] = None
|
||||
can_proceed_to_final: bool
|
||||
|
||||
|
||||
class StepValidationResponse(BaseModel):
|
||||
can_proceed: bool
|
||||
validation_errors: List[str]
|
||||
step_status: str
|
||||
|
||||
|
||||
def get_progress() -> OnboardingProgress:
|
||||
return get_onboarding_progress()
|
||||
|
||||
|
||||
def get_api_key_manager() -> APIKeyManager:
|
||||
return APIKeyManager()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user