File size: 2,242 Bytes
aac350d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23d337e
 
 
 
aac350d
 
 
 
7e25f7a
 
 
 
 
 
 
 
f5eeb1c
 
 
 
7e25f7a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aac350d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""
FastAPI dependency injection helpers.

Routes use these to pull services off the request-scoped container.
"""

from __future__ import annotations

from fastapi import Request

from api.container import ServiceContainer


def get_container(request: Request) -> ServiceContainer:
    """Returns the app-wide ServiceContainer."""
    return request.app.state.container


# Per-service dependency callables (use as `Depends(get_detection_service)`)
def get_settings(request: Request):
    return get_container(request).settings


def get_detection_service(request: Request):
    return get_container(request).detection_service


def get_recognition_service(request: Request):
    return get_container(request).recognition_service


def get_search_service(request: Request):
    return get_container(request).search_service


def get_analysis_service(request: Request):
    return get_container(request).analysis_service


def get_job_service(request: Request):
    return get_container(request).job_service


def get_osint_service(request: Request):
    return get_container(request).osint_service


def get_face_intelligence_service(request: Request):
    return get_container(request).face_intelligence_service


def get_face_index_service(request: Request):
    return get_container(request).face_index_service


def get_forensic_metadata_service(request: Request):
    return get_container(request).forensic_metadata_service


def get_object_intelligence_service(request: Request):
    return get_container(request).object_intelligence_service


def get_location_intelligence_service(request: Request):
    return get_container(request).location_intelligence_service


def get_correlation_engine_service(request: Request):
    return get_container(request).correlation_engine_service


def get_provider_service(request: Request):
    return get_container(request).provider_service


def get_cache_service(request: Request):
    return get_container(request).cache_service


def get_health_service(request: Request):
    return get_container(request).health_service


def get_export_service(request: Request):
    return get_container(request).export_service


def get_metrics(request: Request):
    return get_container(request).metrics