django-cfg 1.2.31__py3-none-any.whl → 1.3.3__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.
Files changed (264) hide show
  1. django_cfg/__init__.py +1 -1
  2. django_cfg/apps/api/health/views.py +4 -2
  3. django_cfg/apps/knowbase/config/settings.py +16 -15
  4. django_cfg/apps/payments/README.md +326 -0
  5. django_cfg/apps/payments/admin/__init__.py +20 -10
  6. django_cfg/apps/payments/admin/api_keys_admin.py +521 -237
  7. django_cfg/apps/payments/admin/balance_admin.py +592 -297
  8. django_cfg/apps/payments/admin/currencies_admin.py +526 -222
  9. django_cfg/apps/payments/admin/filters.py +306 -199
  10. django_cfg/apps/payments/admin/payments_admin.py +465 -70
  11. django_cfg/apps/payments/admin/subscriptions_admin.py +578 -128
  12. django_cfg/apps/payments/admin_interface/__init__.py +18 -0
  13. django_cfg/apps/payments/admin_interface/templates/payments/base.html +162 -0
  14. django_cfg/apps/payments/admin_interface/templates/payments/components/dev_tool_card.html +38 -0
  15. django_cfg/apps/payments/admin_interface/templates/payments/components/loading_spinner.html +16 -0
  16. django_cfg/apps/payments/admin_interface/templates/payments/components/notification.html +27 -0
  17. django_cfg/apps/payments/admin_interface/templates/payments/components/provider_card.html +86 -0
  18. django_cfg/apps/payments/admin_interface/templates/payments/components/status_card.html +39 -0
  19. django_cfg/apps/payments/admin_interface/templates/payments/currency_converter.html +382 -0
  20. django_cfg/apps/payments/admin_interface/templates/payments/payment_dashboard.html +300 -0
  21. django_cfg/apps/payments/admin_interface/templates/payments/payment_form.html +303 -0
  22. django_cfg/apps/payments/admin_interface/templates/payments/payment_list.html +382 -0
  23. django_cfg/apps/payments/admin_interface/templates/payments/payment_status.html +500 -0
  24. django_cfg/apps/payments/admin_interface/templates/payments/webhook_dashboard.html +594 -0
  25. django_cfg/apps/payments/admin_interface/views/__init__.py +23 -0
  26. django_cfg/apps/payments/admin_interface/views/payment_views.py +259 -0
  27. django_cfg/apps/payments/admin_interface/views/webhook_dashboard.py +37 -0
  28. django_cfg/apps/payments/apps.py +34 -9
  29. django_cfg/apps/payments/config/__init__.py +28 -51
  30. django_cfg/apps/payments/config/constance/__init__.py +22 -0
  31. django_cfg/apps/payments/config/constance/config_service.py +123 -0
  32. django_cfg/apps/payments/config/constance/fields.py +69 -0
  33. django_cfg/apps/payments/config/constance/settings.py +160 -0
  34. django_cfg/apps/payments/config/django_cfg_integration.py +202 -0
  35. django_cfg/apps/payments/config/helpers.py +130 -0
  36. django_cfg/apps/payments/management/__init__.py +1 -3
  37. django_cfg/apps/payments/management/commands/__init__.py +1 -3
  38. django_cfg/apps/payments/management/commands/cleanup_expired_data.py +419 -0
  39. django_cfg/apps/payments/management/commands/currency_stats.py +297 -225
  40. django_cfg/apps/payments/management/commands/manage_currencies.py +303 -151
  41. django_cfg/apps/payments/management/commands/manage_providers.py +333 -160
  42. django_cfg/apps/payments/management/commands/process_pending_payments.py +357 -0
  43. django_cfg/apps/payments/management/commands/test_providers.py +434 -0
  44. django_cfg/apps/payments/middleware/__init__.py +3 -1
  45. django_cfg/apps/payments/middleware/api_access.py +329 -222
  46. django_cfg/apps/payments/middleware/rate_limiting.py +342 -152
  47. django_cfg/apps/payments/middleware/usage_tracking.py +249 -240
  48. django_cfg/apps/payments/migrations/0001_initial.py +708 -536
  49. django_cfg/apps/payments/models/__init__.py +13 -18
  50. django_cfg/apps/payments/models/api_keys.py +121 -43
  51. django_cfg/apps/payments/models/balance.py +153 -115
  52. django_cfg/apps/payments/models/base.py +68 -15
  53. django_cfg/apps/payments/models/currencies.py +172 -148
  54. django_cfg/apps/payments/models/managers/__init__.py +44 -0
  55. django_cfg/apps/payments/models/managers/api_key_managers.py +329 -0
  56. django_cfg/apps/payments/models/managers/balance_managers.py +599 -0
  57. django_cfg/apps/payments/models/managers/currency_managers.py +385 -0
  58. django_cfg/apps/payments/models/managers/payment_managers.py +511 -0
  59. django_cfg/apps/payments/models/managers/subscription_managers.py +641 -0
  60. django_cfg/apps/payments/models/payments.py +235 -285
  61. django_cfg/apps/payments/models/subscriptions.py +257 -177
  62. django_cfg/apps/payments/models/tariffs.py +147 -40
  63. django_cfg/apps/payments/services/__init__.py +209 -56
  64. django_cfg/apps/payments/services/cache/__init__.py +6 -6
  65. django_cfg/apps/payments/services/cache_service/__init__.py +143 -0
  66. django_cfg/apps/payments/services/cache_service/api_key_cache.py +37 -0
  67. django_cfg/apps/payments/services/{cache/base.py → cache_service/interfaces.py} +3 -1
  68. django_cfg/apps/payments/services/cache_service/keys.py +49 -0
  69. django_cfg/apps/payments/services/cache_service/rate_limit_cache.py +47 -0
  70. django_cfg/apps/payments/services/cache_service/simple_cache.py +101 -0
  71. django_cfg/apps/payments/services/core/__init__.py +10 -6
  72. django_cfg/apps/payments/services/core/balance_service.py +435 -360
  73. django_cfg/apps/payments/services/core/base.py +166 -0
  74. django_cfg/apps/payments/services/core/currency_service.py +478 -0
  75. django_cfg/apps/payments/services/core/payment_service.py +371 -465
  76. django_cfg/apps/payments/services/core/subscription_service.py +425 -481
  77. django_cfg/apps/payments/services/core/webhook_service.py +410 -0
  78. django_cfg/apps/payments/services/integrations/__init__.py +29 -0
  79. django_cfg/apps/payments/services/integrations/ngrok_service.py +47 -0
  80. django_cfg/apps/payments/services/integrations/providers_config.py +107 -0
  81. django_cfg/apps/payments/services/providers/__init__.py +9 -14
  82. django_cfg/apps/payments/services/providers/base.py +234 -174
  83. django_cfg/apps/payments/services/providers/nowpayments.py +478 -0
  84. django_cfg/apps/payments/services/providers/registry.py +367 -301
  85. django_cfg/apps/payments/services/types/__init__.py +78 -0
  86. django_cfg/apps/payments/services/types/data.py +177 -0
  87. django_cfg/apps/payments/services/types/requests.py +150 -0
  88. django_cfg/apps/payments/services/types/responses.py +156 -0
  89. django_cfg/apps/payments/services/types/webhooks.py +232 -0
  90. django_cfg/apps/payments/signals/__init__.py +33 -8
  91. django_cfg/apps/payments/signals/api_key_signals.py +210 -129
  92. django_cfg/apps/payments/signals/balance_signals.py +174 -0
  93. django_cfg/apps/payments/signals/payment_signals.py +128 -103
  94. django_cfg/apps/payments/signals/subscription_signals.py +194 -142
  95. django_cfg/apps/payments/static/payments/css/components.css +380 -0
  96. django_cfg/apps/payments/static/payments/css/dashboard.css +188 -0
  97. django_cfg/apps/payments/static/payments/js/components.js +545 -0
  98. django_cfg/apps/payments/static/payments/js/utils.js +412 -0
  99. django_cfg/apps/payments/templatetags/__init__.py +1 -1
  100. django_cfg/apps/payments/templatetags/payment_tags.py +466 -0
  101. django_cfg/apps/payments/urls.py +45 -48
  102. django_cfg/apps/payments/urls_admin.py +33 -42
  103. django_cfg/apps/payments/views/api/__init__.py +101 -0
  104. django_cfg/apps/payments/views/api/api_keys.py +387 -0
  105. django_cfg/apps/payments/views/api/balances.py +381 -0
  106. django_cfg/apps/payments/views/api/base.py +298 -0
  107. django_cfg/apps/payments/views/api/currencies.py +402 -0
  108. django_cfg/apps/payments/views/api/payments.py +415 -0
  109. django_cfg/apps/payments/views/api/subscriptions.py +475 -0
  110. django_cfg/apps/payments/views/api/webhooks.py +476 -0
  111. django_cfg/apps/payments/views/serializers/__init__.py +99 -0
  112. django_cfg/apps/payments/views/serializers/api_keys.py +424 -0
  113. django_cfg/apps/payments/views/serializers/balances.py +300 -0
  114. django_cfg/apps/payments/views/serializers/currencies.py +335 -0
  115. django_cfg/apps/payments/views/serializers/payments.py +387 -0
  116. django_cfg/apps/payments/views/serializers/subscriptions.py +429 -0
  117. django_cfg/apps/payments/views/serializers/webhooks.py +137 -0
  118. django_cfg/config.py +1 -1
  119. django_cfg/core/config.py +40 -4
  120. django_cfg/core/generation.py +25 -4
  121. django_cfg/core/integration/README.md +363 -0
  122. django_cfg/core/integration/__init__.py +47 -0
  123. django_cfg/core/integration/commands_collector.py +239 -0
  124. django_cfg/core/integration/display/__init__.py +15 -0
  125. django_cfg/core/integration/display/base.py +157 -0
  126. django_cfg/core/integration/display/ngrok.py +164 -0
  127. django_cfg/core/integration/display/startup.py +815 -0
  128. django_cfg/core/integration/url_integration.py +123 -0
  129. django_cfg/core/integration/version_checker.py +160 -0
  130. django_cfg/management/commands/auto_generate.py +4 -0
  131. django_cfg/management/commands/check_settings.py +6 -0
  132. django_cfg/management/commands/clear_constance.py +5 -2
  133. django_cfg/management/commands/create_token.py +6 -0
  134. django_cfg/management/commands/list_urls.py +6 -0
  135. django_cfg/management/commands/migrate_all.py +6 -0
  136. django_cfg/management/commands/migrator.py +3 -0
  137. django_cfg/management/commands/rundramatiq.py +6 -0
  138. django_cfg/management/commands/runserver_ngrok.py +51 -29
  139. django_cfg/management/commands/script.py +6 -0
  140. django_cfg/management/commands/show_config.py +12 -2
  141. django_cfg/management/commands/show_urls.py +4 -0
  142. django_cfg/management/commands/superuser.py +6 -0
  143. django_cfg/management/commands/task_clear.py +4 -1
  144. django_cfg/management/commands/task_status.py +3 -1
  145. django_cfg/management/commands/test_email.py +3 -0
  146. django_cfg/management/commands/test_telegram.py +6 -0
  147. django_cfg/management/commands/test_twilio.py +6 -0
  148. django_cfg/management/commands/tree.py +6 -0
  149. django_cfg/management/commands/validate_config.py +155 -149
  150. django_cfg/models/constance.py +31 -11
  151. django_cfg/models/payments.py +175 -492
  152. django_cfg/modules/django_logger.py +160 -146
  153. django_cfg/modules/django_unfold/dashboard.py +64 -16
  154. django_cfg/registry/core.py +1 -0
  155. django_cfg/template_archive/django_sample.zip +0 -0
  156. django_cfg/utils/smart_defaults.py +227 -570
  157. django_cfg/utils/toolkit.py +51 -11
  158. {django_cfg-1.2.31.dist-info → django_cfg-1.3.3.dist-info}/METADATA +4 -1
  159. {django_cfg-1.2.31.dist-info → django_cfg-1.3.3.dist-info}/RECORD +162 -185
  160. django_cfg/apps/payments/__init__.py +0 -8
  161. django_cfg/apps/payments/admin/tariffs_admin.py +0 -199
  162. django_cfg/apps/payments/config/module.py +0 -70
  163. django_cfg/apps/payments/config/providers.py +0 -105
  164. django_cfg/apps/payments/config/settings.py +0 -96
  165. django_cfg/apps/payments/config/utils.py +0 -52
  166. django_cfg/apps/payments/decorators.py +0 -291
  167. django_cfg/apps/payments/management/commands/README.md +0 -146
  168. django_cfg/apps/payments/managers/__init__.py +0 -23
  169. django_cfg/apps/payments/managers/api_key_manager.py +0 -35
  170. django_cfg/apps/payments/managers/balance_manager.py +0 -361
  171. django_cfg/apps/payments/managers/currency_manager.py +0 -306
  172. django_cfg/apps/payments/managers/payment_manager.py +0 -192
  173. django_cfg/apps/payments/managers/subscription_manager.py +0 -37
  174. django_cfg/apps/payments/managers/tariff_manager.py +0 -29
  175. django_cfg/apps/payments/migrations/0002_network_providercurrency_and_more.py +0 -241
  176. django_cfg/apps/payments/migrations/0003_add_usd_rate_cache.py +0 -30
  177. django_cfg/apps/payments/models/events.py +0 -73
  178. django_cfg/apps/payments/serializers/__init__.py +0 -57
  179. django_cfg/apps/payments/serializers/api_keys.py +0 -51
  180. django_cfg/apps/payments/serializers/balance.py +0 -59
  181. django_cfg/apps/payments/serializers/currencies.py +0 -63
  182. django_cfg/apps/payments/serializers/payments.py +0 -62
  183. django_cfg/apps/payments/serializers/subscriptions.py +0 -71
  184. django_cfg/apps/payments/serializers/tariffs.py +0 -56
  185. django_cfg/apps/payments/services/billing/__init__.py +0 -8
  186. django_cfg/apps/payments/services/cache/simple_cache.py +0 -135
  187. django_cfg/apps/payments/services/core/fallback_service.py +0 -432
  188. django_cfg/apps/payments/services/internal_types.py +0 -461
  189. django_cfg/apps/payments/services/middleware/__init__.py +0 -8
  190. django_cfg/apps/payments/services/monitoring/__init__.py +0 -22
  191. django_cfg/apps/payments/services/monitoring/api_schemas.py +0 -76
  192. django_cfg/apps/payments/services/monitoring/provider_health.py +0 -372
  193. django_cfg/apps/payments/services/providers/cryptapi/__init__.py +0 -4
  194. django_cfg/apps/payments/services/providers/cryptapi/config.py +0 -8
  195. django_cfg/apps/payments/services/providers/cryptapi/models.py +0 -192
  196. django_cfg/apps/payments/services/providers/cryptapi/provider.py +0 -439
  197. django_cfg/apps/payments/services/providers/cryptomus/__init__.py +0 -4
  198. django_cfg/apps/payments/services/providers/cryptomus/models.py +0 -176
  199. django_cfg/apps/payments/services/providers/cryptomus/provider.py +0 -429
  200. django_cfg/apps/payments/services/providers/cryptomus/provider_v2.py +0 -564
  201. django_cfg/apps/payments/services/providers/models/__init__.py +0 -34
  202. django_cfg/apps/payments/services/providers/models/currencies.py +0 -190
  203. django_cfg/apps/payments/services/providers/nowpayments/__init__.py +0 -4
  204. django_cfg/apps/payments/services/providers/nowpayments/models.py +0 -196
  205. django_cfg/apps/payments/services/providers/nowpayments/provider.py +0 -380
  206. django_cfg/apps/payments/services/providers/stripe/__init__.py +0 -4
  207. django_cfg/apps/payments/services/providers/stripe/models.py +0 -184
  208. django_cfg/apps/payments/services/providers/stripe/provider.py +0 -109
  209. django_cfg/apps/payments/services/security/__init__.py +0 -34
  210. django_cfg/apps/payments/services/security/error_handler.py +0 -635
  211. django_cfg/apps/payments/services/security/payment_notifications.py +0 -342
  212. django_cfg/apps/payments/services/security/webhook_validator.py +0 -474
  213. django_cfg/apps/payments/static/payments/css/payments.css +0 -340
  214. django_cfg/apps/payments/static/payments/js/notifications.js +0 -202
  215. django_cfg/apps/payments/static/payments/js/payment-utils.js +0 -318
  216. django_cfg/apps/payments/static/payments/js/theme.js +0 -86
  217. django_cfg/apps/payments/tasks/__init__.py +0 -12
  218. django_cfg/apps/payments/tasks/webhook_processing.py +0 -177
  219. django_cfg/apps/payments/templates/admin/payments/currency/change_list.html +0 -50
  220. django_cfg/apps/payments/templates/payments/base.html +0 -182
  221. django_cfg/apps/payments/templates/payments/components/payment_card.html +0 -201
  222. django_cfg/apps/payments/templates/payments/components/payment_qr_code.html +0 -109
  223. django_cfg/apps/payments/templates/payments/components/progress_bar.html +0 -43
  224. django_cfg/apps/payments/templates/payments/components/provider_stats.html +0 -40
  225. django_cfg/apps/payments/templates/payments/components/status_badge.html +0 -34
  226. django_cfg/apps/payments/templates/payments/components/status_overview.html +0 -148
  227. django_cfg/apps/payments/templates/payments/dashboard.html +0 -258
  228. django_cfg/apps/payments/templates/payments/dashboard_simple_test.html +0 -35
  229. django_cfg/apps/payments/templates/payments/payment_create.html +0 -579
  230. django_cfg/apps/payments/templates/payments/payment_detail.html +0 -373
  231. django_cfg/apps/payments/templates/payments/payment_list.html +0 -354
  232. django_cfg/apps/payments/templates/payments/stats.html +0 -261
  233. django_cfg/apps/payments/templates/payments/test.html +0 -213
  234. django_cfg/apps/payments/templatetags/payments_tags.py +0 -315
  235. django_cfg/apps/payments/utils/__init__.py +0 -43
  236. django_cfg/apps/payments/utils/billing_utils.py +0 -342
  237. django_cfg/apps/payments/utils/config_utils.py +0 -239
  238. django_cfg/apps/payments/utils/middleware_utils.py +0 -228
  239. django_cfg/apps/payments/utils/validation_utils.py +0 -94
  240. django_cfg/apps/payments/views/__init__.py +0 -63
  241. django_cfg/apps/payments/views/api_key_views.py +0 -164
  242. django_cfg/apps/payments/views/balance_views.py +0 -75
  243. django_cfg/apps/payments/views/currency_views.py +0 -122
  244. django_cfg/apps/payments/views/payment_views.py +0 -149
  245. django_cfg/apps/payments/views/subscription_views.py +0 -135
  246. django_cfg/apps/payments/views/tariff_views.py +0 -131
  247. django_cfg/apps/payments/views/templates/__init__.py +0 -25
  248. django_cfg/apps/payments/views/templates/ajax.py +0 -451
  249. django_cfg/apps/payments/views/templates/base.py +0 -212
  250. django_cfg/apps/payments/views/templates/dashboard.py +0 -60
  251. django_cfg/apps/payments/views/templates/payment_detail.py +0 -102
  252. django_cfg/apps/payments/views/templates/payment_management.py +0 -158
  253. django_cfg/apps/payments/views/templates/qr_code.py +0 -174
  254. django_cfg/apps/payments/views/templates/stats.py +0 -244
  255. django_cfg/apps/payments/views/templates/utils.py +0 -181
  256. django_cfg/apps/payments/views/webhook_views.py +0 -266
  257. django_cfg/apps/payments/viewsets.py +0 -66
  258. django_cfg/core/integration.py +0 -160
  259. django_cfg/template_archive/.gitignore +0 -1
  260. django_cfg/template_archive/__init__.py +0 -0
  261. django_cfg/urls.py +0 -33
  262. {django_cfg-1.2.31.dist-info → django_cfg-1.3.3.dist-info}/WHEEL +0 -0
  263. {django_cfg-1.2.31.dist-info → django_cfg-1.3.3.dist-info}/entry_points.txt +0 -0
  264. {django_cfg-1.2.31.dist-info → django_cfg-1.3.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,66 +0,0 @@
1
- """
2
- Payment system ViewSets router for easy integration.
3
- """
4
-
5
- from rest_framework.routers import DefaultRouter
6
- from rest_framework_nested import routers
7
-
8
- from .views import (
9
- # Balance ViewSets
10
- UserBalanceViewSet, TransactionViewSet,
11
-
12
- # Payment ViewSets
13
- UserPaymentViewSet, UniversalPaymentViewSet,
14
-
15
- # Subscription ViewSets
16
- UserSubscriptionViewSet, SubscriptionViewSet, EndpointGroupViewSet,
17
-
18
- # API Key ViewSets
19
- UserAPIKeyViewSet, APIKeyViewSet,
20
-
21
- # Currency ViewSets
22
- CurrencyViewSet, NetworkViewSet, ProviderCurrencyViewSet,
23
-
24
- # Tariff ViewSets
25
- TariffViewSet, TariffEndpointGroupViewSet,
26
- )
27
-
28
-
29
- class PaymentSystemRouter:
30
- """Universal router with all payment endpoints"""
31
-
32
- def __init__(self):
33
- self.router = DefaultRouter()
34
- self._setup_main_routes()
35
-
36
- def _setup_main_routes(self):
37
- """Setup main resource routes"""
38
- # Core payment resources
39
- self.router.register(r'payments', UniversalPaymentViewSet, basename='payment')
40
- self.router.register(r'balances', UserBalanceViewSet, basename='balance')
41
- self.router.register(r'transactions', TransactionViewSet, basename='transaction')
42
-
43
- # Subscription management
44
- self.router.register(r'subscriptions', SubscriptionViewSet, basename='subscription')
45
- self.router.register(r'endpoint-groups', EndpointGroupViewSet, basename='endpoint-group')
46
-
47
- # API key management
48
- self.router.register(r'api-keys', APIKeyViewSet, basename='api-key')
49
-
50
- # Currency and pricing
51
- self.router.register(r'currencies', CurrencyViewSet, basename='currency')
52
- self.router.register(r'networks', NetworkViewSet, basename='network')
53
- self.router.register(r'provider-currencies', ProviderCurrencyViewSet, basename='provider-currency')
54
- self.router.register(r'tariffs', TariffViewSet, basename='tariff')
55
- self.router.register(r'tariff-groups', TariffEndpointGroupViewSet, basename='tariff-group')
56
-
57
- @property
58
- def urls(self):
59
- """Get all URLs"""
60
- return self.router.urls
61
-
62
-
63
- # Create default router instance
64
- payment_router = PaymentSystemRouter()
65
-
66
- __all__ = ['PaymentSystemRouter', 'payment_router']
@@ -1,160 +0,0 @@
1
- """
2
- Django CFG URL integration utilities.
3
-
4
- Provides automatic URL registration for django_cfg endpoints and integrations.
5
- """
6
-
7
- from typing import List
8
- from django.urls import path, include, URLPattern
9
- from django_cfg.core.environment import EnvironmentDetector
10
- from django.conf import settings
11
-
12
-
13
- def add_django_cfg_urls(urlpatterns: List[URLPattern], cfg_prefix: str = "cfg/") -> List[URLPattern]:
14
- """
15
- Automatically add django_cfg URLs and all integrations to the main URL configuration.
16
-
17
- This function adds:
18
- - Django CFG management URLs (cfg/)
19
- - Django Revolution URLs (if available)
20
- - Debug output (if development environment)
21
-
22
- Args:
23
- urlpatterns: Existing URL patterns list
24
- cfg_prefix: URL prefix for django_cfg endpoints (default: "cfg/")
25
-
26
- Returns:
27
- Updated URL patterns list with all URLs added
28
-
29
- Example:
30
- # In your main urls.py
31
- from django_cfg import add_django_cfg_urls
32
-
33
- urlpatterns = [
34
- path("", home_view, name="home"),
35
- path("admin/", admin.site.urls),
36
- ]
37
-
38
- # Automatically adds:
39
- # - path("cfg/", include("django_cfg.apps.urls"))
40
- # - Django Revolution URLs (if available)
41
- # - Debug output (if development environment)
42
- urlpatterns = add_django_cfg_urls(urlpatterns)
43
- """
44
- # Add django_cfg API URLs
45
- new_patterns = urlpatterns + [
46
- path(cfg_prefix, include("django_cfg.apps.urls")),
47
- ]
48
-
49
- # Try to add Django Revolution URLs if available
50
- try:
51
- from django_revolution import add_revolution_urls
52
- new_patterns = add_revolution_urls(new_patterns)
53
- except ImportError:
54
- # Django Revolution not available - skip
55
- pass
56
-
57
- # Show debug output if in development environment
58
- try:
59
- if EnvironmentDetector.is_development():
60
- _print_url_integration_info()
61
- except ImportError:
62
- # Fallback to Django DEBUG setting
63
- try:
64
- if getattr(settings, 'DEBUG', False):
65
- _print_url_integration_info()
66
- except ImportError:
67
- pass
68
-
69
- return new_patterns
70
-
71
-
72
- def get_django_cfg_urls_info() -> dict:
73
- """
74
- Get information about django_cfg URL integration and all integrations.
75
-
76
- Returns:
77
- Dictionary with complete URL integration info
78
- """
79
- try:
80
- from django_cfg import __version__
81
- version = __version__
82
- except ImportError:
83
- version = "unknown"
84
-
85
- # Get enabled endpoints based on configuration
86
- endpoints = [
87
- "cfg/commands/",
88
- "cfg/health/",
89
- ]
90
-
91
- try:
92
- from django_cfg.modules.base import BaseCfgModule
93
- base_module = BaseCfgModule()
94
-
95
- # All business logic apps are handled by Django Revolution zones
96
- # if base_module.is_support_enabled():
97
- # endpoints.append("cfg/support/")
98
- # if base_module.is_accounts_enabled():
99
- # endpoints.append("cfg/accounts/")
100
- # Newsletter and Leads are handled by Django Revolution zones
101
- # if base_module.is_newsletter_enabled():
102
- # endpoints.append("cfg/newsletter/")
103
- # if base_module.is_leads_enabled():
104
- # endpoints.append("cfg/leads/")
105
- except Exception:
106
- # Fallback: show all possible endpoints
107
- endpoints.extend([
108
- "cfg/support/",
109
- "cfg/accounts/",
110
- "cfg/newsletter/",
111
- "cfg/leads/",
112
- ])
113
-
114
- info = {
115
- "django_cfg": {
116
- "version": version,
117
- "prefix": "cfg/",
118
- "endpoints": endpoints,
119
- "description": "Django CFG management endpoints",
120
- }
121
- }
122
-
123
- # Add Django Revolution info if available
124
- try:
125
- from django_revolution import get_revolution_urls_info
126
- revolution_info = get_revolution_urls_info()
127
- if revolution_info:
128
- info["django_revolution"] = revolution_info
129
- except ImportError:
130
- pass
131
-
132
- return info
133
-
134
-
135
- def _print_url_integration_info():
136
- """Print URL integration debug information."""
137
- integration_info = get_django_cfg_urls_info()
138
-
139
- print("=" * 60)
140
-
141
- # Django CFG info
142
- if "django_cfg" in integration_info:
143
- cfg_info = integration_info["django_cfg"]
144
- print("⚙️ Django CFG URL Integration")
145
- print(f"📦 Version: {cfg_info.get('version', 'unknown')}")
146
- print(f"🔗 Prefix: /{cfg_info.get('prefix', 'cfg/')}")
147
- print(f"📋 Endpoints: {len(cfg_info.get('endpoints', []))}")
148
- for endpoint in cfg_info.get('endpoints', []):
149
- print(f" • {endpoint}")
150
- print("=" * 60)
151
-
152
- # Django Revolution info
153
- if "django_revolution" in integration_info:
154
- revolution_info = integration_info["django_revolution"]
155
- print("🚀 Django Revolution URL Integration")
156
- print(f"📦 Version: {revolution_info.get('version', 'unknown')}")
157
- print(f"📊 Zones: {revolution_info.get('total_zones', 0)}")
158
- print(f"📱 Apps: {revolution_info.get('total_apps', 0)}")
159
- print(f"🔗 API Prefix: /{revolution_info.get('api_prefix', 'apix')}/")
160
- print("=" * 60)
@@ -1 +0,0 @@
1
- *.zip
File without changes
django_cfg/urls.py DELETED
@@ -1,33 +0,0 @@
1
- """
2
- URL Configuration for Django Config Toolkit
3
-
4
- Provides URL patterns for health checks and other toolkit endpoints.
5
- """
6
-
7
- from django.urls import path, include
8
- from .health import HealthCheckView, SimpleHealthView
9
-
10
-
11
- app_name = 'django_cfg'
12
-
13
- urlpatterns = [
14
- # Health check endpoints
15
- path('health/', HealthCheckView.as_view(), name='health-check'),
16
- path('health/simple/', SimpleHealthView.as_view(), name='simple-health'),
17
- ]
18
-
19
-
20
- def get_toolkit_urls():
21
- """
22
- Get URL patterns for Django Config Toolkit.
23
-
24
- Include in your main urls.py:
25
-
26
- from django_cfg.urls import get_toolkit_urls
27
-
28
- urlpatterns = [
29
- path('admin/', admin.site.urls),
30
- path('toolkit/', include(get_toolkit_urls())),
31
- ]
32
- """
33
- return urlpatterns