Spaces:
Sleeping
Sleeping
| """Service layer: business logic and external I/O. | |
| Modules in this package talk to Supabase, AI providers, and the file | |
| system. They never import from :mod:`app.api` (the routers depend on | |
| them, not the other way around). | |
| """ | |
| from . import ( | |
| supabase_service, | |
| challenge_loader, | |
| scenario_service, | |
| evaluator, | |
| completion_service, | |
| certificate_service, | |
| file_storage, | |
| ) | |
| from .supabase_service import ( | |
| supabase_headers, | |
| scenario_table, | |
| get_supabase_scenario_count, | |
| fetch_scenario_by_id, | |
| fetch_random_scenario_from_supabase, | |
| delete_scenario_from_supabase, | |
| insert_scenario_to_supabase, | |
| ) | |
| from .challenge_loader import ( | |
| map_encryption_row_to_training, | |
| map_code_fixing_row_to_training, | |
| map_log_analysis_row_to_training, | |
| map_vuln_hunter_row_to_training, | |
| ) | |
| from .scenario_service import ( | |
| generate_scenario_from_groq, | |
| generate_challenge_from_scenario, | |
| generate_challenge_from_groq, | |
| generate_and_store_scenario, | |
| handle_background_replacement, | |
| map_scenario_to_list_item, | |
| attach_scenario_metadata, | |
| ) | |
| from .evaluator import ( | |
| evaluate_training, | |
| evaluate_code_fix, | |
| evaluate_log_analysis, | |
| evaluate_vuln_hunter, | |
| ai_evaluate_code_fix, | |
| ) | |
| from .completion_service import ( | |
| record_user_completion, | |
| count_completions, | |
| ) | |
| from .certificate_service import ( | |
| handle_certificates, | |
| download_certificate_pdf, | |
| verify_certificate, | |
| cert_progress, | |
| make_verify_code, | |
| build_cert_title, | |
| category_label, | |
| ) | |
| from .file_storage import ( | |
| upload_challenge_file, | |
| ) | |
| __all__ = [ | |
| # modules | |
| "supabase_service", | |
| "challenge_loader", | |
| "scenario_service", | |
| "evaluator", | |
| "completion_service", | |
| "certificate_service", | |
| "file_storage", | |
| # supabase | |
| "supabase_headers", | |
| "scenario_table", | |
| "get_supabase_scenario_count", | |
| "fetch_scenario_by_id", | |
| "fetch_random_scenario_from_supabase", | |
| "delete_scenario_from_supabase", | |
| "insert_scenario_to_supabase", | |
| # challenge_loader | |
| "map_encryption_row_to_training", | |
| "map_code_fixing_row_to_training", | |
| "map_log_analysis_row_to_training", | |
| "map_vuln_hunter_row_to_training", | |
| # scenario_service | |
| "generate_scenario_from_groq", | |
| "generate_challenge_from_scenario", | |
| "generate_challenge_from_groq", | |
| "generate_and_store_scenario", | |
| "handle_background_replacement", | |
| "map_scenario_to_list_item", | |
| "attach_scenario_metadata", | |
| # evaluator | |
| "evaluate_training", | |
| "evaluate_code_fix", | |
| "evaluate_log_analysis", | |
| "evaluate_vuln_hunter", | |
| "ai_evaluate_code_fix", | |
| # completion | |
| "record_user_completion", | |
| "count_completions", | |
| # certificate | |
| "handle_certificates", | |
| "download_certificate_pdf", | |
| "verify_certificate", | |
| "cert_progress", | |
| "make_verify_code", | |
| "build_cert_title", | |
| "category_label", | |
| # file_storage | |
| "upload_challenge_file", | |
| ] | |