File size: 2,929 Bytes
80a4a65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
"""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",
]