qena-shared-lib 0.1.20__tar.gz → 0.1.21__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.20 → qena_shared_lib-0.1.21}/PKG-INFO +1 -1
  2. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/pyproject.toml +1 -1
  3. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/mongodb.py +16 -13
  4. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/README.md +0 -0
  5. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/__init__.py +0 -0
  6. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/alias.py +0 -0
  7. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/application.py +0 -0
  8. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/background.py +0 -0
  9. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/cache.py +0 -0
  10. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/dependencies/__init__.py +0 -0
  11. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/dependencies/http.py +0 -0
  12. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/dependencies/miscellaneous.py +0 -0
  13. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/enums.py +0 -0
  14. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/eventbus.py +0 -0
  15. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/exception_handling.py +0 -0
  16. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/exceptions.py +0 -0
  17. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/http/__init__.py +0 -0
  18. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/http/_base.py +0 -0
  19. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/http/_exception_handlers.py +0 -0
  20. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/http/_request.py +0 -0
  21. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/http/_response.py +0 -0
  22. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/kafka/__init__.py +0 -0
  23. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/kafka/_base.py +0 -0
  24. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/kafka/_consumer.py +0 -0
  25. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/kafka/_exception_handlers.py +0 -0
  26. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/kafka/_producer.py +0 -0
  27. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/logging.py +0 -0
  28. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/py.typed +0 -0
  29. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/__init__.py +0 -0
  30. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/_base.py +0 -0
  31. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/_channel.py +0 -0
  32. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/_exception_handlers.py +0 -0
  33. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/_listener.py +0 -0
  34. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/_pool.py +0 -0
  35. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/_publisher.py +0 -0
  36. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/_rpc_client.py +0 -0
  37. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/message/__init__.py +0 -0
  38. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/message/_inbound.py +0 -0
  39. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/rabbitmq/message/_outbound.py +0 -0
  40. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/redis.py +0 -0
  41. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/remotelogging/__init__.py +0 -0
  42. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/remotelogging/_base.py +0 -0
  43. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/remotelogging/logstash/__init__.py +0 -0
  44. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/remotelogging/logstash/_base.py +0 -0
  45. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/remotelogging/logstash/_http_sender.py +0 -0
  46. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/remotelogging/logstash/_tcp_sender.py +0 -0
  47. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/scheduler.py +0 -0
  48. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/security.py +0 -0
  49. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/src/qena_shared_lib/sync.py +0 -0
  50. {qena_shared_lib-0.1.20 → qena_shared_lib-0.1.21}/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.20
3
+ Version: 0.1.21
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.20"
3
+ version = "0.1.21"
4
4
  description = "A shared tools for other services"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -388,25 +388,28 @@ class RepositoryBase(Generic[T]):
388
388
  session: AsyncClientSession | None = None,
389
389
  ) -> T | P | None:
390
390
  if projection is not None:
391
- return projection.from_raw_projected_document(
392
- await self.collection.find_one(
393
- filter=filter,
394
- projection=projection.get_projection(),
395
- skip=skip,
396
- sort=sort,
397
- session=session or self.session,
398
- )
391
+ document = await self.collection.find_one(
392
+ filter=filter,
393
+ projection=projection.get_projection(),
394
+ skip=skip,
395
+ sort=sort,
396
+ session=session or self.session,
399
397
  )
400
-
401
- return self.document_type.from_raw_document(
402
- await self.collection.find_one(
398
+ else:
399
+ document = await self.collection.find_one(
403
400
  filter=filter,
404
- projection=projection,
405
401
  skip=skip,
406
402
  sort=sort,
407
403
  session=session or self.session,
408
404
  )
409
- )
405
+
406
+ if document is None:
407
+ return None
408
+
409
+ if projection is not None:
410
+ return projection.from_raw_projected_document(document)
411
+
412
+ return self.document_type.from_raw_document(document)
410
413
 
411
414
  async def replace(
412
415
  self, replacement: T, session: AsyncClientSession | None = None