-
Notifications
You must be signed in to change notification settings - Fork 63
/
resources.py
63 lines (56 loc) · 1.71 KB
/
resources.py
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
from maggma.api.query_operator.dynamic import NumericQuery
from maggma.api.resource import ReadOnlyResource
from emmet.core.thermo import ThermoDoc
from emmet.core.thermo import PhaseDiagramDoc
from maggma.api.query_operator import (
PaginationQuery,
SortQuery,
SparseFieldsQuery,
)
from emmet.api.routes.thermo.query_operators import (
IsStableQuery,
MultiThermoIDQuery,
MultiThermoTypeQuery,
)
from emmet.api.core.global_header import GlobalHeaderProcessor
from emmet.api.routes.materials.query_operators import (
MultiMaterialIDQuery,
FormulaQuery,
ChemsysQuery,
)
from emmet.api.core.settings import MAPISettings
def phase_diagram_resource(phase_diagram_store):
resource = ReadOnlyResource(
phase_diagram_store,
PhaseDiagramDoc,
tags=["Thermo"],
sub_path="/phase_diagram/",
disable_validation=True,
enable_default_search=False,
header_processor=GlobalHeaderProcessor(),
)
return resource
def thermo_resource(thermo_store):
resource = ReadOnlyResource(
thermo_store,
ThermoDoc,
query_operators=[
MultiThermoIDQuery(),
MultiMaterialIDQuery(),
MultiThermoTypeQuery(),
FormulaQuery(),
ChemsysQuery(),
IsStableQuery(),
NumericQuery(model=ThermoDoc),
SortQuery(),
PaginationQuery(),
SparseFieldsQuery(
ThermoDoc, default_fields=["thermo_id", "material_id", "last_updated"]
),
],
header_processor=GlobalHeaderProcessor(),
tags=["Thermo"],
disable_validation=True,
timeout=MAPISettings().TIMEOUT,
)
return resource