nlbone 0.6.0__py3-none-any.whl → 0.6.9__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.
- nlbone/adapters/__init__.py +1 -0
- nlbone/adapters/auth/keycloak.py +1 -1
- nlbone/adapters/auth/token_provider.py +1 -1
- nlbone/adapters/cache/async_redis.py +18 -8
- nlbone/adapters/cache/memory.py +21 -11
- nlbone/adapters/cache/pubsub_listener.py +3 -0
- nlbone/adapters/cache/redis.py +23 -8
- nlbone/adapters/db/__init__.py +0 -1
- nlbone/adapters/db/postgres/audit.py +14 -11
- nlbone/adapters/db/postgres/query_builder.py +103 -86
- nlbone/adapters/db/redis/client.py +1 -4
- nlbone/adapters/http_clients/__init__.py +2 -2
- nlbone/adapters/http_clients/pricing/__init__.py +1 -1
- nlbone/adapters/http_clients/pricing/pricing_service.py +40 -20
- nlbone/adapters/http_clients/uploadchi/__init__.py +1 -1
- nlbone/adapters/http_clients/uploadchi/uploadchi.py +12 -12
- nlbone/adapters/http_clients/uploadchi/uploadchi_async.py +14 -15
- nlbone/adapters/percolation/__init__.py +1 -1
- nlbone/adapters/percolation/connection.py +2 -1
- nlbone/config/logging.py +54 -24
- nlbone/container.py +14 -9
- nlbone/core/application/base_worker.py +1 -1
- nlbone/core/domain/models.py +4 -2
- nlbone/core/ports/cache.py +25 -9
- nlbone/interfaces/api/dependencies/auth.py +26 -0
- nlbone/interfaces/api/pagination/offset_base.py +14 -12
- nlbone/interfaces/cli/init_db.py +1 -1
- nlbone/interfaces/cli/main.py +6 -5
- nlbone/utils/cache.py +10 -0
- nlbone/utils/cache_keys.py +6 -0
- nlbone/utils/cache_registry.py +5 -2
- nlbone/utils/http.py +1 -1
- nlbone/utils/redactor.py +2 -1
- nlbone/utils/time.py +1 -1
- {nlbone-0.6.0.dist-info → nlbone-0.6.9.dist-info}/METADATA +1 -1
- {nlbone-0.6.0.dist-info → nlbone-0.6.9.dist-info}/RECORD +39 -39
- {nlbone-0.6.0.dist-info → nlbone-0.6.9.dist-info}/WHEEL +0 -0
- {nlbone-0.6.0.dist-info → nlbone-0.6.9.dist-info}/entry_points.txt +0 -0
- {nlbone-0.6.0.dist-info → nlbone-0.6.9.dist-info}/licenses/LICENSE +0 -0
nlbone/utils/cache.py
CHANGED
|
@@ -4,17 +4,20 @@ import json
|
|
|
4
4
|
from typing import Any, Callable, Iterable, Optional
|
|
5
5
|
|
|
6
6
|
from makefun import wraps as mf_wraps
|
|
7
|
+
|
|
7
8
|
from nlbone.utils.cache_registry import get_cache
|
|
8
9
|
|
|
9
10
|
try:
|
|
10
11
|
from pydantic import BaseModel # v1/v2
|
|
11
12
|
except Exception: # pragma: no cover
|
|
13
|
+
|
|
12
14
|
class BaseModel: # minimal fallback
|
|
13
15
|
pass
|
|
14
16
|
|
|
15
17
|
|
|
16
18
|
# -------- helpers --------
|
|
17
19
|
|
|
20
|
+
|
|
18
21
|
def _bind(func: Callable, args, kwargs):
|
|
19
22
|
sig = inspect.signature(func)
|
|
20
23
|
bound = sig.bind_partial(*args, **kwargs)
|
|
@@ -79,6 +82,7 @@ def _run_maybe_async(func: Callable, *args, **kwargs):
|
|
|
79
82
|
|
|
80
83
|
# -------- cache decorators --------
|
|
81
84
|
|
|
85
|
+
|
|
82
86
|
def cached(
|
|
83
87
|
*,
|
|
84
88
|
ttl: int,
|
|
@@ -94,10 +98,12 @@ def cached(
|
|
|
94
98
|
- Works with sync/async cache backends (CachePort / AsyncCachePort).
|
|
95
99
|
- `key` & `tags` are string templates, e.g. "file:{file_id}".
|
|
96
100
|
"""
|
|
101
|
+
|
|
97
102
|
def deco(func: Callable):
|
|
98
103
|
is_async_func = asyncio.iscoroutinefunction(func)
|
|
99
104
|
|
|
100
105
|
if is_async_func:
|
|
106
|
+
|
|
101
107
|
@mf_wraps(func)
|
|
102
108
|
async def aw(*args, **kwargs):
|
|
103
109
|
cache = (cache_resolver or get_cache)()
|
|
@@ -165,10 +171,12 @@ def invalidate_by_tags(tags_builder: Callable[..., Iterable[str]]):
|
|
|
165
171
|
Invalidate computed tags after function finishes.
|
|
166
172
|
Works with sync or async functions and cache backends.
|
|
167
173
|
"""
|
|
174
|
+
|
|
168
175
|
def deco(func: Callable):
|
|
169
176
|
is_async_func = asyncio.iscoroutinefunction(func)
|
|
170
177
|
|
|
171
178
|
if is_async_func:
|
|
179
|
+
|
|
172
180
|
@mf_wraps(func)
|
|
173
181
|
async def aw(*args, **kwargs):
|
|
174
182
|
out = await func(*args, **kwargs)
|
|
@@ -179,6 +187,7 @@ def invalidate_by_tags(tags_builder: Callable[..., Iterable[str]]):
|
|
|
179
187
|
else:
|
|
180
188
|
cache.invalidate_tags(tags)
|
|
181
189
|
return out
|
|
190
|
+
|
|
182
191
|
return aw
|
|
183
192
|
|
|
184
193
|
@mf_wraps(func)
|
|
@@ -191,6 +200,7 @@ def invalidate_by_tags(tags_builder: Callable[..., Iterable[str]]):
|
|
|
191
200
|
else:
|
|
192
201
|
cache.invalidate_tags(tags)
|
|
193
202
|
return out
|
|
203
|
+
|
|
194
204
|
return sw
|
|
195
205
|
|
|
196
206
|
return deco
|
nlbone/utils/cache_keys.py
CHANGED
|
@@ -3,21 +3,26 @@ import json
|
|
|
3
3
|
import random
|
|
4
4
|
from typing import Any, Mapping
|
|
5
5
|
|
|
6
|
+
|
|
6
7
|
def _stable_params(params: Mapping[str, Any]) -> str:
|
|
7
8
|
return json.dumps(params, sort_keys=True, separators=(",", ":"))
|
|
8
9
|
|
|
10
|
+
|
|
9
11
|
def make_key(ns: str, *parts: str) -> str:
|
|
10
12
|
safe_parts = [p.replace(" ", "_") for p in parts if p]
|
|
11
13
|
return f"{ns}:{':'.join(safe_parts)}" if safe_parts else f"{ns}:root"
|
|
12
14
|
|
|
15
|
+
|
|
13
16
|
def make_param_key(ns: str, base: str, params: Mapping[str, Any]) -> str:
|
|
14
17
|
payload = _stable_params(params)
|
|
15
18
|
digest = hashlib.sha256(payload.encode("utf-8")).hexdigest()[:16]
|
|
16
19
|
return f"{ns}:{base}:{digest}"
|
|
17
20
|
|
|
21
|
+
|
|
18
22
|
def tag_entity(ns: str, entity_id: Any) -> str:
|
|
19
23
|
return f"{ns}:{entity_id}"
|
|
20
24
|
|
|
25
|
+
|
|
21
26
|
def tag_list(ns: str, **filters) -> str:
|
|
22
27
|
if not filters:
|
|
23
28
|
return f"{ns}:list"
|
|
@@ -25,6 +30,7 @@ def tag_list(ns: str, **filters) -> str:
|
|
|
25
30
|
digest = hashlib.md5(payload.encode("utf-8")).hexdigest()[:12]
|
|
26
31
|
return f"{ns}:list:{digest}"
|
|
27
32
|
|
|
33
|
+
|
|
28
34
|
def ttl_with_jitter(base_ttl: int, *, jitter_ratio: float = 0.1) -> int:
|
|
29
35
|
jitter = int(base_ttl * jitter_ratio)
|
|
30
36
|
return base_ttl + random.randint(-jitter, jitter)
|
nlbone/utils/cache_registry.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
from typing import Callable, Optional, TypeVar
|
|
2
1
|
from contextvars import ContextVar
|
|
2
|
+
from typing import Callable, Optional, TypeVar
|
|
3
3
|
|
|
4
4
|
T = TypeVar("T")
|
|
5
5
|
|
|
@@ -7,17 +7,20 @@ _global_resolver: Optional[Callable[[], T]] = None
|
|
|
7
7
|
|
|
8
8
|
_ctx_resolver: ContextVar[Optional[Callable[[], T]]] = ContextVar("_ctx_resolver", default=None)
|
|
9
9
|
|
|
10
|
+
|
|
10
11
|
def set_cache_resolver(fn: Callable[[], T]) -> None:
|
|
11
12
|
"""Set process-wide cache resolver (e.g., lambda: container.cache())."""
|
|
12
13
|
global _global_resolver
|
|
13
14
|
_global_resolver = fn
|
|
14
15
|
|
|
16
|
+
|
|
15
17
|
def set_context_cache_resolver(fn: Optional[Callable[[], T]]) -> None:
|
|
16
18
|
"""Override resolver in current context (useful in tests/background tasks)."""
|
|
17
19
|
_ctx_resolver.set(fn)
|
|
18
20
|
|
|
21
|
+
|
|
19
22
|
def get_cache() -> T:
|
|
20
23
|
fn = _ctx_resolver.get() or _global_resolver
|
|
21
24
|
if fn is None:
|
|
22
25
|
raise RuntimeError("Cache resolver not configured. Call set_cache_resolver(...) first.")
|
|
23
|
-
return fn()
|
|
26
|
+
return fn()
|
nlbone/utils/http.py
CHANGED
|
@@ -10,7 +10,7 @@ def auth_headers(token: str | None) -> dict[str, str]:
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def build_list_query(
|
|
13
|
-
|
|
13
|
+
limit: int, offset: int, filters: dict[str, Any] | None, sort: list[tuple[str, str]] | None
|
|
14
14
|
) -> dict[str, Any]:
|
|
15
15
|
q: dict[str, Any] = {"limit": limit, "offset": offset}
|
|
16
16
|
if filters:
|
nlbone/utils/redactor.py
CHANGED
|
@@ -5,6 +5,7 @@ from typing import Any
|
|
|
5
5
|
|
|
6
6
|
SENSITIVE_KEYS = {"password", "token", "access_token", "refresh_token", "secret", "card_number", "cvv", "pan"}
|
|
7
7
|
|
|
8
|
+
|
|
8
9
|
class PiiRedactor(logging.Filter):
|
|
9
10
|
def _redact_in_obj(self, obj: Any):
|
|
10
11
|
if isinstance(obj, dict):
|
|
@@ -29,4 +30,4 @@ class PiiRedactor(logging.Filter):
|
|
|
29
30
|
record.msg = self._redact_in_obj(record.msg)
|
|
30
31
|
except Exception:
|
|
31
32
|
pass
|
|
32
|
-
return True
|
|
33
|
+
return True
|
nlbone/utils/time.py
CHANGED
|
@@ -30,7 +30,7 @@ class TimeUtility:
|
|
|
30
30
|
|
|
31
31
|
@classmethod
|
|
32
32
|
def get_past_datetime(
|
|
33
|
-
|
|
33
|
+
cls, days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0
|
|
34
34
|
) -> datetime:
|
|
35
35
|
delta = timedelta(
|
|
36
36
|
days=days,
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
nlbone/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
nlbone/container.py,sha256=
|
|
2
|
+
nlbone/container.py,sha256=VPGkfQO0HS4SbQy2ja3HVKyuMjD94p5ZmDPSqYHGhNo,3317
|
|
3
3
|
nlbone/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
nlbone/adapters/__init__.py,sha256=
|
|
4
|
+
nlbone/adapters/__init__.py,sha256=NzUmk4XPyp3GJOw7VSE86xkQMZLtG3MrOoXLeoB551M,41
|
|
5
5
|
nlbone/adapters/auth/__init__.py,sha256=hkDHvsFhw_UiOHG9ZSMqjiAhK4wumEforitveSZswVw,42
|
|
6
|
-
nlbone/adapters/auth/keycloak.py,sha256=
|
|
7
|
-
nlbone/adapters/auth/token_provider.py,sha256=
|
|
6
|
+
nlbone/adapters/auth/keycloak.py,sha256=j5KWMXGZN4Sey34I-dbaHrPG37hAaDPs4Utcra6UgWY,2730
|
|
7
|
+
nlbone/adapters/auth/token_provider.py,sha256=vL2Hk6HXnBbpk40Tq1wpqak5QQ7KEQf3nRquT0N8V4Q,1433
|
|
8
8
|
nlbone/adapters/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
nlbone/adapters/cache/async_redis.py,sha256=
|
|
10
|
-
nlbone/adapters/cache/memory.py,sha256=
|
|
11
|
-
nlbone/adapters/cache/pubsub_listener.py,sha256=
|
|
12
|
-
nlbone/adapters/cache/redis.py,sha256=
|
|
13
|
-
nlbone/adapters/db/__init__.py,sha256=
|
|
9
|
+
nlbone/adapters/cache/async_redis.py,sha256=vvu5w4ANx0BVRHL95RAMGsD8CcaC-tSBMbCius2cuNc,6212
|
|
10
|
+
nlbone/adapters/cache/memory.py,sha256=y8M4erHQXApiSMAqG6Qk4pxEb60hRdu1szPv6iqvO9c,3738
|
|
11
|
+
nlbone/adapters/cache/pubsub_listener.py,sha256=3vfK4O4EzuQQhTsbZ_bweP06o99kDSyHJ5PrfUotUaE,1460
|
|
12
|
+
nlbone/adapters/cache/redis.py,sha256=2Y1DYHBLCrbHTO6O7pw85u3qY6OnCIFTYJ-HBvBs0FM,4608
|
|
13
|
+
nlbone/adapters/db/__init__.py,sha256=0CDSySEk4jJsqmwI0eNuaaLJOJDt8_iSiHBsFdC-L3s,212
|
|
14
14
|
nlbone/adapters/db/postgres/__init__.py,sha256=6JYJH0xZs3aR-zuyMpRhsdzFugmqz8nprwTQLprqhZc,313
|
|
15
|
-
nlbone/adapters/db/postgres/audit.py,sha256=
|
|
15
|
+
nlbone/adapters/db/postgres/audit.py,sha256=8f5XOuW7_ybJyy_STam1FNzqmZAAVAu7tmMRUkCGJOM,4594
|
|
16
16
|
nlbone/adapters/db/postgres/base.py,sha256=kha9xmklzhuQAK8QEkNBn-mAHq8dUKbOM-3abaBpWmQ,71
|
|
17
17
|
nlbone/adapters/db/postgres/engine.py,sha256=UCegauVB1gvo42ThytYnn5VIcQBwR-5xhcXYFApRFNk,3448
|
|
18
|
-
nlbone/adapters/db/postgres/query_builder.py,sha256=
|
|
18
|
+
nlbone/adapters/db/postgres/query_builder.py,sha256=rJ9J3vl0ikELwq5JujFn7jZYPmF6rM5wHTbIiUHOs1k,9381
|
|
19
19
|
nlbone/adapters/db/postgres/repository.py,sha256=J_DBE73JhHPYCk90c5-O7lQtZbxDgqjjN9OcWy4Omvs,1660
|
|
20
20
|
nlbone/adapters/db/postgres/schema.py,sha256=NlE7Rr8uXypsw4oWkdZhZwcIBHQEPIpoHLxcUo98i6s,1039
|
|
21
21
|
nlbone/adapters/db/postgres/uow.py,sha256=nRxNpY-WoWHpym-XeZ8VHm0MYvtB9wuopOeNdV_ebk8,2088
|
|
22
22
|
nlbone/adapters/db/redis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
nlbone/adapters/db/redis/client.py,sha256=
|
|
24
|
-
nlbone/adapters/http_clients/__init__.py,sha256=
|
|
25
|
-
nlbone/adapters/http_clients/pricing/__init__.py,sha256=
|
|
26
|
-
nlbone/adapters/http_clients/pricing/pricing_service.py,sha256=
|
|
27
|
-
nlbone/adapters/http_clients/uploadchi/__init__.py,sha256=
|
|
28
|
-
nlbone/adapters/http_clients/uploadchi/uploadchi.py,sha256=
|
|
29
|
-
nlbone/adapters/http_clients/uploadchi/uploadchi_async.py,sha256=
|
|
23
|
+
nlbone/adapters/db/redis/client.py,sha256=5SUnwP2-GrueSFimUbiqDvrQsumvIE2aeozk8l-vOfQ,466
|
|
24
|
+
nlbone/adapters/http_clients/__init__.py,sha256=w-Yr9CLuXMU71N0Ada5HbvP1DB53wqeP6B-i5rALlTo,150
|
|
25
|
+
nlbone/adapters/http_clients/pricing/__init__.py,sha256=ElA9NFcAR9u4cqb_w3PPqKU3xGeyjNLQ8veJ0ql2iz0,81
|
|
26
|
+
nlbone/adapters/http_clients/pricing/pricing_service.py,sha256=PDG6CbLg_SL-BsrhNwfyypywcuZIsEyj5mpQGSPH4e4,3300
|
|
27
|
+
nlbone/adapters/http_clients/uploadchi/__init__.py,sha256=uBzEOuVtY22teWW2b36Pitkdk5yVdSqa6xbg22JfTNg,105
|
|
28
|
+
nlbone/adapters/http_clients/uploadchi/uploadchi.py,sha256=ABFiH3bLsxFtB-4Si4SEedE2bMUVz5hWXGwD4RkV3ws,4816
|
|
29
|
+
nlbone/adapters/http_clients/uploadchi/uploadchi_async.py,sha256=PQbVNeaYde5CmgT3vcnQoI1PGeSs9AxHlPFuB8biOmU,4717
|
|
30
30
|
nlbone/adapters/messaging/__init__.py,sha256=UDAwu3s-JQmOZjWz2Nu0SgHhnkbeOhKDH_zLD75oWMY,40
|
|
31
31
|
nlbone/adapters/messaging/event_bus.py,sha256=w-NPwDiPMLFPU_enRQCtfQXOALsXfg31u57R8sG_-1U,781
|
|
32
32
|
nlbone/adapters/messaging/redis.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
nlbone/adapters/percolation/__init__.py,sha256=
|
|
34
|
-
nlbone/adapters/percolation/connection.py,sha256=
|
|
33
|
+
nlbone/adapters/percolation/__init__.py,sha256=0h1Bw7FzxgkDIHxeoyQXSfegrhP6VbpYV4QC8njYdRE,38
|
|
34
|
+
nlbone/adapters/percolation/connection.py,sha256=yuqcboFLsd4FRfywfXatbe8NjVtzyEWHGOZ8OVmmQaI,333
|
|
35
35
|
nlbone/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
nlbone/config/logging.py,sha256=
|
|
36
|
+
nlbone/config/logging.py,sha256=Ot6Ctf7EQZlW8YNB-uBdleqI6wixn5fH0Eo6QRgNkQk,4358
|
|
37
37
|
nlbone/config/settings.py,sha256=W3NHZP6yjIyyKiGWNkjlUt_RYFKkcIfMBoKih_z_0Bs,3911
|
|
38
38
|
nlbone/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
39
|
nlbone/core/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
-
nlbone/core/application/base_worker.py,sha256=
|
|
40
|
+
nlbone/core/application/base_worker.py,sha256=5brIToSd-vi6tw0ukhHnUZGZhOLq1SQ-NRRy-kp6D24,1193
|
|
41
41
|
nlbone/core/application/events.py,sha256=eQGLE0aZHuWJsy9J-qRse4CMXOtweH9-2rQ7AIPRMEQ,614
|
|
42
42
|
nlbone/core/application/services.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
nlbone/core/application/use_case.py,sha256=3GMQZ3CFK5cbLoBNBgohPft6GBq2j9_wr8iKRq_osQA,247
|
|
@@ -45,10 +45,10 @@ nlbone/core/application/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
|
45
45
|
nlbone/core/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
46
|
nlbone/core/domain/base.py,sha256=5oUfbpaI8juJ28Api8J9IXOSm55VI2bp4QNhA0U8h2Y,1251
|
|
47
47
|
nlbone/core/domain/events.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
|
-
nlbone/core/domain/models.py,sha256=
|
|
48
|
+
nlbone/core/domain/models.py,sha256=Zn_rwtlzfjOEJZo6HS9M8UsMk-HpMJrHAKn05UA-u2k,1461
|
|
49
49
|
nlbone/core/ports/__init__.py,sha256=gx-Ubj7h-1vvnu56sNnRqmer7HHfW3rX2WLl-0AX5U0,214
|
|
50
50
|
nlbone/core/ports/auth.py,sha256=Gh0yQsxx2OD6pDH2_p-khsA-bVoypP1juuqMoSfjZUo,493
|
|
51
|
-
nlbone/core/ports/cache.py,sha256=
|
|
51
|
+
nlbone/core/ports/cache.py,sha256=8pP_z4ta7PNNG8UiSrEF4xMZRm2wLPxISZvdPt7QnxQ,2351
|
|
52
52
|
nlbone/core/ports/event_bus.py,sha256=_Om1GOOT-F325oV6_LJXtLdx4vu5i7KrpTDD3qPJXU0,325
|
|
53
53
|
nlbone/core/ports/files.py,sha256=7Ov2ITYRpPwwDTZGCeNVISg8e3A9l08jbOgpTImgfK8,1863
|
|
54
54
|
nlbone/core/ports/messaging.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -62,7 +62,7 @@ nlbone/interfaces/api/routers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
|
62
62
|
nlbone/interfaces/api/schemas.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
63
|
nlbone/interfaces/api/dependencies/__init__.py,sha256=rnYRrFVZCfICQrp_PVFlzNg3BeC57yM08wn2DbOHCfk,359
|
|
64
64
|
nlbone/interfaces/api/dependencies/async_auth.py,sha256=bfxgBXhp29WqevjTG4jrdPNR-75APm4jKyHdOOtxnp4,1825
|
|
65
|
-
nlbone/interfaces/api/dependencies/auth.py,sha256=
|
|
65
|
+
nlbone/interfaces/api/dependencies/auth.py,sha256=Tp4_DjJ-7hHWiWdvPaD922DGdauuzDXl5aqALBtk-QM,2750
|
|
66
66
|
nlbone/interfaces/api/dependencies/db.py,sha256=-UD39J_86UU7ZJs2ZncpdND0yhAG0NeeeALrgSDuuFw,466
|
|
67
67
|
nlbone/interfaces/api/dependencies/uow.py,sha256=QfLEvLYLNWZJQN1k-0q0hBVtUld3D75P4j39q_RjcnE,1181
|
|
68
68
|
nlbone/interfaces/api/middleware/__init__.py,sha256=zbX2vaEAfxRMIYwO2MVY_2O6bqG5H9o7HqGpX14U3Is,158
|
|
@@ -70,22 +70,22 @@ nlbone/interfaces/api/middleware/access_log.py,sha256=vIkxxxfy2HcjqqKb8XCfGCcSri
|
|
|
70
70
|
nlbone/interfaces/api/middleware/add_request_context.py,sha256=av-qs0biOYuF9R6RJOo2eYsFqDL9WRYWcjVakFhbt-w,1834
|
|
71
71
|
nlbone/interfaces/api/middleware/authentication.py,sha256=ze7vCm492QsX9nPL6A-PqZCmC1C5ZgUE-OWI6fCLpsU,1809
|
|
72
72
|
nlbone/interfaces/api/pagination/__init__.py,sha256=sWKKQFa2Z-1SlprQOqImOa2c9exq4wueKpUL_9QM7wc,417
|
|
73
|
-
nlbone/interfaces/api/pagination/offset_base.py,sha256=
|
|
73
|
+
nlbone/interfaces/api/pagination/offset_base.py,sha256=BPG8veDRUA-67Z_JqLQTqT2nqCalxPblzSiQv_HZXUc,3838
|
|
74
74
|
nlbone/interfaces/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
|
-
nlbone/interfaces/cli/init_db.py,sha256=
|
|
76
|
-
nlbone/interfaces/cli/main.py,sha256=
|
|
75
|
+
nlbone/interfaces/cli/init_db.py,sha256=C67n2MsJ1vzkJxC8zfUYOxFdd6mEB_vT9agxN6jWoG8,790
|
|
76
|
+
nlbone/interfaces/cli/main.py,sha256=pNldsTgplVyXa-Hx96dySO2I9gFRi49nDXv7J_dO73s,686
|
|
77
77
|
nlbone/interfaces/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
78
78
|
nlbone/interfaces/jobs/sync_tokens.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
79
|
nlbone/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
|
-
nlbone/utils/cache.py,sha256=
|
|
81
|
-
nlbone/utils/cache_keys.py,sha256=
|
|
82
|
-
nlbone/utils/cache_registry.py,sha256=
|
|
80
|
+
nlbone/utils/cache.py,sha256=hVfkR62o5vllDrE_nY4At10wK0It6qpZ45K1xoj10cQ,5931
|
|
81
|
+
nlbone/utils/cache_keys.py,sha256=Y2YSellHTbUOcoaNbl1jaD4r485VU_e4KXsfBWhYTBo,1075
|
|
82
|
+
nlbone/utils/cache_registry.py,sha256=w28sEfUQZAhzCCqVH5TflWQY3nyDXyEcFWt8hkuHRHw,823
|
|
83
83
|
nlbone/utils/context.py,sha256=MmclJ24BG2uvSTg1IK7J-Da9BhVFDQ5ag4Ggs2FF1_w,1600
|
|
84
|
-
nlbone/utils/http.py,sha256=
|
|
85
|
-
nlbone/utils/redactor.py,sha256
|
|
86
|
-
nlbone/utils/time.py,sha256=
|
|
87
|
-
nlbone-0.6.
|
|
88
|
-
nlbone-0.6.
|
|
89
|
-
nlbone-0.6.
|
|
90
|
-
nlbone-0.6.
|
|
91
|
-
nlbone-0.6.
|
|
84
|
+
nlbone/utils/http.py,sha256=UXUoXgQdTRNT08ho8zl-C5ekfDsD8uf-JiMQ323ooqw,872
|
|
85
|
+
nlbone/utils/redactor.py,sha256=-V4HrHmHwPi3Kez587Ek1uJlgK35qGSrwBOvcbw8Jas,1279
|
|
86
|
+
nlbone/utils/time.py,sha256=DjjyQ9GLsfXoT6NK8RDW2rOlJg3e6sF04Jw6PBUrSvg,1268
|
|
87
|
+
nlbone-0.6.9.dist-info/METADATA,sha256=uE-MksB9505zd0epl9bh3S7QmnanB2hvnoppyU_0mH4,2194
|
|
88
|
+
nlbone-0.6.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
89
|
+
nlbone-0.6.9.dist-info/entry_points.txt,sha256=CpIL45t5nbhl1dGQPhfIIDfqqak3teK0SxPGBBr7YCk,59
|
|
90
|
+
nlbone-0.6.9.dist-info/licenses/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
|
+
nlbone-0.6.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|