@djangocfg/api 2.1.35 → 2.1.37
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.
- package/dist/auth.cjs +3007 -4015
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.mjs +3007 -4015
- package/dist/auth.mjs.map +1 -1
- package/dist/clients.cjs +4983 -0
- package/dist/clients.cjs.map +1 -0
- package/dist/clients.d.cts +4135 -0
- package/dist/clients.d.ts +4135 -0
- package/dist/clients.mjs +4957 -0
- package/dist/clients.mjs.map +1 -0
- package/dist/hooks.cjs +1083 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.cts +1122 -1
- package/dist/hooks.d.ts +1122 -1
- package/dist/hooks.mjs +1053 -0
- package/dist/hooks.mjs.map +1 -1
- package/dist/index.cjs +2888 -7848
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1867 -9643
- package/dist/index.d.ts +1867 -9643
- package/dist/index.mjs +2891 -7851
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -3
- package/src/auth/hooks/useGithubAuth.ts +3 -3
- package/src/clients.ts +57 -0
- package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts.ts → accounts.ts} +10 -2
- package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__auth.ts → accounts__auth.ts} +9 -1
- package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__oauth.ts → accounts__oauth.ts} +13 -5
- package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__user_profile.ts → accounts__user_profile.ts} +14 -6
- package/src/generated/cfg_accounts/_utils/fetchers/index.ts +12 -29
- package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts.ts → accounts.ts} +9 -1
- package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__auth.ts → accounts__auth.ts} +9 -1
- package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__oauth.ts → accounts__oauth.ts} +9 -1
- package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__user_profile.ts → accounts__user_profile.ts} +9 -1
- package/src/generated/cfg_accounts/_utils/hooks/index.ts +12 -29
- package/src/generated/cfg_accounts/_utils/schemas/index.ts +8 -134
- package/src/generated/cfg_accounts/{cfg_accounts__accounts → accounts}/client.ts +1 -1
- package/src/generated/cfg_accounts/accounts/index.ts +10 -0
- package/src/generated/cfg_accounts/{cfg_accounts__accounts → accounts}/models.ts +8 -0
- package/src/generated/cfg_accounts/{cfg_accounts__accounts__auth → accounts__auth}/client.ts +1 -1
- package/src/generated/cfg_accounts/accounts__auth/index.ts +10 -0
- package/src/generated/cfg_accounts/accounts__auth/models.ts +25 -0
- package/src/generated/cfg_accounts/{cfg_accounts__accounts__oauth → accounts__oauth}/client.ts +1 -1
- package/src/generated/cfg_accounts/accounts__oauth/index.ts +10 -0
- package/src/generated/cfg_accounts/{cfg_accounts__accounts__oauth → accounts__oauth}/models.ts +8 -0
- package/src/generated/cfg_accounts/{cfg_accounts__accounts__user_profile → accounts__user_profile}/client.ts +1 -1
- package/src/generated/cfg_accounts/accounts__user_profile/index.ts +10 -0
- package/src/generated/cfg_accounts/{cfg_accounts__accounts__user_profile → accounts__user_profile}/models.ts +8 -0
- package/src/generated/cfg_accounts/api-instance.ts +8 -0
- package/src/generated/cfg_accounts/client.ts +12 -87
- package/src/generated/cfg_accounts/enums.ts +8 -96
- package/src/generated/cfg_accounts/errors.ts +8 -0
- package/src/generated/cfg_accounts/http.ts +8 -0
- package/src/generated/cfg_accounts/index.ts +28 -195
- package/src/generated/cfg_accounts/logger.ts +8 -0
- package/src/generated/cfg_accounts/retry.ts +8 -0
- package/src/generated/cfg_accounts/schema.json +246 -10265
- package/src/generated/cfg_accounts/storage.ts +8 -0
- package/src/generated/cfg_accounts/validation-events.ts +8 -0
- package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_admin_api.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_admin_api.ts} +14 -6
- package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_auth.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_auth.ts} +9 -1
- package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_monitoring.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_monitoring.ts} +13 -5
- package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_testing.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_testing.ts} +11 -3
- package/src/generated/cfg_centrifugo/_utils/fetchers/index.ts +39 -0
- package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_admin_api.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_admin_api.ts} +9 -1
- package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_auth.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_auth.ts} +9 -1
- package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_monitoring.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_monitoring.ts} +9 -1
- package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_testing.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_testing.ts} +9 -1
- package/src/generated/cfg_centrifugo/_utils/hooks/index.ts +39 -0
- package/src/generated/cfg_centrifugo/_utils/schemas/index.ts +61 -0
- package/src/generated/cfg_centrifugo/api-instance.ts +139 -0
- package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api → cfg_centrifugo/centrifugo__centrifugo_admin_api}/client.ts +1 -1
- package/src/generated/cfg_centrifugo/centrifugo__centrifugo_admin_api/index.ts +10 -0
- package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api → cfg_centrifugo/centrifugo__centrifugo_admin_api}/models.ts +8 -0
- package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth → cfg_centrifugo/centrifugo__centrifugo_auth}/client.ts +1 -1
- package/src/generated/cfg_centrifugo/centrifugo__centrifugo_auth/index.ts +10 -0
- package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth → cfg_centrifugo/centrifugo__centrifugo_auth}/models.ts +8 -0
- package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring → cfg_centrifugo/centrifugo__centrifugo_monitoring}/client.ts +1 -1
- package/src/generated/cfg_centrifugo/centrifugo__centrifugo_monitoring/index.ts +10 -0
- package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring → cfg_centrifugo/centrifugo__centrifugo_monitoring}/models.ts +8 -0
- package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing → cfg_centrifugo/centrifugo__centrifugo_testing}/client.ts +1 -1
- package/src/generated/cfg_centrifugo/centrifugo__centrifugo_testing/index.ts +10 -0
- package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing → cfg_centrifugo/centrifugo__centrifugo_testing}/models.ts +8 -0
- package/src/generated/cfg_centrifugo/client.ts +310 -0
- package/src/generated/cfg_centrifugo/errors.ts +124 -0
- package/src/generated/cfg_centrifugo/http.ts +111 -0
- package/src/generated/cfg_centrifugo/index.ts +301 -0
- package/src/generated/cfg_centrifugo/logger.ts +267 -0
- package/src/generated/cfg_centrifugo/retry.ts +183 -0
- package/src/generated/cfg_centrifugo/schema.json +2123 -0
- package/src/generated/cfg_centrifugo/storage.ts +169 -0
- package/src/generated/cfg_centrifugo/validation-events.ts +141 -0
- package/src/generated/cfg_webpush/_utils/fetchers/index.ts +36 -0
- package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_api_keys.ts → cfg_webpush/_utils/fetchers/webpush__web_push.ts} +45 -35
- package/src/generated/cfg_webpush/_utils/hooks/index.ts +36 -0
- package/src/generated/cfg_webpush/_utils/hooks/webpush__web_push.ts +86 -0
- package/src/generated/cfg_webpush/_utils/schemas/SendPushRequestRequest.schema.ts +22 -0
- package/src/generated/cfg_webpush/_utils/schemas/SendPushResponse.schema.ts +20 -0
- package/src/generated/cfg_webpush/_utils/schemas/SubscribeRequestRequest.schema.ts +20 -0
- package/src/generated/cfg_webpush/_utils/schemas/SubscribeResponse.schema.ts +21 -0
- package/src/generated/cfg_webpush/_utils/schemas/VapidPublicKeyResponse.schema.ts +19 -0
- package/src/generated/cfg_webpush/_utils/schemas/index.ts +31 -0
- package/src/generated/cfg_webpush/api-instance.ts +139 -0
- package/src/generated/cfg_webpush/client.ts +301 -0
- package/src/generated/cfg_webpush/errors.ts +124 -0
- package/src/generated/cfg_webpush/http.ts +111 -0
- package/src/generated/cfg_webpush/index.ts +280 -0
- package/src/generated/cfg_webpush/logger.ts +267 -0
- package/src/generated/cfg_webpush/retry.ts +183 -0
- package/src/generated/cfg_webpush/schema.json +302 -0
- package/src/generated/cfg_webpush/storage.ts +169 -0
- package/src/generated/cfg_webpush/validation-events.ts +141 -0
- package/src/generated/cfg_webpush/webpush__web_push/client.ts +45 -0
- package/src/generated/cfg_webpush/webpush__web_push/index.ts +10 -0
- package/src/generated/cfg_webpush/webpush__web_push/models.ts +72 -0
- package/src/hooks/accounts.ts +8 -0
- package/src/hooks/index.ts +10 -0
- package/src/hooks/webpush.ts +12 -0
- package/src/index.ts +11 -0
- package/src/server.ts +5 -8
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_activity.ts +0 -62
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_api_zones.ts +0 -106
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_charts.ts +0 -177
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_commands.ts +0 -179
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_config.ts +0 -92
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_overview.ts +0 -92
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_statistics.ts +0 -120
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_system.ts +0 -150
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__endpoints.ts +0 -164
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_configuration.ts +0 -150
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_monitoring.ts +0 -280
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_services.ts +0 -208
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__health.ts +0 -150
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_jobs.ts +0 -323
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_monitoring.ts +0 -164
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_queues.ts +0 -134
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_registries.ts +0 -436
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_schedules.ts +0 -266
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_testing.ts +0 -293
- package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_workers.ts +0 -106
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_activity.ts +0 -50
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_api_zones.ts +0 -51
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_charts.ts +0 -79
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_commands.ts +0 -86
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_config.ts +0 -37
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_overview.ts +0 -37
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_statistics.ts +0 -65
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_system.ts +0 -52
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__endpoints.ts +0 -66
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_api_keys.ts +0 -67
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_configuration.ts +0 -52
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_monitoring.ts +0 -96
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_services.ts +0 -67
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__health.ts +0 -52
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_jobs.ts +0 -110
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_monitoring.ts +0 -66
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_queues.ts +0 -84
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_registries.ts +0 -136
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_schedules.ts +0 -92
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_testing.ts +0 -126
- package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_workers.ts +0 -51
- package/src/generated/cfg_accounts/_utils/schemas/APIZone.schema.ts +0 -29
- package/src/generated/cfg_accounts/_utils/schemas/APIZonesSummary.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/ActivityEntry.schema.ts +0 -25
- package/src/generated/cfg_accounts/_utils/schemas/ActivityTrackerDay.schema.ts +0 -23
- package/src/generated/cfg_accounts/_utils/schemas/ApiKey.schema.ts +0 -30
- package/src/generated/cfg_accounts/_utils/schemas/ApiKeyStats.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/AppStatistics.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/AppStatisticsData.schema.ts +0 -23
- package/src/generated/cfg_accounts/_utils/schemas/AxesConfig.schema.ts +0 -35
- package/src/generated/cfg_accounts/_utils/schemas/CentrifugoConfig.schema.ts +0 -35
- package/src/generated/cfg_accounts/_utils/schemas/ChartData.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/ChartDataset.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/Command.schema.ts +0 -38
- package/src/generated/cfg_accounts/_utils/schemas/CommandCategory.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/CommandExecuteRequestRequest.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/CommandHelpResponse.schema.ts +0 -25
- package/src/generated/cfg_accounts/_utils/schemas/CommandsSummary.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/ConfigData.schema.ts +0 -27
- package/src/generated/cfg_accounts/_utils/schemas/ConfigMeta.schema.ts +0 -20
- package/src/generated/cfg_accounts/_utils/schemas/ConfigValidation.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/ConstanceConfig.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/DRFConfig.schema.ts +0 -20
- package/src/generated/cfg_accounts/_utils/schemas/DRFHealthCheck.schema.ts +0 -25
- package/src/generated/cfg_accounts/_utils/schemas/DashboardOverview.schema.ts +0 -35
- package/src/generated/cfg_accounts/_utils/schemas/DatabaseConfig.schema.ts +0 -31
- package/src/generated/cfg_accounts/_utils/schemas/DjangoConfig.schema.ts +0 -93
- package/src/generated/cfg_accounts/_utils/schemas/DjangoRQConfig.schema.ts +0 -27
- package/src/generated/cfg_accounts/_utils/schemas/EmailConfig.schema.ts +0 -28
- package/src/generated/cfg_accounts/_utils/schemas/Endpoint.schema.ts +0 -35
- package/src/generated/cfg_accounts/_utils/schemas/EndpointsStatus.schema.ts +0 -28
- package/src/generated/cfg_accounts/_utils/schemas/GRPCConfig.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/GRPCConfigDashboard.schema.ts +0 -33
- package/src/generated/cfg_accounts/_utils/schemas/GRPCFeatures.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/GRPCFrameworkConfig.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/GRPCHealthCheck.schema.ts +0 -23
- package/src/generated/cfg_accounts/_utils/schemas/GRPCInterceptorInfo.schema.ts +0 -20
- package/src/generated/cfg_accounts/_utils/schemas/GRPCOverviewStats.schema.ts +0 -29
- package/src/generated/cfg_accounts/_utils/schemas/GRPCRegisteredService.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/GRPCServerConfig.schema.ts +0 -23
- package/src/generated/cfg_accounts/_utils/schemas/GRPCServerInfo.schema.ts +0 -28
- package/src/generated/cfg_accounts/_utils/schemas/GRPCServerStatus.schema.ts +0 -30
- package/src/generated/cfg_accounts/_utils/schemas/GRPCServiceInfo.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/GRPCServiceRegistryMethodStats.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/GRPCStats.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/GitHubOAuthConfig.schema.ts +0 -30
- package/src/generated/cfg_accounts/_utils/schemas/JWTConfig.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/JobActionResponse.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/JobDetail.schema.ts +0 -40
- package/src/generated/cfg_accounts/_utils/schemas/JobList.schema.ts +0 -28
- package/src/generated/cfg_accounts/_utils/schemas/JobListRequest.schema.ts +0 -28
- package/src/generated/cfg_accounts/_utils/schemas/MethodInfo.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/MethodList.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/MethodSummary.schema.ts +0 -25
- package/src/generated/cfg_accounts/_utils/schemas/ModelStatistics.schema.ts +0 -23
- package/src/generated/cfg_accounts/_utils/schemas/NextJSAdminConfig.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/NgrokConfig.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/OpenAPIClientConfig.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/PaginatedApiKeyList.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/PaginatedJobListList.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/PaginatedRecentRequestList.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/PaginatedScheduledJobList.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/PaginatedServiceSummaryList.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/PaymentsConfig.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/PaymentsNowPayments.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/QueueDetail.schema.ts +0 -34
- package/src/generated/cfg_accounts/_utils/schemas/QueueStats.schema.ts +0 -31
- package/src/generated/cfg_accounts/_utils/schemas/QuickAction.schema.ts +0 -29
- package/src/generated/cfg_accounts/_utils/schemas/QuickHealth.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/RQConfig.schema.ts +0 -30
- package/src/generated/cfg_accounts/_utils/schemas/RQHealthCheck.schema.ts +0 -31
- package/src/generated/cfg_accounts/_utils/schemas/RQSchedule.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/RecentError.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/RecentRequest.schema.ts +0 -33
- package/src/generated/cfg_accounts/_utils/schemas/RecentUser.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/RedisQueueConfig.schema.ts +0 -29
- package/src/generated/cfg_accounts/_utils/schemas/RunDemoRequestRequest.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/ScheduleActionResponse.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/ScheduleCreateRequest.schema.ts +0 -39
- package/src/generated/cfg_accounts/_utils/schemas/ScheduleInfo.schema.ts +0 -27
- package/src/generated/cfg_accounts/_utils/schemas/ScheduledJob.schema.ts +0 -32
- package/src/generated/cfg_accounts/_utils/schemas/ServiceDetail.schema.ts +0 -31
- package/src/generated/cfg_accounts/_utils/schemas/ServiceMethods.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/ServiceStats.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/ServiceSummary.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/SpectacularConfig.schema.ts +0 -21
- package/src/generated/cfg_accounts/_utils/schemas/StatCard.schema.ts +0 -30
- package/src/generated/cfg_accounts/_utils/schemas/StressTestRequestRequest.schema.ts +0 -23
- package/src/generated/cfg_accounts/_utils/schemas/SystemHealth.schema.ts +0 -24
- package/src/generated/cfg_accounts/_utils/schemas/SystemHealthItem.schema.ts +0 -28
- package/src/generated/cfg_accounts/_utils/schemas/SystemMetrics.schema.ts +0 -25
- package/src/generated/cfg_accounts/_utils/schemas/TelegramConfig.schema.ts +0 -28
- package/src/generated/cfg_accounts/_utils/schemas/TestScenario.schema.ts +0 -25
- package/src/generated/cfg_accounts/_utils/schemas/TestingActionResponse.schema.ts +0 -23
- package/src/generated/cfg_accounts/_utils/schemas/URLPattern.schema.ts +0 -26
- package/src/generated/cfg_accounts/_utils/schemas/URLsList.schema.ts +0 -25
- package/src/generated/cfg_accounts/_utils/schemas/UserStatistics.schema.ts +0 -22
- package/src/generated/cfg_accounts/_utils/schemas/Worker.schema.ts +0 -31
- package/src/generated/cfg_accounts/_utils/schemas/WorkerStats.schema.ts +0 -31
- package/src/generated/cfg_accounts/_utils/schemas/ZonesSummaryStats.schema.ts +0 -21
- package/src/generated/cfg_accounts/cfg_accounts__accounts/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__accounts__auth/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__accounts__auth/models.ts +0 -17
- package/src/generated/cfg_accounts/cfg_accounts__accounts__oauth/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__accounts__user_profile/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/client.ts +0 -45
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/models.ts +0 -0
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/client.ts +0 -34
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/models.ts +0 -40
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/client.ts +0 -98
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/models.ts +0 -24
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/client.ts +0 -55
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/models.ts +0 -80
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/client.ts +0 -25
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/models.ts +0 -412
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/client.ts +0 -25
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/models.ts +0 -228
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/client.ts +0 -44
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/models.ts +0 -16
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/client.ts +0 -34
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/models.ts +0 -69
- package/src/generated/cfg_accounts/cfg_accounts__endpoints/client.ts +0 -42
- package/src/generated/cfg_accounts/cfg_accounts__endpoints/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__endpoints/models.ts +0 -112
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/client.ts +0 -56
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/models.ts +0 -73
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/client.ts +0 -35
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/models.ts +0 -128
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/client.ts +0 -109
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/models.ts +0 -213
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/client.ts +0 -56
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/models.ts +0 -189
- package/src/generated/cfg_accounts/cfg_accounts__health/client.ts +0 -30
- package/src/generated/cfg_accounts/cfg_accounts__health/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__health/models.ts +0 -36
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/client.ts +0 -76
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/models.ts +0 -127
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/client.ts +0 -45
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/models.ts +0 -66
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/client.ts +0 -78
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/models.ts +0 -33
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/client.ts +0 -164
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/models.ts +0 -82
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/client.ts +0 -91
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/models.ts +0 -109
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/client.ts +0 -96
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/models.ts +0 -68
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/client.ts +0 -46
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/index.ts +0 -2
- package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/models.ts +0 -52
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelInfo.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsRequestRequest.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsResponse.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsResult.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoClientInfo.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoError.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHealthCheck.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryRequestRequest.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryResponse.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryResult.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoInfoResponse.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoInfoResult.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoMetrics.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoNodeInfo.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoOverviewStats.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceRequestRequest.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceResponse.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceResult.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsRequestRequest.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsResponse.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsResult.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoProcess.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPublication.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoStreamPosition.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ChannelList.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ChannelStats.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ConnectionTokenResponse.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ManualAckRequestRequest.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ManualAckResponse.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PaginatedPublishList.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/Publish.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PublishTestRequestRequest.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PublishTestResponse.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/TimelineItem.schema.ts +0 -0
- /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/TimelineResponse.schema.ts +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schema for SubscribeResponse
|
|
3
|
+
*
|
|
4
|
+
* This schema provides runtime validation and type inference.
|
|
5
|
+
* * Response serializer for subscription endpoint.
|
|
6
|
+
* */
|
|
7
|
+
import { z } from 'zod'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Response serializer for subscription endpoint.
|
|
11
|
+
*/
|
|
12
|
+
export const SubscribeResponseSchema = z.object({
|
|
13
|
+
success: z.boolean(),
|
|
14
|
+
subscription_id: z.int(),
|
|
15
|
+
created: z.boolean(),
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Infer TypeScript type from Zod schema
|
|
20
|
+
*/
|
|
21
|
+
export type SubscribeResponse = z.infer<typeof SubscribeResponseSchema>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schema for VapidPublicKeyResponse
|
|
3
|
+
*
|
|
4
|
+
* This schema provides runtime validation and type inference.
|
|
5
|
+
* * Response serializer for VAPID public key endpoint.
|
|
6
|
+
* */
|
|
7
|
+
import { z } from 'zod'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Response serializer for VAPID public key endpoint.
|
|
11
|
+
*/
|
|
12
|
+
export const VapidPublicKeyResponseSchema = z.object({
|
|
13
|
+
publicKey: z.string(),
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Infer TypeScript type from Zod schema
|
|
18
|
+
*/
|
|
19
|
+
export type VapidPublicKeyResponse = z.infer<typeof VapidPublicKeyResponseSchema>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
*
|
|
4
|
+
* This file is automatically generated by DjangoCFG.
|
|
5
|
+
* Any manual changes will be lost when the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @see https://djangocfg.com/docs/features/modules/django-client/overview/
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Zod Schemas - Runtime validation and type inference
|
|
11
|
+
*
|
|
12
|
+
* Auto-generated from OpenAPI specification.
|
|
13
|
+
* Provides runtime validation for API requests and responses.
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { UserSchema } from './schemas'
|
|
18
|
+
*
|
|
19
|
+
* // Validate data
|
|
20
|
+
* const user = UserSchema.parse(data)
|
|
21
|
+
*
|
|
22
|
+
* // Type inference
|
|
23
|
+
* type User = z.infer<typeof UserSchema>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
export * from './SendPushRequestRequest.schema'
|
|
28
|
+
export * from './SendPushResponse.schema'
|
|
29
|
+
export * from './SubscribeRequestRequest.schema'
|
|
30
|
+
export * from './SubscribeResponse.schema'
|
|
31
|
+
export * from './VapidPublicKeyResponse.schema'
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
*
|
|
4
|
+
* This file is automatically generated by DjangoCFG.
|
|
5
|
+
* Any manual changes will be lost when the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @see https://djangocfg.com/docs/features/modules/django-client/overview/
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Global API Instance - Singleton configuration
|
|
11
|
+
*
|
|
12
|
+
* This module provides a global API instance that can be configured once
|
|
13
|
+
* and used throughout your application.
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // Configure once (e.g., in your app entry point)
|
|
18
|
+
* import { configureAPI } from './api-instance'
|
|
19
|
+
*
|
|
20
|
+
* configureAPI({
|
|
21
|
+
* baseUrl: 'https://api.example.com',
|
|
22
|
+
* token: 'your-jwt-token'
|
|
23
|
+
* })
|
|
24
|
+
*
|
|
25
|
+
* // Then use fetchers and hooks anywhere without configuration
|
|
26
|
+
* import { getUsers } from './fetchers'
|
|
27
|
+
* const users = await getUsers({ page: 1 })
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* For SSR or multiple instances:
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import { API } from './index'
|
|
33
|
+
* import { getUsers } from './fetchers'
|
|
34
|
+
*
|
|
35
|
+
* const api = new API('https://api.example.com')
|
|
36
|
+
* const users = await getUsers({ page: 1 }, api)
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
import { API, type APIOptions } from './index'
|
|
41
|
+
|
|
42
|
+
let globalAPI: API | null = null
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Get the global API instance
|
|
46
|
+
* @throws Error if API is not configured
|
|
47
|
+
*/
|
|
48
|
+
export function getAPIInstance(): API {
|
|
49
|
+
if (!globalAPI) {
|
|
50
|
+
throw new Error(
|
|
51
|
+
'API not configured. Call configureAPI() with your base URL before using fetchers or hooks.\n\n' +
|
|
52
|
+
'Example:\n' +
|
|
53
|
+
' import { configureAPI } from "./api-instance"\n' +
|
|
54
|
+
' configureAPI({ baseUrl: "https://api.example.com" })'
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
return globalAPI
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Check if API is configured
|
|
62
|
+
*/
|
|
63
|
+
export function isAPIConfigured(): boolean {
|
|
64
|
+
return globalAPI !== null
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Configure the global API instance
|
|
69
|
+
*
|
|
70
|
+
* @param baseUrl - Base URL for the API
|
|
71
|
+
* @param options - Optional configuration (storage, retry, logger)
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* configureAPI({
|
|
76
|
+
* baseUrl: 'https://api.example.com',
|
|
77
|
+
* token: 'jwt-token',
|
|
78
|
+
* options: {
|
|
79
|
+
* retryConfig: { maxRetries: 3 },
|
|
80
|
+
* loggerConfig: { enabled: true }
|
|
81
|
+
* }
|
|
82
|
+
* })
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export function configureAPI(config: {
|
|
86
|
+
baseUrl: string
|
|
87
|
+
token?: string
|
|
88
|
+
refreshToken?: string
|
|
89
|
+
options?: APIOptions
|
|
90
|
+
}): API {
|
|
91
|
+
globalAPI = new API(config.baseUrl, config.options)
|
|
92
|
+
|
|
93
|
+
if (config.token) {
|
|
94
|
+
globalAPI.setToken(config.token, config.refreshToken)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return globalAPI
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Reconfigure the global API instance with new settings
|
|
102
|
+
* Useful for updating tokens or base URL
|
|
103
|
+
*/
|
|
104
|
+
export function reconfigureAPI(updates: {
|
|
105
|
+
baseUrl?: string
|
|
106
|
+
token?: string
|
|
107
|
+
refreshToken?: string
|
|
108
|
+
}): API {
|
|
109
|
+
const instance = getAPIInstance()
|
|
110
|
+
|
|
111
|
+
if (updates.baseUrl) {
|
|
112
|
+
instance.setBaseUrl(updates.baseUrl)
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (updates.token) {
|
|
116
|
+
instance.setToken(updates.token, updates.refreshToken)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return instance
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Clear tokens from the global API instance
|
|
124
|
+
*/
|
|
125
|
+
export function clearAPITokens(): void {
|
|
126
|
+
const instance = getAPIInstance()
|
|
127
|
+
instance.clearTokens()
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Reset the global API instance
|
|
132
|
+
* Useful for testing or logout scenarios
|
|
133
|
+
*/
|
|
134
|
+
export function resetAPI(): void {
|
|
135
|
+
if (globalAPI) {
|
|
136
|
+
globalAPI.clearTokens()
|
|
137
|
+
}
|
|
138
|
+
globalAPI = null
|
|
139
|
+
}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { WebPush } from "./webpush__web_push";
|
|
2
|
+
import { HttpClientAdapter, FetchAdapter } from "./http";
|
|
3
|
+
import { APIError, NetworkError } from "./errors";
|
|
4
|
+
import { APILogger, type LoggerConfig } from "./logger";
|
|
5
|
+
import { withRetry, type RetryConfig } from "./retry";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Async API client for Django CFG API.
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const client = new APIClient('https://api.example.com');
|
|
14
|
+
* const users = await client.users.list();
|
|
15
|
+
* const post = await client.posts.create(newPost);
|
|
16
|
+
*
|
|
17
|
+
* // Custom HTTP adapter (e.g., Axios)
|
|
18
|
+
* const client = new APIClient('https://api.example.com', {
|
|
19
|
+
* httpClient: new AxiosAdapter()
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export class APIClient {
|
|
24
|
+
private baseUrl: string;
|
|
25
|
+
private httpClient: HttpClientAdapter;
|
|
26
|
+
private logger: APILogger | null = null;
|
|
27
|
+
private retryConfig: RetryConfig | null = null;
|
|
28
|
+
|
|
29
|
+
// Sub-clients
|
|
30
|
+
public web_push: WebPush;
|
|
31
|
+
|
|
32
|
+
constructor(
|
|
33
|
+
baseUrl: string,
|
|
34
|
+
options?: {
|
|
35
|
+
httpClient?: HttpClientAdapter;
|
|
36
|
+
loggerConfig?: Partial<LoggerConfig>;
|
|
37
|
+
retryConfig?: RetryConfig;
|
|
38
|
+
}
|
|
39
|
+
) {
|
|
40
|
+
this.baseUrl = baseUrl.replace(/\/$/, '');
|
|
41
|
+
this.httpClient = options?.httpClient || new FetchAdapter();
|
|
42
|
+
|
|
43
|
+
// Initialize logger if config provided
|
|
44
|
+
if (options?.loggerConfig !== undefined) {
|
|
45
|
+
this.logger = new APILogger(options.loggerConfig);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Store retry configuration
|
|
49
|
+
if (options?.retryConfig !== undefined) {
|
|
50
|
+
this.retryConfig = options.retryConfig;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Initialize sub-clients
|
|
54
|
+
this.web_push = new WebPush(this);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Get CSRF token from cookies (for SessionAuthentication).
|
|
59
|
+
*
|
|
60
|
+
* Returns null if cookie doesn't exist (JWT-only auth).
|
|
61
|
+
*/
|
|
62
|
+
getCsrfToken(): string | null {
|
|
63
|
+
const name = 'csrftoken';
|
|
64
|
+
const value = `; ${document.cookie}`;
|
|
65
|
+
const parts = value.split(`; ${name}=`);
|
|
66
|
+
if (parts.length === 2) {
|
|
67
|
+
return parts.pop()?.split(';').shift() || null;
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Make HTTP request with Django CSRF and session handling.
|
|
74
|
+
* Automatically retries on network errors and 5xx server errors.
|
|
75
|
+
*/
|
|
76
|
+
async request<T>(
|
|
77
|
+
method: string,
|
|
78
|
+
path: string,
|
|
79
|
+
options?: {
|
|
80
|
+
params?: Record<string, any>;
|
|
81
|
+
body?: any;
|
|
82
|
+
formData?: FormData;
|
|
83
|
+
headers?: Record<string, string>;
|
|
84
|
+
}
|
|
85
|
+
): Promise<T> {
|
|
86
|
+
// Wrap request in retry logic if configured
|
|
87
|
+
if (this.retryConfig) {
|
|
88
|
+
return withRetry(() => this._makeRequest<T>(method, path, options), {
|
|
89
|
+
...this.retryConfig,
|
|
90
|
+
onFailedAttempt: (info) => {
|
|
91
|
+
// Log retry attempts
|
|
92
|
+
if (this.logger) {
|
|
93
|
+
this.logger.warn(
|
|
94
|
+
`Retry attempt ${info.attemptNumber}/${info.retriesLeft + info.attemptNumber} ` +
|
|
95
|
+
`for ${method} ${path}: ${info.error.message}`
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
// Call user's onFailedAttempt if provided
|
|
99
|
+
this.retryConfig?.onFailedAttempt?.(info);
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// No retry configured, make request directly
|
|
105
|
+
return this._makeRequest<T>(method, path, options);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Internal request method (without retry wrapper).
|
|
110
|
+
* Used by request() method with optional retry logic.
|
|
111
|
+
*/
|
|
112
|
+
private async _makeRequest<T>(
|
|
113
|
+
method: string,
|
|
114
|
+
path: string,
|
|
115
|
+
options?: {
|
|
116
|
+
params?: Record<string, any>;
|
|
117
|
+
body?: any;
|
|
118
|
+
formData?: FormData;
|
|
119
|
+
headers?: Record<string, string>;
|
|
120
|
+
}
|
|
121
|
+
): Promise<T> {
|
|
122
|
+
// Build URL - handle both absolute and relative paths
|
|
123
|
+
// When baseUrl is empty (static builds), path is used as-is (relative to current origin)
|
|
124
|
+
const url = this.baseUrl ? `${this.baseUrl}${path}` : path;
|
|
125
|
+
const startTime = Date.now();
|
|
126
|
+
|
|
127
|
+
// Build headers - start with custom headers from options
|
|
128
|
+
const headers: Record<string, string> = {
|
|
129
|
+
...(options?.headers || {})
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
// Don't set Content-Type for FormData (browser will set it with boundary)
|
|
133
|
+
if (!options?.formData && !headers['Content-Type']) {
|
|
134
|
+
headers['Content-Type'] = 'application/json';
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// CSRF not needed - SessionAuthentication not enabled in DRF config
|
|
138
|
+
// Your API uses JWT/Token authentication (no CSRF required)
|
|
139
|
+
|
|
140
|
+
// Log request
|
|
141
|
+
if (this.logger) {
|
|
142
|
+
this.logger.logRequest({
|
|
143
|
+
method,
|
|
144
|
+
url: url,
|
|
145
|
+
headers,
|
|
146
|
+
body: options?.formData || options?.body,
|
|
147
|
+
timestamp: startTime,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
try {
|
|
152
|
+
// Make request via HTTP adapter
|
|
153
|
+
const response = await this.httpClient.request<T>({
|
|
154
|
+
method,
|
|
155
|
+
url: url,
|
|
156
|
+
headers,
|
|
157
|
+
params: options?.params,
|
|
158
|
+
body: options?.body,
|
|
159
|
+
formData: options?.formData,
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
const duration = Date.now() - startTime;
|
|
163
|
+
|
|
164
|
+
// Check for HTTP errors
|
|
165
|
+
if (response.status >= 400) {
|
|
166
|
+
const error = new APIError(
|
|
167
|
+
response.status,
|
|
168
|
+
response.statusText,
|
|
169
|
+
response.data,
|
|
170
|
+
url
|
|
171
|
+
);
|
|
172
|
+
|
|
173
|
+
// Log error
|
|
174
|
+
if (this.logger) {
|
|
175
|
+
this.logger.logError(
|
|
176
|
+
{
|
|
177
|
+
method,
|
|
178
|
+
url: url,
|
|
179
|
+
headers,
|
|
180
|
+
body: options?.formData || options?.body,
|
|
181
|
+
timestamp: startTime,
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
message: error.message,
|
|
185
|
+
statusCode: response.status,
|
|
186
|
+
duration,
|
|
187
|
+
timestamp: Date.now(),
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Log successful response
|
|
196
|
+
if (this.logger) {
|
|
197
|
+
this.logger.logResponse(
|
|
198
|
+
{
|
|
199
|
+
method,
|
|
200
|
+
url: url,
|
|
201
|
+
headers,
|
|
202
|
+
body: options?.formData || options?.body,
|
|
203
|
+
timestamp: startTime,
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
status: response.status,
|
|
207
|
+
statusText: response.statusText,
|
|
208
|
+
data: response.data,
|
|
209
|
+
duration,
|
|
210
|
+
timestamp: Date.now(),
|
|
211
|
+
}
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
return response.data as T;
|
|
216
|
+
} catch (error) {
|
|
217
|
+
const duration = Date.now() - startTime;
|
|
218
|
+
|
|
219
|
+
// Re-throw APIError as-is
|
|
220
|
+
if (error instanceof APIError) {
|
|
221
|
+
throw error;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// Detect CORS errors and dispatch event
|
|
225
|
+
const isCORSError = error instanceof TypeError &&
|
|
226
|
+
(error.message.toLowerCase().includes('cors') ||
|
|
227
|
+
error.message.toLowerCase().includes('failed to fetch') ||
|
|
228
|
+
error.message.toLowerCase().includes('network request failed'));
|
|
229
|
+
|
|
230
|
+
// Log specific error type first
|
|
231
|
+
if (this.logger) {
|
|
232
|
+
if (isCORSError) {
|
|
233
|
+
this.logger.error(`🚫 CORS Error: ${method} ${url}`);
|
|
234
|
+
this.logger.error(` → ${error instanceof Error ? error.message : String(error)}`);
|
|
235
|
+
this.logger.error(` → Configure security_domains parameter on the server`);
|
|
236
|
+
} else {
|
|
237
|
+
this.logger.error(`⚠️ Network Error: ${method} ${url}`);
|
|
238
|
+
this.logger.error(` → ${error instanceof Error ? error.message : String(error)}`);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// Dispatch browser events
|
|
243
|
+
if (typeof window !== 'undefined') {
|
|
244
|
+
try {
|
|
245
|
+
if (isCORSError) {
|
|
246
|
+
// Dispatch CORS-specific error event
|
|
247
|
+
window.dispatchEvent(new CustomEvent('cors-error', {
|
|
248
|
+
detail: {
|
|
249
|
+
url: url,
|
|
250
|
+
method: method,
|
|
251
|
+
error: error instanceof Error ? error.message : String(error),
|
|
252
|
+
timestamp: new Date(),
|
|
253
|
+
},
|
|
254
|
+
bubbles: true,
|
|
255
|
+
cancelable: false,
|
|
256
|
+
}));
|
|
257
|
+
} else {
|
|
258
|
+
// Dispatch generic network error event
|
|
259
|
+
window.dispatchEvent(new CustomEvent('network-error', {
|
|
260
|
+
detail: {
|
|
261
|
+
url: url,
|
|
262
|
+
method: method,
|
|
263
|
+
error: error instanceof Error ? error.message : String(error),
|
|
264
|
+
timestamp: new Date(),
|
|
265
|
+
},
|
|
266
|
+
bubbles: true,
|
|
267
|
+
cancelable: false,
|
|
268
|
+
}));
|
|
269
|
+
}
|
|
270
|
+
} catch (eventError) {
|
|
271
|
+
// Silently fail - event dispatch should never crash the app
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// Wrap other errors as NetworkError
|
|
276
|
+
const networkError = error instanceof Error
|
|
277
|
+
? new NetworkError(error.message, url, error)
|
|
278
|
+
: new NetworkError('Unknown error', url);
|
|
279
|
+
|
|
280
|
+
// Detailed logging via logger.logError
|
|
281
|
+
if (this.logger) {
|
|
282
|
+
this.logger.logError(
|
|
283
|
+
{
|
|
284
|
+
method,
|
|
285
|
+
url: url,
|
|
286
|
+
headers,
|
|
287
|
+
body: options?.formData || options?.body,
|
|
288
|
+
timestamp: startTime,
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
message: networkError.message,
|
|
292
|
+
duration,
|
|
293
|
+
timestamp: Date.now(),
|
|
294
|
+
}
|
|
295
|
+
);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
throw networkError;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
*
|
|
4
|
+
* This file is automatically generated by DjangoCFG.
|
|
5
|
+
* Any manual changes will be lost when the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @see https://djangocfg.com/docs/features/modules/django-client/overview/
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* API Error Classes
|
|
11
|
+
*
|
|
12
|
+
* Typed error classes with Django REST Framework support.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* HTTP API Error with DRF field-specific validation errors.
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* ```typescript
|
|
20
|
+
* try {
|
|
21
|
+
* await api.users.create(userData);
|
|
22
|
+
* } catch (error) {
|
|
23
|
+
* if (error instanceof APIError) {
|
|
24
|
+
* if (error.isValidationError) {
|
|
25
|
+
* console.log('Field errors:', error.fieldErrors);
|
|
26
|
+
* // { "email": ["Email already exists"], "username": ["Required"] }
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export class APIError extends Error {
|
|
33
|
+
constructor(
|
|
34
|
+
public statusCode: number,
|
|
35
|
+
public statusText: string,
|
|
36
|
+
public response: any,
|
|
37
|
+
public url: string,
|
|
38
|
+
message?: string
|
|
39
|
+
) {
|
|
40
|
+
super(message || `HTTP ${statusCode}: ${statusText}`);
|
|
41
|
+
this.name = 'APIError';
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Get error details from response.
|
|
46
|
+
* DRF typically returns: { "detail": "Error message" } or { "field": ["error1", "error2"] }
|
|
47
|
+
*/
|
|
48
|
+
get details(): Record<string, any> | null {
|
|
49
|
+
if (typeof this.response === 'object' && this.response !== null) {
|
|
50
|
+
return this.response;
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Get field-specific validation errors from DRF.
|
|
57
|
+
* Returns: { "field_name": ["error1", "error2"], ... }
|
|
58
|
+
*/
|
|
59
|
+
get fieldErrors(): Record<string, string[]> | null {
|
|
60
|
+
const details = this.details;
|
|
61
|
+
if (!details) return null;
|
|
62
|
+
|
|
63
|
+
// DRF typically returns: { "field": ["error1", "error2"] }
|
|
64
|
+
const fieldErrors: Record<string, string[]> = {};
|
|
65
|
+
for (const [key, value] of Object.entries(details)) {
|
|
66
|
+
if (Array.isArray(value)) {
|
|
67
|
+
fieldErrors[key] = value;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return Object.keys(fieldErrors).length > 0 ? fieldErrors : null;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Get single error message from DRF.
|
|
76
|
+
* Checks for "detail", "message", or first field error.
|
|
77
|
+
*/
|
|
78
|
+
get errorMessage(): string {
|
|
79
|
+
const details = this.details;
|
|
80
|
+
if (!details) return this.message;
|
|
81
|
+
|
|
82
|
+
// Check for "detail" field (common in DRF)
|
|
83
|
+
if (details.detail) {
|
|
84
|
+
return Array.isArray(details.detail) ? details.detail.join(', ') : String(details.detail);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Check for "message" field
|
|
88
|
+
if (details.message) {
|
|
89
|
+
return String(details.message);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Return first field error
|
|
93
|
+
const fieldErrors = this.fieldErrors;
|
|
94
|
+
if (fieldErrors) {
|
|
95
|
+
const firstField = Object.keys(fieldErrors)[0];
|
|
96
|
+
if (firstField) {
|
|
97
|
+
return `${firstField}: ${fieldErrors[firstField]?.join(', ')}`;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return this.message;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Helper methods for common HTTP status codes
|
|
105
|
+
get isValidationError(): boolean { return this.statusCode === 400; }
|
|
106
|
+
get isAuthError(): boolean { return this.statusCode === 401; }
|
|
107
|
+
get isPermissionError(): boolean { return this.statusCode === 403; }
|
|
108
|
+
get isNotFoundError(): boolean { return this.statusCode === 404; }
|
|
109
|
+
get isServerError(): boolean { return this.statusCode >= 500 && this.statusCode < 600; }
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Network Error (connection failed, timeout, etc.)
|
|
114
|
+
*/
|
|
115
|
+
export class NetworkError extends Error {
|
|
116
|
+
constructor(
|
|
117
|
+
message: string,
|
|
118
|
+
public url: string,
|
|
119
|
+
public originalError?: Error
|
|
120
|
+
) {
|
|
121
|
+
super(message);
|
|
122
|
+
this.name = 'NetworkError';
|
|
123
|
+
}
|
|
124
|
+
}
|