Skip to content

Commit f98b9c2

Browse files
author
thomas loubrieu
committed
make datetime fields constants in the DatabaseLogic
1 parent 983fedd commit f98b9c2

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

stac_fastapi/opensearch/stac_fastapi/opensearch/database_logic.py

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,11 @@ def __attrs_post_init__(self):
154154

155155
aggregation_mapping: Dict[str, Dict[str, Any]] = AGGREGATION_MAPPING
156156

157+
# Private constant for the datetime property field
158+
PROPERTIES_DATETIME_FIELD = "properties.datetime"
159+
PROPERTIES_START_DATETIME_FIELD = "properties.start_datetime"
160+
PROPERTIES_END_DATETIME_FIELD = "properties.end_datetime"
161+
157162
"""CORE LOGIC"""
158163

159164
async def get_all_collections(
@@ -488,7 +493,7 @@ def apply_datetime_filter(
488493
Q(
489494
"bool",
490495
filter=[
491-
Q("exists", field="properties.datetime"),
496+
Q("exists", field=DatabaseLogic.PROPERTIES_DATETIME_FIELD),
492497
Q(
493498
"term",
494499
**{"properties__datetime": datetime_search["eq"]},
@@ -497,10 +502,10 @@ def apply_datetime_filter(
497502
),
498503
Q(
499504
"bool",
500-
must_not=[Q("exists", field="properties.datetime")],
505+
must_not=[Q("exists", field=DatabaseLogic.PROPERTIES_DATETIME_FIELD)],
501506
filter=[
502-
Q("exists", field="properties.start_datetime"),
503-
Q("exists", field="properties.end_datetime"),
507+
Q("exists", field=DatabaseLogic.PROPERTIES_START_DATETIME_FIELD),
508+
Q("exists", field=DatabaseLogic.PROPERTIES_END_DATETIME_FIELD),
504509
Q(
505510
"range",
506511
properties__start_datetime={
@@ -522,7 +527,7 @@ def apply_datetime_filter(
522527
Q(
523528
"bool",
524529
filter=[
525-
Q("exists", field="properties.datetime"),
530+
Q("exists", field=DatabaseLogic.PROPERTIES_DATETIME_FIELD),
526531
Q(
527532
"range",
528533
properties__datetime={
@@ -534,21 +539,17 @@ def apply_datetime_filter(
534539
),
535540
Q(
536541
"bool",
537-
must_not=[Q("exists", field="properties.datetime")],
542+
must_not=[Q("exists", field=DatabaseLogic.PROPERTIES_DATETIME_FIELD)],
538543
filter=[
539-
Q("exists", field="properties.start_datetime"),
540-
Q("exists", field="properties.end_datetime"),
544+
Q("exists", field=DatabaseLogic.PROPERTIES_START_DATETIME_FIELD),
545+
Q("exists", field=DatabaseLogic.PROPERTIES_END_DATETIME_FIELD),
541546
Q(
542547
"range",
543-
properties__start_datetime={
544-
"lte": datetime_search["lte"]
545-
},
548+
properties__start_datetime={"lte": datetime_search["lte"]},
546549
),
547550
Q(
548551
"range",
549-
properties__end_datetime={
550-
"gte": datetime_search["gte"]
551-
},
552+
properties__end_datetime={"gte": datetime_search["gte"]},
552553
),
553554
],
554555
),
@@ -563,8 +564,8 @@ def apply_datetime_filter(
563564
filter_query = Q(
564565
"bool",
565566
filter=[
566-
Q("exists", field="properties.start_datetime"),
567-
Q("exists", field="properties.end_datetime"),
567+
Q("exists", field=DatabaseLogic.PROPERTIES_START_DATETIME_FIELD),
568+
Q("exists", field=DatabaseLogic.PROPERTIES_END_DATETIME_FIELD),
568569
Q(
569570
"range",
570571
properties__start_datetime={"lte": datetime_search["eq"]},
@@ -579,8 +580,8 @@ def apply_datetime_filter(
579580
filter_query = Q(
580581
"bool",
581582
filter=[
582-
Q("exists", field="properties.start_datetime"),
583-
Q("exists", field="properties.end_datetime"),
583+
Q("exists", field=DatabaseLogic.PROPERTIES_START_DATETIME_FIELD),
584+
Q("exists", field=DatabaseLogic.PROPERTIES_END_DATETIME_FIELD),
584585
Q(
585586
"range",
586587
properties__start_datetime={"lte": datetime_search["lte"]},

0 commit comments

Comments
 (0)