django-cfg 1.4.15__py3-none-any.whl → 1.4.17__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.
- django_cfg/apps/leads/urls.py +2 -1
- django_cfg/apps/payments/urls.py +4 -4
- django_cfg/core/base/config_model.py +7 -7
- django_cfg/core/generation/core_generators/settings.py +2 -3
- django_cfg/core/generation/core_generators/static.py +9 -9
- django_cfg/core/generation/integration_generators/api.py +1 -1
- django_cfg/models/infrastructure/security.py +33 -2
- django_cfg/modules/django_client/core/generator/base.py +18 -20
- django_cfg/modules/django_client/core/generator/typescript/fetchers_generator.py +56 -113
- django_cfg/modules/django_client/core/generator/typescript/hooks_generator.py +102 -232
- django_cfg/modules/django_client/core/generator/typescript/naming.py +83 -0
- django_cfg/modules/django_client/core/generator/typescript/operations_generator.py +8 -4
- django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/function.ts.jinja +25 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/hooks/hooks.ts.jinja +30 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/hooks/index.ts.jinja +29 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/hooks/mutation_hook.ts.jinja +25 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/hooks/query_hook.ts.jinja +21 -0
- django_cfg/modules/django_client/core/groups/manager.py +51 -26
- django_cfg/modules/django_client/spectacular/__init__.py +3 -2
- django_cfg/modules/django_client/spectacular/schema.py +50 -0
- django_cfg/pyproject.toml +1 -1
- {django_cfg-1.4.15.dist-info → django_cfg-1.4.17.dist-info}/METADATA +1 -1
- {django_cfg-1.4.15.dist-info → django_cfg-1.4.17.dist-info}/RECORD +26 -19
- {django_cfg-1.4.15.dist-info → django_cfg-1.4.17.dist-info}/WHEEL +0 -0
- {django_cfg-1.4.15.dist-info → django_cfg-1.4.17.dist-info}/entry_points.txt +0 -0
- {django_cfg-1.4.15.dist-info → django_cfg-1.4.17.dist-info}/licenses/LICENSE +0 -0
@@ -203,32 +203,57 @@ class GroupManager:
|
|
203
203
|
if not apps:
|
204
204
|
raise ValueError(f"Group '{group_name}' has no apps")
|
205
205
|
|
206
|
-
#
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
206
|
+
# Check if this is django-cfg built-in apps group
|
207
|
+
is_django_cfg_group = all(
|
208
|
+
app_name.startswith("django_cfg.apps.")
|
209
|
+
for app_name in apps
|
210
|
+
)
|
211
|
+
|
212
|
+
if is_django_cfg_group:
|
213
|
+
# For django-cfg apps, use django_cfg.apps.urls which has all the correct URL structure
|
214
|
+
# with proper cfg/ prefixes and conditional app registration
|
215
|
+
module_code = f'''"""
|
216
|
+
Dynamic URL configuration for group: {group_name}
|
217
|
+
|
218
|
+
Uses django_cfg.apps.urls which includes all enabled cfg apps with correct prefixes.
|
219
|
+
Auto-generated by django-client GroupManager.
|
220
|
+
"""
|
221
|
+
|
222
|
+
from django_cfg.apps.urls import urlpatterns
|
223
|
+
'''
|
224
|
+
else:
|
225
|
+
# For custom apps, generate URL patterns by including each app's URLs
|
226
|
+
urlpatterns = []
|
227
|
+
from django.apps import apps as django_apps
|
228
|
+
|
229
|
+
for app_name in apps:
|
230
|
+
# Try to include app URLs
|
231
|
+
try:
|
232
|
+
# Find app config by full name
|
233
|
+
app_config = None
|
234
|
+
for config in django_apps.get_app_configs():
|
235
|
+
if config.name == app_name:
|
236
|
+
app_config = config
|
237
|
+
break
|
238
|
+
|
239
|
+
if app_config:
|
240
|
+
# Use actual label from AppConfig
|
241
|
+
app_label = app_config.label
|
242
|
+
# Add API prefix from config (e.g., "api/workspaces/" instead of just "workspaces/")
|
243
|
+
api_prefix = getattr(self.config, 'api_prefix', '').strip('/')
|
244
|
+
if api_prefix:
|
245
|
+
url_path = f"{api_prefix}/{app_label}/"
|
246
|
+
else:
|
247
|
+
url_path = f"{app_label}/"
|
248
|
+
urlpatterns.append(f' path("{url_path}", include("{app_name}.urls")),')
|
249
|
+
else:
|
250
|
+
logger.debug(f"App '{app_name}' not found in installed apps")
|
251
|
+
except Exception as e:
|
252
|
+
logger.debug(f"App '{app_name}' skipped: {e}")
|
253
|
+
continue
|
254
|
+
|
255
|
+
# Create module code
|
256
|
+
module_code = f'''"""
|
232
257
|
Dynamic URL configuration for group: {group_name}
|
233
258
|
|
234
259
|
Auto-generated by django-client GroupManager.
|
@@ -1,10 +1,11 @@
|
|
1
1
|
"""
|
2
|
-
DRF Spectacular
|
2
|
+
DRF Spectacular hooks and schema classes for django-cfg.
|
3
3
|
|
4
4
|
Auto-fixes and enhancements for OpenAPI schema generation.
|
5
5
|
"""
|
6
6
|
|
7
7
|
from .enum_naming import auto_fix_enum_names
|
8
8
|
from .async_detection import mark_async_operations
|
9
|
+
from .schema import PathBasedAutoSchema
|
9
10
|
|
10
|
-
__all__ = ['auto_fix_enum_names', 'mark_async_operations']
|
11
|
+
__all__ = ['auto_fix_enum_names', 'mark_async_operations', 'PathBasedAutoSchema']
|
@@ -0,0 +1,50 @@
|
|
1
|
+
"""
|
2
|
+
Custom AutoSchema for drf-spectacular with intelligent tagging.
|
3
|
+
|
4
|
+
Automatically determines tags based on URL paths for better API organization.
|
5
|
+
"""
|
6
|
+
|
7
|
+
import re
|
8
|
+
from drf_spectacular.openapi import AutoSchema
|
9
|
+
|
10
|
+
|
11
|
+
class PathBasedAutoSchema(AutoSchema):
|
12
|
+
"""
|
13
|
+
AutoSchema that determines tags from URL paths instead of view names.
|
14
|
+
|
15
|
+
For cfg group URLs like /cfg/accounts/..., /cfg/support/...,
|
16
|
+
extracts the app name from the second path segment to create precise tags.
|
17
|
+
|
18
|
+
This provides better organization in generated API clients:
|
19
|
+
- /cfg/accounts/otp/request/ → tag: "cfg__accounts"
|
20
|
+
- /cfg/support/tickets/ → tag: "cfg__support"
|
21
|
+
- /cfg/payments/webhooks/ → tag: "cfg__payments"
|
22
|
+
|
23
|
+
The TypeScript generator will use these tags to create properly structured folders.
|
24
|
+
"""
|
25
|
+
|
26
|
+
def get_tags(self):
|
27
|
+
"""
|
28
|
+
Override tag determination to use path-based logic.
|
29
|
+
|
30
|
+
Returns:
|
31
|
+
List of tags for this operation
|
32
|
+
"""
|
33
|
+
import re
|
34
|
+
|
35
|
+
# Get the path
|
36
|
+
path = self.path
|
37
|
+
|
38
|
+
# For cfg URLs (/cfg/app_name/...), extract app_name as tag
|
39
|
+
# The TypeScript generator will add the group prefix (cfg_) automatically
|
40
|
+
cfg_pattern = re.compile(r"^/cfg/([^/]+)/")
|
41
|
+
match = cfg_pattern.match(path)
|
42
|
+
if match:
|
43
|
+
app_name = match.group(1)
|
44
|
+
# Return just the app_name (e.g., "support", "accounts", "payments")
|
45
|
+
# Generator will create: cfg__support, cfg__accounts, etc.
|
46
|
+
return [app_name]
|
47
|
+
|
48
|
+
# For other URLs, use default behavior (usually based on view name)
|
49
|
+
return super().get_tags()
|
50
|
+
|
django_cfg/pyproject.toml
CHANGED
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "django-cfg"
|
7
|
-
version = "1.4.
|
7
|
+
version = "1.4.17"
|
8
8
|
description = "Django AI framework with built-in agents, type-safe Pydantic v2 configuration, and 8 enterprise apps. Replace settings.py, validate at startup, 90% less code. Production-ready AI workflows for Django."
|
9
9
|
readme = "README.md"
|
10
10
|
keywords = [ "django", "configuration", "pydantic", "settings", "type-safety", "pydantic-settings", "django-environ", "startup-validation", "ide-autocomplete", "ai-agents", "enterprise-django", "django-settings", "type-safe-config",]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: django-cfg
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.17
|
4
4
|
Summary: Django AI framework with built-in agents, type-safe Pydantic v2 configuration, and 8 enterprise apps. Replace settings.py, validate at startup, 90% less code. Production-ready AI workflows for Django.
|
5
5
|
Project-URL: Homepage, https://djangocfg.com
|
6
6
|
Project-URL: Documentation, https://djangocfg.com
|
@@ -235,7 +235,7 @@ django_cfg/apps/leads/models.py,sha256=Eco7HrQIl8jK4N8I6yYgNckb4nM9Vkp0kHpx7vEW9
|
|
235
235
|
django_cfg/apps/leads/serializers.py,sha256=dg-FmFmaKrOBQetJDs9Inoya6WqY5DZhvE6pVS14ONg,1569
|
236
236
|
django_cfg/apps/leads/signals.py,sha256=exZm9xhHs53a16jI6xTWsz0hDS7WYQppWKL-Qx24VZc,2501
|
237
237
|
django_cfg/apps/leads/tests.py,sha256=DoWQH2l2QKriCl2ihOEpaBj0OkBXi-_bRZFLkE5vTq4,10690
|
238
|
-
django_cfg/apps/leads/urls.py,sha256=
|
238
|
+
django_cfg/apps/leads/urls.py,sha256=ppTYR8DhcdQHQQdlteIVmU8A9ymvrWrhlPYLFRe8RZc,411
|
239
239
|
django_cfg/apps/leads/views.py,sha256=3tnnxAwEnD_ycIhZeIvTqzOyNaMTA00gxnbywtnPe8A,3212
|
240
240
|
django_cfg/apps/leads/admin/__init__.py,sha256=JoASy7SUAng8Ffay9YqUTA6RX_QviLQ6AzwubwZeRms,197
|
241
241
|
django_cfg/apps/leads/admin/leads_admin.py,sha256=uwZrcOk_VZIaO-ghZ_ITSJ8F-IFOGx_rdEt_0ujSPaY,9816
|
@@ -303,7 +303,7 @@ django_cfg/apps/newsletter/views/subscriptions.py,sha256=1O_EZ5NSKqkfGXB9jfA9hWm
|
|
303
303
|
django_cfg/apps/newsletter/views/tracking.py,sha256=EJlAltpASzc_0nslVPJt-6mnIqI_QCEmz3MQEGPKzmU,2481
|
304
304
|
django_cfg/apps/payments/README.md,sha256=FlyMSGyFnHkUudn99RvQwT0Y77Y-WJgd025wdi5ZB1Y,8290
|
305
305
|
django_cfg/apps/payments/apps.py,sha256=fPJ6ImgxcjI6Wdi7c5oL3vpbliVdX2tfYTNkirp0Tag,1737
|
306
|
-
django_cfg/apps/payments/urls.py,sha256=
|
306
|
+
django_cfg/apps/payments/urls.py,sha256=soDbm0vJDbuy5RZALSkvqn85qbgeehyezyBjXy1ZMrM,3983
|
307
307
|
django_cfg/apps/payments/urls_admin.py,sha256=WDZL9D7dumSZ7v83UMLWBdFFZmnMydtMKCi14FrB6IM,2657
|
308
308
|
django_cfg/apps/payments/admin/__init__.py,sha256=cwEXQddoeDWzJqZpjj-XnSrjRnrKpp5l21_-fwuPTPM,902
|
309
309
|
django_cfg/apps/payments/admin/api_keys_admin.py,sha256=Jco52LU0deuhjbwMUf5bgnXPcyfCOk2LUhtkHxF17-4,8234
|
@@ -552,7 +552,7 @@ django_cfg/core/constants.py,sha256=vtzNJ6XAxOZ-gjRU4G6Yk7y-F1H91iIFvsBXYK9p5gs,
|
|
552
552
|
django_cfg/core/exceptions.py,sha256=07BficpWNzyLxoBxtIjjiNafpPQpFPyPxTBUNOiMoqw,2215
|
553
553
|
django_cfg/core/validation.py,sha256=QeM1k6jjlFp4Sc9FAfK3SS_3jyP6orXRqA7XBt24Q6w,6574
|
554
554
|
django_cfg/core/base/__init__.py,sha256=Z3bZvxejxk4vvWqmqTBLUi9XJpo6A_5Bq4R0J8q81Y4,116
|
555
|
-
django_cfg/core/base/config_model.py,sha256=
|
555
|
+
django_cfg/core/base/config_model.py,sha256=fQqB7zJa5syjFH_VX8DTJmTEYvnuPmvs6jZO8I8gsDM,21079
|
556
556
|
django_cfg/core/builders/__init__.py,sha256=jkInI7_jbxcjitapohw6QmbJPpacnnID6V1JovqtOFM,282
|
557
557
|
django_cfg/core/builders/apps_builder.py,sha256=n56rWLqIi3xQMK65dM1k8bMfla_2O_rovB_XzOJeTYQ,8339
|
558
558
|
django_cfg/core/builders/middleware_builder.py,sha256=onbNJcnJ6HfhW6v3Lz-d1dhME66vUiCCEbRimRB15Ig,3704
|
@@ -564,14 +564,14 @@ django_cfg/core/generation/generation.py,sha256=0mez_7yM_64SBe31rY728GrdkiTSkSqN
|
|
564
564
|
django_cfg/core/generation/orchestrator.py,sha256=ZSFe0LLle-Oqb7h5exbn9F-k2ktSgv8HTvom2ay1NEo,10862
|
565
565
|
django_cfg/core/generation/protocols.py,sha256=D0-lc9LSAm344dfBAhsV3k__bkWRKeUV78mccgH_Su4,676
|
566
566
|
django_cfg/core/generation/core_generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
567
|
-
django_cfg/core/generation/core_generators/settings.py,sha256=
|
568
|
-
django_cfg/core/generation/core_generators/static.py,sha256=
|
567
|
+
django_cfg/core/generation/core_generators/settings.py,sha256=YE_9sHnkfqkLnIOghDBIqOPtOL7_Xf5ENrEQtp8Oegk,2632
|
568
|
+
django_cfg/core/generation/core_generators/static.py,sha256=Kr1c9dm1o_iE2aA3Ydj64sAzSoqEV2Hld681lqWzpSA,2279
|
569
569
|
django_cfg/core/generation/core_generators/templates.py,sha256=wSgUEG1R4RA-JB_wT_fPyyFMOSW1g6lyvPLwy2_KhJw,4198
|
570
570
|
django_cfg/core/generation/data_generators/__init__.py,sha256=t8YepmMhMysy95tRYGAyoorGhJTEH5NojbegteYVtFY,298
|
571
571
|
django_cfg/core/generation/data_generators/cache.py,sha256=IEwyVBJ-QJgOm5C13z-974YzV73aZO9MCresGweE7PM,3840
|
572
572
|
django_cfg/core/generation/data_generators/database.py,sha256=ixJOB5e-e3N06F2QNQ1NJV0KLy26RxyvoKaRI1x5FIE,3481
|
573
573
|
django_cfg/core/generation/integration_generators/__init__.py,sha256=tBuO25IHxx5KFHlJumh4L-jA1hXi9smIECPCR2jcgy8,599
|
574
|
-
django_cfg/core/generation/integration_generators/api.py,sha256=
|
574
|
+
django_cfg/core/generation/integration_generators/api.py,sha256=S1WbDqs5XvTcWgaP0an_1ExGuKD8I7-8BH3Nzjr56S4,10054
|
575
575
|
django_cfg/core/generation/integration_generators/sessions.py,sha256=W2KJetdF-lgfo54fouLCM6a_iTWGpXZrj1xI2CrtZ7g,1644
|
576
576
|
django_cfg/core/generation/integration_generators/tailwind.py,sha256=nEcaBu-uNJ_O2Y2lHCAc1pG7m8LthnrFFHPxDJqSh3k,1208
|
577
577
|
django_cfg/core/generation/integration_generators/tasks.py,sha256=Wlh9f1dpn_05k7dZxGEm2TegGK-TuP4zVwbCMg5ocM4,2514
|
@@ -653,7 +653,7 @@ django_cfg/models/django/revolution_legacy.py,sha256=NONFa3U-w2HSMKumEh0BOD5HVI3
|
|
653
653
|
django_cfg/models/infrastructure/__init__.py,sha256=If0XLyDNaR_F6rOhDJBCT5RmkOOoNcY61L70pQvaO1s,369
|
654
654
|
django_cfg/models/infrastructure/cache.py,sha256=N6LWinyokWcmuJmInn0q48TQq0Je-xXMJdZ0DbelGPU,12175
|
655
655
|
django_cfg/models/infrastructure/logging.py,sha256=6nQNQPUKEL7TAYX1KcYgsqHBKnHWoUnqhR54bxcr40s,10637
|
656
|
-
django_cfg/models/infrastructure/security.py,sha256=
|
656
|
+
django_cfg/models/infrastructure/security.py,sha256=ZXQmsF9hgwkzVQ9d6WinEoe4axF-i6P7pBLF2dIPgd8,6345
|
657
657
|
django_cfg/models/infrastructure/database/__init__.py,sha256=3BXDKeJwvjyFws4MAjox_PIp_g0N1YuXv6qNjRb7wqQ,500
|
658
658
|
django_cfg/models/infrastructure/database/config.py,sha256=YQLajtbc1umJvhZ1n3-ielw3qGG5poMXJk4BMhIlAJw,7856
|
659
659
|
django_cfg/models/infrastructure/database/converters.py,sha256=mk2iYWA3ZsqhhaSbonbcautXlUwvOKMZ0OVfEZiXNGs,3083
|
@@ -727,7 +727,7 @@ django_cfg/modules/django_client/core/config/config.py,sha256=P1x4PuTp9ZndlQ_lmC
|
|
727
727
|
django_cfg/modules/django_client/core/config/group.py,sha256=jmFJLzzhozIBApENHJ_rzrZWd-abd2zXQhf54SLZZAc,2645
|
728
728
|
django_cfg/modules/django_client/core/config/service.py,sha256=cWBlLfDiR_FTX5buUHvrn4j5tSPMs3A3jTq02sn3B-Q,6285
|
729
729
|
django_cfg/modules/django_client/core/generator/__init__.py,sha256=r9oMGKjLKT3e7qOquzcN3k3K7jUMwDwiP4xp1xa_Cso,3204
|
730
|
-
django_cfg/modules/django_client/core/generator/base.py,sha256=
|
730
|
+
django_cfg/modules/django_client/core/generator/base.py,sha256=xvZtlsIGBFDVB52Ubb7l4qw1RrhWR33JDVbkfEw5zOo,31787
|
731
731
|
django_cfg/modules/django_client/core/generator/python/__init__.py,sha256=DOPkZBmNVX8qKZBulnE-49iMlBsMHszidzBhWG17c2E,448
|
732
732
|
django_cfg/modules/django_client/core/generator/python/async_client_gen.py,sha256=cxskiVQPtG2fMhH2TTxZ6-UUIxp_Hb7rvo13CnYGtoc,6030
|
733
733
|
django_cfg/modules/django_client/core/generator/python/files_generator.py,sha256=cWczErtcwAFw16JycRC0eRzdmCRtjQUNX4tJx3RlRpk,6420
|
@@ -760,12 +760,13 @@ django_cfg/modules/django_client/core/generator/python/templates/utils/retry.py.
|
|
760
760
|
django_cfg/modules/django_client/core/generator/python/templates/utils/schema.py.jinja,sha256=xrnhAc-hNk6DigxHmTvhR3dyDFI9ocnkhL-_Hz9hCs8,270
|
761
761
|
django_cfg/modules/django_client/core/generator/typescript/__init__.py,sha256=eHOZp7M65WZ9u3tA_xQlON5-oijZZiGXDhz22Bq73s0,371
|
762
762
|
django_cfg/modules/django_client/core/generator/typescript/client_generator.py,sha256=7ql-m59YVt6zGKfVBCxy1OR3CNy6C9lkaMEUqexiRvo,5878
|
763
|
-
django_cfg/modules/django_client/core/generator/typescript/fetchers_generator.py,sha256=
|
763
|
+
django_cfg/modules/django_client/core/generator/typescript/fetchers_generator.py,sha256=ZiSXMyT7HV28IK0AE8p2Sma2xwFrWnzSurBZEaWw_Z8,13791
|
764
764
|
django_cfg/modules/django_client/core/generator/typescript/files_generator.py,sha256=faRdhVVf9GQ-0esVz94dsaQMB56zK3csyNkhEHL4al4,7044
|
765
765
|
django_cfg/modules/django_client/core/generator/typescript/generator.py,sha256=_xuQC10SJ1ZKwA2_h3te4ZkSmH2jlnjUr__EJuBwNVE,16982
|
766
|
-
django_cfg/modules/django_client/core/generator/typescript/hooks_generator.py,sha256=
|
766
|
+
django_cfg/modules/django_client/core/generator/typescript/hooks_generator.py,sha256=urnmej5isaPwnyo-kH_VVGP9kehcdeI2hR9mqHmVN4s,15133
|
767
767
|
django_cfg/modules/django_client/core/generator/typescript/models_generator.py,sha256=2cBA-YzeBkGekoKz0pzT-Rt56MCvRTT-lSb44AAujfk,8787
|
768
|
-
django_cfg/modules/django_client/core/generator/typescript/
|
768
|
+
django_cfg/modules/django_client/core/generator/typescript/naming.py,sha256=uUh2XVmorQ8gzfdzZJB8KNPng6UI4axe3lEaFtTqYks,2592
|
769
|
+
django_cfg/modules/django_client/core/generator/typescript/operations_generator.py,sha256=lY56TkDafI-CL6wv7GXWNpvDr7087W3oWRTC4bJLJ9k,13493
|
769
770
|
django_cfg/modules/django_client/core/generator/typescript/schemas_generator.py,sha256=tmFZ8yFJ_Nk_iT7QGDDUVSFJhg8WTF79lYDOqQDzz8c,10877
|
770
771
|
django_cfg/modules/django_client/core/generator/typescript/templates/api_instance.ts.jinja,sha256=OPUjnz6Dk3kY97UFIRcgvxkEIKd6fUGqBzXJWOXKykE,2906
|
771
772
|
django_cfg/modules/django_client/core/generator/typescript/templates/app_index.ts.jinja,sha256=gLsoYyEzKD6Gv64vsO9sQHMPiFMGdaB5XVufLHeRyvQ,62
|
@@ -781,7 +782,12 @@ django_cfg/modules/django_client/core/generator/typescript/templates/client/main
|
|
781
782
|
django_cfg/modules/django_client/core/generator/typescript/templates/client/operation.ts.jinja,sha256=z6GD-r7Y-S_yhDtlOAjMgDSL10AF3YrBLLNLPiCt8rE,1869
|
782
783
|
django_cfg/modules/django_client/core/generator/typescript/templates/client/sub_client.ts.jinja,sha256=1rtFMqJO8ynjNNblhMPwCbVFhbSbLJJwiMhuJJYf9Lw,215
|
783
784
|
django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/fetchers.ts.jinja,sha256=HNeYh8LnTTmeKTQS7uup37Oq-_HwBPZH8qE1kneaJsg,1296
|
785
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/function.ts.jinja,sha256=cR4Y4eJ1ENcON9BcfI-ttnJfKxv61efMW2oVDrmJga8,580
|
784
786
|
django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/index.ts.jinja,sha256=DoAVm8EoglJKtLrE917Fk7Na6rn5Bt9L1nI39o9AwzM,747
|
787
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/hooks/hooks.ts.jinja,sha256=VS9_Pl1IemR2mPA2df9h-5xXSE9suvttpSC1YPClagE,763
|
788
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/hooks/index.ts.jinja,sha256=c4Jru6DAKD-y8nzig1my0iE-BO3OwjSCENALbHvAp7E,694
|
789
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/hooks/mutation_hook.ts.jinja,sha256=iVB8hXAt0VEw5Y4OsWsPJJmpxflr5LLid3l7xASxvRU,647
|
790
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/hooks/query_hook.ts.jinja,sha256=hdNU62F_xL4m9Lz5gEkkw2tny9dHguvpDRK9dz7CRy0,432
|
785
791
|
django_cfg/modules/django_client/core/generator/typescript/templates/models/app_models.ts.jinja,sha256=hRJ06Z-L4M5IEB23dd_rVgwSzSEGmqaSsKVrg5NasY0,122
|
786
792
|
django_cfg/modules/django_client/core/generator/typescript/templates/models/enums.ts.jinja,sha256=8BguyHxV4r5JdJD9wYYgZrClysIdlkjf_Bp5toU81u8,49
|
787
793
|
django_cfg/modules/django_client/core/generator/typescript/templates/models/models.ts.jinja,sha256=mycvqd12K2LsnN4mnwMdQ_SepiIWx6e9gDlUMAGOoBA,121
|
@@ -795,7 +801,7 @@ django_cfg/modules/django_client/core/generator/typescript/templates/utils/schem
|
|
795
801
|
django_cfg/modules/django_client/core/generator/typescript/templates/utils/storage.ts.jinja,sha256=Sbszp1L7b1pN9EScq7c2WmltdC7yXrbqU55v4FmRdT0,4899
|
796
802
|
django_cfg/modules/django_client/core/groups/__init__.py,sha256=6Bw7XECMxamnTDgcNDS9HI8aQCD63_Frhj8ZtejHi4I,226
|
797
803
|
django_cfg/modules/django_client/core/groups/detector.py,sha256=c6FHjveSbMgEbTEL0AnpU5NTWtWqAxXnSH48ebbVR7Y,5562
|
798
|
-
django_cfg/modules/django_client/core/groups/manager.py,sha256=
|
804
|
+
django_cfg/modules/django_client/core/groups/manager.py,sha256=RhGl6PjSmxMPw5DXA5x6ww8Yak0iyi5PnCRyegHGVsg,10900
|
799
805
|
django_cfg/modules/django_client/core/ir/__init__.py,sha256=58JBUka_gxjScbyTqGKrjOhIPbPQVqdyMMqs13vrSx0,2009
|
800
806
|
django_cfg/modules/django_client/core/ir/context.py,sha256=gtr4toE2Qkl0QaPuoajjG5qD5A7drkax6i1GEDIrk7I,13386
|
801
807
|
django_cfg/modules/django_client/core/ir/operation.py,sha256=gwvTciqIAUS0Hb7TqVU1Zr_StU9ulG3Vf73V7jYTp_U,17182
|
@@ -822,9 +828,10 @@ django_cfg/modules/django_client/management/__init__.py,sha256=mCTPP_bIOmqNnn0WA
|
|
822
828
|
django_cfg/modules/django_client/management/commands/__init__.py,sha256=CJ55pHUNYQ5h-QHUe3axeTtxzlUJv7wbEuZmGN21iCM,36
|
823
829
|
django_cfg/modules/django_client/management/commands/generate_client.py,sha256=iZvaJ371EikaIs__UB6XjyFuKmE_yWrIyYzaFZiPhME,16749
|
824
830
|
django_cfg/modules/django_client/management/commands/validate_openapi.py,sha256=EtPhZPIistvxVjoyI4hto9L8bOEAtZS21qSIojJ1uSg,11153
|
825
|
-
django_cfg/modules/django_client/spectacular/__init__.py,sha256=
|
831
|
+
django_cfg/modules/django_client/spectacular/__init__.py,sha256=7zrDMU-dQYYXmFiprou6zHRSAFAklkd7lzWla8YuAMo,345
|
826
832
|
django_cfg/modules/django_client/spectacular/async_detection.py,sha256=6mFNl8EdIZd4evt2aFhCb3NXphYK3uf1AtzW3vAs7lE,5730
|
827
833
|
django_cfg/modules/django_client/spectacular/enum_naming.py,sha256=GSTY8DCxtm75v-IBWs07jxM6mAmgSrq_9Nuz6ai2j3k,6496
|
834
|
+
django_cfg/modules/django_client/spectacular/schema.py,sha256=pYa4TaxcZGZeO0QL4NtrTm38YX3IFnHl1rKoy2-uK9E,1684
|
828
835
|
django_cfg/modules/django_currency/README.md,sha256=4R7KtF-rhR6yRg5jbsXwOVXMZNGEpOyW4N3WGN89W7A,4670
|
829
836
|
django_cfg/modules/django_currency/__init__.py,sha256=vAqVGR7_yL66jMsJSUTOOrRfXJVNIXHdAR6bJ1v3skw,2511
|
830
837
|
django_cfg/modules/django_currency/clients/__init__.py,sha256=K5MehiFH9a1DLlVABvWOl57qfI45Np9b1ojFNBR0qS8,236
|
@@ -1093,9 +1100,9 @@ django_cfg/utils/version_check.py,sha256=jI4v3YMdQriUEeb_TvRl511sDghy6I75iKRDUaN
|
|
1093
1100
|
django_cfg/CHANGELOG.md,sha256=jtT3EprqEJkqSUh7IraP73vQ8PmKUMdRtznQsEnqDZk,2052
|
1094
1101
|
django_cfg/CONTRIBUTING.md,sha256=DU2kyQ6PU0Z24ob7O_OqKWEYHcZmJDgzw-lQCmu6uBg,3041
|
1095
1102
|
django_cfg/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
1096
|
-
django_cfg/pyproject.toml,sha256=
|
1097
|
-
django_cfg-1.4.
|
1098
|
-
django_cfg-1.4.
|
1099
|
-
django_cfg-1.4.
|
1100
|
-
django_cfg-1.4.
|
1101
|
-
django_cfg-1.4.
|
1103
|
+
django_cfg/pyproject.toml,sha256=cS3SRfVShKr8ndIdMpiDOJiH3gFLLZ_5MdWAlCU3vpU,8210
|
1104
|
+
django_cfg-1.4.17.dist-info/METADATA,sha256=5kh9Jcmaml3LflWBK4tDei8CwFXViH-ZwapA6bumVBc,22533
|
1105
|
+
django_cfg-1.4.17.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
1106
|
+
django_cfg-1.4.17.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
|
1107
|
+
django_cfg-1.4.17.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
1108
|
+
django_cfg-1.4.17.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|