jararaca 0.3.12a8__tar.gz → 0.3.12a10__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.
Potentially problematic release.
This version of jararaca might be problematic. Click here for more details.
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/PKG-INFO +1 -1
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/pyproject.toml +1 -1
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/__init__.py +23 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/persistence/interceptors/aiosqa_interceptor.py +6 -47
- jararaca-0.3.12a10/src/jararaca/persistence/interceptors/constants.py +1 -0
- jararaca-0.3.12a10/src/jararaca/persistence/interceptors/decorators.py +45 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/tools/typescript/interface_parser.py +6 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/LICENSE +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/README.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/CNAME +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/architecture.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.webp +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/assets/tracing_example.png +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/http-rpc.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/index.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/interceptors.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/messagebus.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/retry.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/scheduler.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/stylesheets/custom.css +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/websocket.md +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/__main__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/broker_backend/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/broker_backend/mapper.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/broker_backend/redis_broker_backend.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/cli.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/common/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/core/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/core/providers.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/core/uow.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/di.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/files/entity.py.mako +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/lifecycle.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/bus_message_controller.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/consumers/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/decorators.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/interceptors/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/interceptors/publisher_interceptor.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/message.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/publisher.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/messagebus/worker.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/microservice.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/observability/decorators.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/observability/interceptor.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/observability/providers/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/observability/providers/otel.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/persistence/base.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/persistence/exports.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/persistence/interceptors/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/persistence/session.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/persistence/sort_filter.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/persistence/utilities.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/decorators.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/hooks.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/http_microservice.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/server.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/websocket/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/websocket/base_types.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/websocket/context.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/websocket/decorators.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/websocket/redis.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/websocket/types.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/presentation/websocket/websocket_interceptor.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/py.typed +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/reflect/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/reflect/controller_inspect.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/reflect/metadata.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/rpc/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/rpc/http/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/rpc/http/backends/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/rpc/http/backends/httpx.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/rpc/http/backends/otel.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/rpc/http/decorators.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/rpc/http/httpx.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/scheduler/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/scheduler/beat_worker.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/scheduler/decorators.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/scheduler/types.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/tools/app_config/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/tools/app_config/decorators.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/tools/app_config/interceptor.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/tools/typescript/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/tools/typescript/decorators.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/utils/__init__.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/utils/rabbitmq_utils.py +0 -0
- {jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/utils/retry.py +0 -0
|
@@ -119,6 +119,11 @@ if TYPE_CHECKING:
|
|
|
119
119
|
use_session,
|
|
120
120
|
use_transaction,
|
|
121
121
|
)
|
|
122
|
+
from .persistence.interceptors.decorators import (
|
|
123
|
+
set_use_persistence_session,
|
|
124
|
+
skip_persistence_session,
|
|
125
|
+
uses_persistence_session,
|
|
126
|
+
)
|
|
122
127
|
from .persistence.utilities import (
|
|
123
128
|
CriteriaBasedAttributeQueryInjector,
|
|
124
129
|
CRUDOperations,
|
|
@@ -249,6 +254,9 @@ if TYPE_CHECKING:
|
|
|
249
254
|
"use_transaction",
|
|
250
255
|
"providing_session",
|
|
251
256
|
"provide_session",
|
|
257
|
+
"uses_persistence_session",
|
|
258
|
+
"skip_persistence_session",
|
|
259
|
+
"set_use_persistence_session",
|
|
252
260
|
"providing_transaction",
|
|
253
261
|
"providing_new_session",
|
|
254
262
|
"Post",
|
|
@@ -450,6 +458,21 @@ _dynamic_imports: "dict[str, tuple[str, str, str | None]]" = {
|
|
|
450
458
|
"persistence.interceptors.aiosqa_interceptor",
|
|
451
459
|
None,
|
|
452
460
|
),
|
|
461
|
+
"uses_persistence_session": (
|
|
462
|
+
__SPEC_PARENT__,
|
|
463
|
+
"persistence.interceptors.decorators",
|
|
464
|
+
None,
|
|
465
|
+
),
|
|
466
|
+
"skip_persistence_session": (
|
|
467
|
+
__SPEC_PARENT__,
|
|
468
|
+
"persistence.interceptors.decorators",
|
|
469
|
+
None,
|
|
470
|
+
),
|
|
471
|
+
"set_use_persistence_session": (
|
|
472
|
+
__SPEC_PARENT__,
|
|
473
|
+
"persistence.interceptors.decorators",
|
|
474
|
+
None,
|
|
475
|
+
),
|
|
453
476
|
"Post": (__SPEC_PARENT__, "presentation.decorators", None),
|
|
454
477
|
"Get": (__SPEC_PARENT__, "presentation.decorators", None),
|
|
455
478
|
"Patch": (__SPEC_PARENT__, "presentation.decorators", None),
|
{jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/persistence/interceptors/aiosqa_interceptor.py
RENAMED
|
@@ -12,9 +12,11 @@ from sqlalchemy.ext.asyncio import (
|
|
|
12
12
|
from sqlalchemy.ext.asyncio.engine import AsyncEngine
|
|
13
13
|
|
|
14
14
|
from jararaca.microservice import AppInterceptor, AppTransactionContext
|
|
15
|
-
from jararaca.
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
from jararaca.persistence.interceptors.constants import DEFAULT_CONNECTION_NAME
|
|
16
|
+
from jararaca.persistence.interceptors.decorators import (
|
|
17
|
+
INJECT_PERSISTENCE_SESSION_METADATA_TEMPLATE,
|
|
18
|
+
)
|
|
19
|
+
from jararaca.reflect.metadata import get_metadata_value
|
|
18
20
|
|
|
19
21
|
ctx_default_connection_name: ContextVar[str] = ContextVar(
|
|
20
22
|
"ctx_default_connection_name", default=DEFAULT_CONNECTION_NAME
|
|
@@ -129,49 +131,6 @@ class AIOSQAConfig:
|
|
|
129
131
|
self.inject_default = inject_default
|
|
130
132
|
|
|
131
133
|
|
|
132
|
-
INJECT_CONNECTION_METADATA = "inject_connection_metadata_{connection_name}"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
def set_inject_connection(
|
|
136
|
-
inject: bool, connection_name: str = DEFAULT_CONNECTION_NAME
|
|
137
|
-
) -> SetMetadata:
|
|
138
|
-
"""
|
|
139
|
-
Set whether to inject the connection metadata for the given connection name.
|
|
140
|
-
This is useful when you want to control whether the connection metadata
|
|
141
|
-
should be injected into the context or not.
|
|
142
|
-
"""
|
|
143
|
-
|
|
144
|
-
return SetMetadata(
|
|
145
|
-
INJECT_CONNECTION_METADATA.format(connection_name=connection_name), inject
|
|
146
|
-
)
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
def uses_connection(
|
|
150
|
-
connection_name: str = DEFAULT_CONNECTION_NAME,
|
|
151
|
-
) -> SetMetadata:
|
|
152
|
-
"""
|
|
153
|
-
Use connection metadata for the given connection name.
|
|
154
|
-
This is useful when you want to inject the connection metadata into the context,
|
|
155
|
-
for example, when you are using a specific connection for a specific operation.
|
|
156
|
-
"""
|
|
157
|
-
return SetMetadata(
|
|
158
|
-
INJECT_CONNECTION_METADATA.format(connection_name=connection_name), True
|
|
159
|
-
)
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
def dnt_uses_connection(
|
|
163
|
-
connection_name: str = DEFAULT_CONNECTION_NAME,
|
|
164
|
-
) -> SetMetadata:
|
|
165
|
-
"""
|
|
166
|
-
Do not use connection metadata for the given connection name.
|
|
167
|
-
This is useful when you want to ensure that the connection metadata is not injected
|
|
168
|
-
into the context, for example, when you are using a different connection for a specific operation.
|
|
169
|
-
"""
|
|
170
|
-
return SetMetadata(
|
|
171
|
-
INJECT_CONNECTION_METADATA.format(connection_name=connection_name), False
|
|
172
|
-
)
|
|
173
|
-
|
|
174
|
-
|
|
175
134
|
class AIOSqlAlchemySessionInterceptor(AppInterceptor):
|
|
176
135
|
|
|
177
136
|
def __init__(self, config: AIOSQAConfig):
|
|
@@ -190,7 +149,7 @@ class AIOSqlAlchemySessionInterceptor(AppInterceptor):
|
|
|
190
149
|
) -> AsyncGenerator[None, None]:
|
|
191
150
|
|
|
192
151
|
uses_connection_metadata = get_metadata_value(
|
|
193
|
-
|
|
152
|
+
INJECT_PERSISTENCE_SESSION_METADATA_TEMPLATE.format(
|
|
194
153
|
connection_name=self.config.connection_name
|
|
195
154
|
),
|
|
196
155
|
self.config.inject_default,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
DEFAULT_CONNECTION_NAME = "default"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from jararaca.persistence.interceptors.constants import DEFAULT_CONNECTION_NAME
|
|
2
|
+
from jararaca.reflect.metadata import SetMetadata
|
|
3
|
+
|
|
4
|
+
INJECT_PERSISTENCE_SESSION_METADATA_TEMPLATE = (
|
|
5
|
+
"inject_persistence_template_{connection_name}"
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def set_use_persistence_session(
|
|
10
|
+
inject: bool, connection_name: str = DEFAULT_CONNECTION_NAME
|
|
11
|
+
) -> SetMetadata:
|
|
12
|
+
"""
|
|
13
|
+
Set whether to inject the connection metadata for the given connection name.
|
|
14
|
+
This is useful when you want to control whether the connection metadata
|
|
15
|
+
should be injected into the context or not.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
return SetMetadata(
|
|
19
|
+
INJECT_PERSISTENCE_SESSION_METADATA_TEMPLATE.format(
|
|
20
|
+
connection_name=connection_name
|
|
21
|
+
),
|
|
22
|
+
inject,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def uses_persistence_session(
|
|
27
|
+
connection_name: str = DEFAULT_CONNECTION_NAME,
|
|
28
|
+
) -> SetMetadata:
|
|
29
|
+
"""
|
|
30
|
+
Use connection metadata for the given connection name.
|
|
31
|
+
This is useful when you want to inject the connection metadata into the context,
|
|
32
|
+
for example, when you are using a specific connection for a specific operation.
|
|
33
|
+
"""
|
|
34
|
+
return set_use_persistence_session(True, connection_name=connection_name)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def skip_persistence_session(
|
|
38
|
+
connection_name: str = DEFAULT_CONNECTION_NAME,
|
|
39
|
+
) -> SetMetadata:
|
|
40
|
+
"""
|
|
41
|
+
Decorator to skip using connection metadata for the given connection name.
|
|
42
|
+
This is useful when you want to ensure that the connection metadata is not injected
|
|
43
|
+
into the context, for example, when you are using a different connection for a specific operation.
|
|
44
|
+
"""
|
|
45
|
+
return set_use_persistence_session(False, connection_name=connection_name)
|
|
@@ -389,6 +389,12 @@ def write_microservice_to_typescript_interface(
|
|
|
389
389
|
|
|
390
390
|
final_buffer.write(
|
|
391
391
|
"""
|
|
392
|
+
/* eslint-disable */
|
|
393
|
+
|
|
394
|
+
// @ts-nocheck
|
|
395
|
+
|
|
396
|
+
// noinspection JSUnusedGlobalSymbols
|
|
397
|
+
|
|
392
398
|
import { HttpService, HttpBackend, HttpBackendRequest, ResponseType, createClassQueryHooks , createClassMutationHooks, createClassInfiniteQueryHooks, paginationModelByFirstArgPaginationFilter } from "@jararaca/core";
|
|
393
399
|
export type WebSocketMessageMap = {
|
|
394
400
|
%s
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg
RENAMED
|
File without changes
|
{jararaca-0.3.12a8 → jararaca-0.3.12a10}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.webp
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jararaca-0.3.12a8 → jararaca-0.3.12a10}/src/jararaca/broker_backend/redis_broker_backend.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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|