qena-shared-lib 0.1.21__tar.gz → 0.1.23__tar.gz

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.
Files changed (50) hide show
  1. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/PKG-INFO +1 -1
  2. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/pyproject.toml +1 -1
  3. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/http/_exception_handlers.py +0 -8
  4. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/mongodb.py +30 -5
  5. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/README.md +0 -0
  6. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/__init__.py +0 -0
  7. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/alias.py +0 -0
  8. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/application.py +0 -0
  9. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/background.py +0 -0
  10. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/cache.py +0 -0
  11. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/dependencies/__init__.py +0 -0
  12. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/dependencies/http.py +0 -0
  13. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/dependencies/miscellaneous.py +0 -0
  14. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/enums.py +0 -0
  15. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/eventbus.py +0 -0
  16. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/exception_handling.py +0 -0
  17. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/exceptions.py +0 -0
  18. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/http/__init__.py +0 -0
  19. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/http/_base.py +0 -0
  20. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/http/_request.py +0 -0
  21. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/http/_response.py +0 -0
  22. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/kafka/__init__.py +0 -0
  23. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/kafka/_base.py +0 -0
  24. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/kafka/_consumer.py +0 -0
  25. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/kafka/_exception_handlers.py +0 -0
  26. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/kafka/_producer.py +0 -0
  27. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/logging.py +0 -0
  28. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/py.typed +0 -0
  29. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/__init__.py +0 -0
  30. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/_base.py +0 -0
  31. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/_channel.py +0 -0
  32. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/_exception_handlers.py +0 -0
  33. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/_listener.py +0 -0
  34. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/_pool.py +0 -0
  35. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/_publisher.py +0 -0
  36. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/_rpc_client.py +0 -0
  37. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/message/__init__.py +0 -0
  38. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/message/_inbound.py +0 -0
  39. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/rabbitmq/message/_outbound.py +0 -0
  40. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/redis.py +0 -0
  41. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/remotelogging/__init__.py +0 -0
  42. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/remotelogging/_base.py +0 -0
  43. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/remotelogging/logstash/__init__.py +0 -0
  44. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/remotelogging/logstash/_base.py +0 -0
  45. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/remotelogging/logstash/_http_sender.py +0 -0
  46. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/remotelogging/logstash/_tcp_sender.py +0 -0
  47. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/scheduler.py +0 -0
  48. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/security.py +0 -0
  49. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/sync.py +0 -0
  50. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.23}/src/qena_shared_lib/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: qena-shared-lib
3
- Version: 0.1.21
3
+ Version: 0.1.23
4
4
  Summary: A shared tools for other services
5
5
  Requires-Dist: fastapi[all]==0.115.6
6
6
  Requires-Dist: prometheus-client==0.21.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "qena-shared-lib"
3
- version = "0.1.21"
3
+ version = "0.1.23"
4
4
  description = "A shared tools for other services"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -94,20 +94,12 @@ class HTTPServiceExceptionHandler(
94
94
 
95
95
  if exception.response_code is not None:
96
96
  content["code"] = exception.response_code
97
- str_response_code = str(exception.response_code)
98
- extra["responseCode"] = str_response_code
99
-
100
- tags.append(str_response_code)
101
97
 
102
98
  if exception.corrective_action is not None:
103
99
  content["correctiveAction"] = exception.corrective_action
104
100
 
105
101
  if exception.status_code is not None:
106
102
  status_code = exception.status_code
107
- str_status_code = str(status_code)
108
- extra["statusCode"] = str_status_code
109
-
110
- tags.append(str_status_code)
111
103
 
112
104
  if exception.headers is not None:
113
105
  headers = exception.headers
@@ -33,8 +33,8 @@ from .alias import CamelCaseAliasedBaseModel
33
33
  from .logging import LoggerFactory
34
34
 
35
35
  __all__ = [
36
- "AggregatedDocument",
37
36
  "ASCENDING",
37
+ "AggregatedDocument",
38
38
  "AsyncClientSession",
39
39
  "DESCENDING",
40
40
  "Document",
@@ -47,6 +47,7 @@ __all__ = [
47
47
  "IndexModel",
48
48
  "MongoDBManager",
49
49
  "MongoDBObjectId",
50
+ "ObjectId",
50
51
  "ProjectedDocument",
51
52
  "RepositoryBase",
52
53
  "TEXT",
@@ -587,16 +588,40 @@ class RepositoryBase(Generic[T]):
587
588
 
588
589
  return cast(int, await self.collection.estimated_document_count())
589
590
 
590
- async def aggregate(
591
+ @overload
592
+ def aggregate(
591
593
  self,
594
+ *,
592
595
  aggregation: type[A],
593
596
  let: dict[str, Any] | None = None,
594
597
  session: AsyncClientSession | None = None,
595
598
  ) -> AsyncGenerator[A, None]:
599
+ pass
600
+
601
+ @overload
602
+ def aggregate(
603
+ self,
604
+ *,
605
+ aggregation: type[A],
606
+ pipeline: list[Any],
607
+ let: dict[str, Any] | None = None,
608
+ session: AsyncClientSession | None = None,
609
+ ) -> AsyncGenerator[A, None]:
610
+ pass
611
+
612
+ async def aggregate(
613
+ self, *_: Any, **kwarg: Any
614
+ ) -> AsyncGenerator[Any, None]:
615
+ aggregation = cast(AggregatedDocument, kwarg.get("aggregation"))
616
+ pipeline = kwarg.get("pipeline")
617
+
618
+ if pipeline is None:
619
+ pipeline = aggregation.get_pipeline()
620
+
596
621
  async with await self.collection.aggregate(
597
- pipeline=aggregation.get_pipeline(),
598
- let=let,
599
- session=session or self.session,
622
+ pipeline=pipeline,
623
+ let=kwarg.get("let"),
624
+ session=kwarg.get("session") or self.session,
600
625
  ) as cursor:
601
626
  async for document in cursor:
602
627
  yield aggregation.from_raw_aggregated_document(document)