qena-shared-lib 0.1.19__tar.gz → 0.1.20__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.
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/PKG-INFO +1 -1
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/pyproject.toml +1 -1
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/http/__init__.py +3 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/mongodb.py +29 -5
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/message/__init__.py +3 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/README.md +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/__init__.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/alias.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/application.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/background.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/cache.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/dependencies/__init__.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/dependencies/http.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/dependencies/miscellaneous.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/enums.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/eventbus.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/exception_handling.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/exceptions.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/http/_base.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/http/_exception_handlers.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/http/_request.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/http/_response.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/kafka/__init__.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/kafka/_base.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/kafka/_consumer.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/kafka/_exception_handlers.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/kafka/_producer.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/logging.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/py.typed +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/__init__.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_base.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_channel.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_exception_handlers.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_listener.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_pool.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_publisher.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_rpc_client.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/message/_inbound.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/message/_outbound.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/redis.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/remotelogging/__init__.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/remotelogging/_base.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/remotelogging/logstash/__init__.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/remotelogging/logstash/_base.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/remotelogging/logstash/_http_sender.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/remotelogging/logstash/_tcp_sender.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/scheduler.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/security.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/sync.py +0 -0
- {qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/utils.py +0 -0
|
@@ -14,7 +14,16 @@ from typing import (
|
|
|
14
14
|
|
|
15
15
|
from bson.objectid import ObjectId
|
|
16
16
|
from pydantic import BeforeValidator, Field, field_serializer
|
|
17
|
-
from pymongo import
|
|
17
|
+
from pymongo import (
|
|
18
|
+
ASCENDING,
|
|
19
|
+
DESCENDING,
|
|
20
|
+
GEO2D,
|
|
21
|
+
GEOSPHERE,
|
|
22
|
+
HASHED,
|
|
23
|
+
TEXT,
|
|
24
|
+
AsyncMongoClient,
|
|
25
|
+
IndexModel,
|
|
26
|
+
)
|
|
18
27
|
from pymongo.asynchronous.client_session import AsyncClientSession
|
|
19
28
|
from pymongo.asynchronous.collection import AsyncCollection
|
|
20
29
|
from pymongo.asynchronous.database import AsyncDatabase
|
|
@@ -25,14 +34,22 @@ from .logging import LoggerFactory
|
|
|
25
34
|
|
|
26
35
|
__all__ = [
|
|
27
36
|
"AggregatedDocument",
|
|
37
|
+
"ASCENDING",
|
|
38
|
+
"AsyncClientSession",
|
|
39
|
+
"DESCENDING",
|
|
28
40
|
"Document",
|
|
29
41
|
"EmbeddedDocument",
|
|
42
|
+
"Field",
|
|
43
|
+
"GEO2D",
|
|
44
|
+
"GEOSPHERE",
|
|
45
|
+
"HASHED",
|
|
30
46
|
"IndexManager",
|
|
31
47
|
"IndexModel",
|
|
32
48
|
"MongoDBManager",
|
|
33
49
|
"MongoDBObjectId",
|
|
34
50
|
"ProjectedDocument",
|
|
35
51
|
"RepositoryBase",
|
|
52
|
+
"TEXT",
|
|
36
53
|
"validate_object_id",
|
|
37
54
|
]
|
|
38
55
|
|
|
@@ -235,11 +252,9 @@ S = TypeVar("S")
|
|
|
235
252
|
|
|
236
253
|
|
|
237
254
|
class RepositoryBase(Generic[T]):
|
|
238
|
-
def __init__(
|
|
239
|
-
self, db: MongoDBManager, session: AsyncClientSession | None = None
|
|
240
|
-
) -> None:
|
|
255
|
+
def __init__(self, db: MongoDBManager) -> None:
|
|
241
256
|
self._db = db
|
|
242
|
-
self._session =
|
|
257
|
+
self._session = None
|
|
243
258
|
self._document_type = None
|
|
244
259
|
|
|
245
260
|
@property
|
|
@@ -254,6 +269,15 @@ class RepositoryBase(Generic[T]):
|
|
|
254
269
|
def session(self) -> AsyncClientSession | None:
|
|
255
270
|
return self._session
|
|
256
271
|
|
|
272
|
+
@session.setter
|
|
273
|
+
def session(self, session: AsyncClientSession) -> None:
|
|
274
|
+
if session.has_ended:
|
|
275
|
+
raise RuntimeError(
|
|
276
|
+
f"session with id {session.session_id} has already ended"
|
|
277
|
+
)
|
|
278
|
+
|
|
279
|
+
self._session = session
|
|
280
|
+
|
|
257
281
|
@property
|
|
258
282
|
def document_type(self) -> type[T]:
|
|
259
283
|
document_type = self._document_type
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/message/__init__.py
RENAMED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from pydantic import Field
|
|
2
|
+
|
|
1
3
|
from ._inbound import (
|
|
2
4
|
CamelCaseInboundMessage,
|
|
3
5
|
InboundMessage,
|
|
@@ -12,6 +14,7 @@ from ._outbound import (
|
|
|
12
14
|
__all__ = [
|
|
13
15
|
"CamelCaseInboundMessage",
|
|
14
16
|
"CamelCaseOutboundMessage",
|
|
17
|
+
"Field",
|
|
15
18
|
"InboundMessage",
|
|
16
19
|
"OutboundMessage",
|
|
17
20
|
"SnakeCaseInboundMessage",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/dependencies/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/dependencies/miscellaneous.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/http/_exception_handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/kafka/_exception_handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_publisher.py
RENAMED
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/_rpc_client.py
RENAMED
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/message/_inbound.py
RENAMED
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/rabbitmq/message/_outbound.py
RENAMED
|
File without changes
|
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/remotelogging/__init__.py
RENAMED
|
File without changes
|
{qena_shared_lib-0.1.19 → qena_shared_lib-0.1.20}/src/qena_shared_lib/remotelogging/_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|