96 lines
2.9 KiB
Python
96 lines
2.9 KiB
Python
"""Onboarding API endpoints for ALwrity (stable module).
|
|
|
|
This file contains the concrete endpoint functions. It replaces the former
|
|
`backend/api/onboarding.py` monolith to avoid accidental overwrites by
|
|
external tooling. Other modules should import endpoints from this module.
|
|
"""
|
|
|
|
from typing import Dict, Any, List, Optional
|
|
from fastapi import HTTPException
|
|
|
|
# Re-export moved endpoints from modular files
|
|
from .onboarding_utils.endpoints_core import (
|
|
health_check,
|
|
initialize_onboarding,
|
|
get_onboarding_status,
|
|
get_onboarding_progress_full,
|
|
get_step_data,
|
|
)
|
|
from .onboarding_utils.endpoints_management import (
|
|
complete_step as _complete_step_impl,
|
|
skip_step as _skip_step_impl,
|
|
validate_step_access as _validate_step_access_impl,
|
|
start_onboarding as _start_onboarding_impl,
|
|
complete_onboarding as _complete_onboarding_impl,
|
|
reset_onboarding as _reset_onboarding_impl,
|
|
get_resume_info as _get_resume_info_impl,
|
|
)
|
|
from .onboarding_utils.endpoints_config_data import (
|
|
get_api_keys,
|
|
get_api_keys_for_onboarding,
|
|
save_api_key,
|
|
validate_api_keys,
|
|
get_onboarding_config,
|
|
get_provider_setup_info,
|
|
get_all_providers_info,
|
|
validate_provider_key,
|
|
get_enhanced_validation_status,
|
|
get_onboarding_summary,
|
|
get_website_analysis_data,
|
|
get_research_preferences_data,
|
|
check_persona_generation_readiness,
|
|
generate_persona_preview,
|
|
generate_writing_persona,
|
|
get_user_writing_personas,
|
|
save_business_info,
|
|
get_business_info,
|
|
get_business_info_by_user,
|
|
update_business_info,
|
|
# Persona generation endpoints
|
|
generate_writing_personas,
|
|
generate_writing_personas_async,
|
|
get_persona_task_status,
|
|
assess_persona_quality,
|
|
regenerate_persona,
|
|
get_persona_generation_options
|
|
)
|
|
from .onboarding_utils.step4_persona_routes import (
|
|
get_latest_persona,
|
|
save_persona_update
|
|
)
|
|
from .onboarding_utils.endpoint_models import StepCompletionRequest, APIKeyRequest
|
|
|
|
|
|
# Compatibility wrapper signatures kept identical to original
|
|
async def complete_step(step_number: int, request, current_user: Dict[str, Any]):
|
|
return await _complete_step_impl(step_number, getattr(request, 'data', None), current_user)
|
|
|
|
|
|
async def skip_step(step_number: int, current_user: Dict[str, Any]):
|
|
return await _skip_step_impl(step_number, current_user)
|
|
|
|
|
|
async def validate_step_access(step_number: int, current_user: Dict[str, Any]):
|
|
return await _validate_step_access_impl(step_number, current_user)
|
|
|
|
|
|
async def start_onboarding(current_user: Dict[str, Any]):
|
|
return await _start_onboarding_impl(current_user)
|
|
|
|
|
|
async def complete_onboarding(current_user: Dict[str, Any]):
|
|
return await _complete_onboarding_impl(current_user)
|
|
|
|
|
|
async def reset_onboarding():
|
|
return await _reset_onboarding_impl()
|
|
|
|
|
|
async def get_resume_info():
|
|
return await _get_resume_info_impl()
|
|
|
|
|
|
__all__ = [name for name in globals().keys() if not name.startswith('_')]
|
|
|
|
|