howler-api 3.4.0.dev899__py3-none-any.whl → 3.4.0.dev910__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- howler/datastore/collection.py +4 -1
- howler/services/dossier_service.py +2 -1
- {howler_api-3.4.0.dev899.dist-info → howler_api-3.4.0.dev910.dist-info}/METADATA +2 -2
- {howler_api-3.4.0.dev899.dist-info → howler_api-3.4.0.dev910.dist-info}/RECORD +6 -6
- {howler_api-3.4.0.dev899.dist-info → howler_api-3.4.0.dev910.dist-info}/WHEEL +0 -0
- {howler_api-3.4.0.dev899.dist-info → howler_api-3.4.0.dev910.dist-info}/entry_points.txt +0 -0
howler/datastore/collection.py
CHANGED
|
@@ -1386,7 +1386,7 @@ class ESCollection(Generic[ModelType]):
|
|
|
1386
1386
|
if isinstance(fields, str):
|
|
1387
1387
|
fields = [fields]
|
|
1388
1388
|
|
|
1389
|
-
if fields is None or "*" in fields or "id" in fields:
|
|
1389
|
+
if source_data is not None and (fields is None or "*" in fields or "id" in fields):
|
|
1390
1390
|
source_data["id"] = [item_id]
|
|
1391
1391
|
|
|
1392
1392
|
if fields is None or "*" in fields:
|
|
@@ -1842,6 +1842,9 @@ class ESCollection(Generic[ModelType]):
|
|
|
1842
1842
|
:return: a generator of keys
|
|
1843
1843
|
"""
|
|
1844
1844
|
for item in self.stream_search("id:*", fl="id", access_control=access_control):
|
|
1845
|
+
if item is None:
|
|
1846
|
+
continue
|
|
1847
|
+
|
|
1845
1848
|
try:
|
|
1846
1849
|
yield item._id
|
|
1847
1850
|
except AttributeError:
|
|
@@ -207,7 +207,8 @@ def update_dossier(dossier_id: str, dossier_data: dict[str, Any], user: User) ->
|
|
|
207
207
|
# Ensure no duplicate mapping keys exist within any pivot
|
|
208
208
|
if "pivots" in dossier_data:
|
|
209
209
|
for pivot in dossier_data["pivots"]:
|
|
210
|
-
|
|
210
|
+
mappings = pivot.get("mappings") or []
|
|
211
|
+
if len(mappings) != len(set(mapping.get("key") for mapping in mappings)):
|
|
211
212
|
raise InvalidDataException("One of your pivots has duplicate keys set.")
|
|
212
213
|
|
|
213
214
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: howler-api
|
|
3
|
-
Version: 3.4.0.
|
|
3
|
+
Version: 3.4.0.dev910
|
|
4
4
|
Summary: Howler - API server
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: howler,alerting,gc,canada,cse-cst,cse,cst,cyber,cccs
|
|
@@ -51,7 +51,7 @@ Requires-Dist: python-dotenv (>=1.1.0,<2.0.0)
|
|
|
51
51
|
Requires-Dist: pytz (>=2025.2,<2026.0)
|
|
52
52
|
Requires-Dist: pyyaml (==6.0.3)
|
|
53
53
|
Requires-Dist: redis (==4.6.0)
|
|
54
|
-
Requires-Dist: requests (==2.
|
|
54
|
+
Requires-Dist: requests (==2.34.2)
|
|
55
55
|
Requires-Dist: tzdata (>=2026.1,<2027.0)
|
|
56
56
|
Requires-Dist: validators (>=0.34,<0.36)
|
|
57
57
|
Requires-Dist: wsproto (==1.3.2)
|
|
@@ -53,7 +53,7 @@ howler/cronjobs/view_cleanup.py,sha256=-eMfiJmy6W4L3BuZ3PvBIJBIAZjY7wvupxLJucl6c
|
|
|
53
53
|
howler/datastore/README.md,sha256=ekWl1YJSrHlZpU5PgBkPEzPWjdbTdav6Rd2P0ccIesw,4758
|
|
54
54
|
howler/datastore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
55
|
howler/datastore/bulk.py,sha256=pMsaAavRkYSDx0dvp_hbc7ftirtJfJRKFFlFoQDTh-Q,3005
|
|
56
|
-
howler/datastore/collection.py,sha256=
|
|
56
|
+
howler/datastore/collection.py,sha256=XpWyRJXNGQYxWcp9xR5R0gl1IPojwOGoaeMgKSb3mII,95746
|
|
57
57
|
howler/datastore/constants.py,sha256=x7ODomtOQmDjmXoAxly4onPAnUkq4BLZ1TBg-UgpU1g,2415
|
|
58
58
|
howler/datastore/exceptions.py,sha256=yZvQXRI4mR50ltGFHbdZAD4TIbhdKJku6LLTPQ0JZRk,955
|
|
59
59
|
howler/datastore/howler_store.py,sha256=9rfAx-bbkDRgxo8cDB7R_TxkvgO99td_SPQo-GQ_zhg,3247
|
|
@@ -174,7 +174,7 @@ howler/services/action_service.py,sha256=bSPhl0uFvv60oJ9eIyrFqbZz5eQTX3EcOQGCLg7
|
|
|
174
174
|
howler/services/analytic_service.py,sha256=6V_LD88bfDhdWN_47KFJ0y44X1mIE4xqGj834T2CfnM,4959
|
|
175
175
|
howler/services/auth_service.py,sha256=OLeZkD2buTkrBKEG8rGJhZUb0wh0ioIKzpQhU0zJI_s,15371
|
|
176
176
|
howler/services/config_service.py,sha256=tmSXHKMqJHT3ZoCb250Ad5l32Gh3MiWApIRSI8baHXk,4628
|
|
177
|
-
howler/services/dossier_service.py,sha256=
|
|
177
|
+
howler/services/dossier_service.py,sha256=mYEhkuwAS_zyif5Qzosn6srfPtUGjgqEJPsYBH1dDHQ,10596
|
|
178
178
|
howler/services/event_service.py,sha256=4Mf2n02Rj2cfirwj_dIWkFGXzw_nrW8kfveAT-Kwx0M,2985
|
|
179
179
|
howler/services/hit_service.py,sha256=jeqWfDvzNIvR0SxhZeCfdeVvA3zd0pBI74YE8hTgu98,34716
|
|
180
180
|
howler/services/jwt_service.py,sha256=2ULBu1GqosowIgtMpqgn0imRsOGfwFOioH-uVOmXZpw,5601
|
|
@@ -197,7 +197,7 @@ howler/utils/path.py,sha256=DfOU4i4zSs4wchHoE8iE7aWVLkTxiC_JRGepF2hBYBk,690
|
|
|
197
197
|
howler/utils/socket_utils.py,sha256=nz1SklC9xBHUSfHyTJjpq3mbozX1GDf01WzdGxfaUII,2212
|
|
198
198
|
howler/utils/str_utils.py,sha256=HE8Hqh2HlOLaj16w0H9zKOyDJLp-f1LQ50y_WeGZaEk,8389
|
|
199
199
|
howler/utils/uid.py,sha256=p9dsqyvZ-lpiAuzZWCPCeEM99kdk0Ly9czf04HNdSuw,1341
|
|
200
|
-
howler_api-3.4.0.
|
|
201
|
-
howler_api-3.4.0.
|
|
202
|
-
howler_api-3.4.0.
|
|
203
|
-
howler_api-3.4.0.
|
|
200
|
+
howler_api-3.4.0.dev910.dist-info/METADATA,sha256=gC-XDT7yk4EGdsTdobvRSNbAB094O3gIEde9LqobKa4,2879
|
|
201
|
+
howler_api-3.4.0.dev910.dist-info/WHEEL,sha256=EGEvSphFYqXKs23-kQBeyNoJP1nrT8ZJKQoi5p5DYL8,88
|
|
202
|
+
howler_api-3.4.0.dev910.dist-info/entry_points.txt,sha256=Lu9SBGvwe0wczJHmc-RudC24lmQk7tv3ZBXon9RIihg,259
|
|
203
|
+
howler_api-3.4.0.dev910.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|