@djangocfg/api 2.1.36 → 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,183 @@
|
|
|
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
|
+
* Retry Configuration and Utilities
|
|
11
|
+
*
|
|
12
|
+
* Provides automatic retry logic for failed HTTP requests using p-retry.
|
|
13
|
+
* Retries only on network errors and server errors (5xx), not client errors (4xx).
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import pRetry, { AbortError } from 'p-retry';
|
|
17
|
+
import { APIError, NetworkError } from './errors';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Information about a failed retry attempt.
|
|
21
|
+
*/
|
|
22
|
+
export interface FailedAttemptInfo {
|
|
23
|
+
/** The error that caused the failure */
|
|
24
|
+
error: Error;
|
|
25
|
+
/** The attempt number (1-indexed) */
|
|
26
|
+
attemptNumber: number;
|
|
27
|
+
/** Number of retries left */
|
|
28
|
+
retriesLeft: number;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Retry configuration options.
|
|
33
|
+
*
|
|
34
|
+
* Uses exponential backoff with jitter by default to avoid thundering herd.
|
|
35
|
+
*/
|
|
36
|
+
export interface RetryConfig {
|
|
37
|
+
/**
|
|
38
|
+
* Maximum number of retry attempts.
|
|
39
|
+
* @default 3
|
|
40
|
+
*/
|
|
41
|
+
retries?: number;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Exponential backoff factor.
|
|
45
|
+
* @default 2
|
|
46
|
+
*/
|
|
47
|
+
factor?: number;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Minimum wait time between retries (ms).
|
|
51
|
+
* @default 1000
|
|
52
|
+
*/
|
|
53
|
+
minTimeout?: number;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Maximum wait time between retries (ms).
|
|
57
|
+
* @default 60000
|
|
58
|
+
*/
|
|
59
|
+
maxTimeout?: number;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Add randomness to wait times (jitter).
|
|
63
|
+
* Helps avoid thundering herd problem.
|
|
64
|
+
* @default true
|
|
65
|
+
*/
|
|
66
|
+
randomize?: boolean;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Callback called on each failed attempt.
|
|
70
|
+
*/
|
|
71
|
+
onFailedAttempt?: (info: FailedAttemptInfo) => void;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Default retry configuration.
|
|
76
|
+
*/
|
|
77
|
+
export const DEFAULT_RETRY_CONFIG: Required<RetryConfig> = {
|
|
78
|
+
retries: 3,
|
|
79
|
+
factor: 2,
|
|
80
|
+
minTimeout: 1000,
|
|
81
|
+
maxTimeout: 60000,
|
|
82
|
+
randomize: true,
|
|
83
|
+
onFailedAttempt: () => {},
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Determine if an error should trigger a retry.
|
|
88
|
+
*
|
|
89
|
+
* Retries on:
|
|
90
|
+
* - Network errors (connection refused, timeout, etc.)
|
|
91
|
+
* - Server errors (5xx status codes)
|
|
92
|
+
* - Rate limiting (429 status code)
|
|
93
|
+
*
|
|
94
|
+
* Does NOT retry on:
|
|
95
|
+
* - Client errors (4xx except 429)
|
|
96
|
+
* - Authentication errors (401, 403)
|
|
97
|
+
* - Not found (404)
|
|
98
|
+
*
|
|
99
|
+
* @param error - The error to check
|
|
100
|
+
* @returns true if should retry, false otherwise
|
|
101
|
+
*/
|
|
102
|
+
export function shouldRetry(error: any): boolean {
|
|
103
|
+
// Always retry network errors
|
|
104
|
+
if (error instanceof NetworkError) {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// For API errors, check status code
|
|
109
|
+
if (error instanceof APIError) {
|
|
110
|
+
const status = error.statusCode;
|
|
111
|
+
|
|
112
|
+
// Retry on 5xx server errors
|
|
113
|
+
if (status >= 500 && status < 600) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Retry on 429 (rate limit)
|
|
118
|
+
if (status === 429) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Do NOT retry on 4xx client errors
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Retry on unknown errors (might be network issues)
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Wrap a function with retry logic.
|
|
132
|
+
*
|
|
133
|
+
* @param fn - Async function to retry
|
|
134
|
+
* @param config - Retry configuration
|
|
135
|
+
* @returns Result of the function
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const result = await withRetry(
|
|
140
|
+
* async () => fetch('https://api.example.com/users'),
|
|
141
|
+
* { retries: 5, minTimeout: 2000 }
|
|
142
|
+
* );
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
export async function withRetry<T>(
|
|
146
|
+
fn: () => Promise<T>,
|
|
147
|
+
config?: RetryConfig
|
|
148
|
+
): Promise<T> {
|
|
149
|
+
const finalConfig = { ...DEFAULT_RETRY_CONFIG, ...config };
|
|
150
|
+
|
|
151
|
+
return pRetry(
|
|
152
|
+
async () => {
|
|
153
|
+
try {
|
|
154
|
+
return await fn();
|
|
155
|
+
} catch (error) {
|
|
156
|
+
// Check if we should retry this error
|
|
157
|
+
if (!shouldRetry(error)) {
|
|
158
|
+
// Abort retry immediately for non-retryable errors
|
|
159
|
+
throw new AbortError(error as Error);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Re-throw error to trigger retry
|
|
163
|
+
throw error;
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
retries: finalConfig.retries,
|
|
168
|
+
factor: finalConfig.factor,
|
|
169
|
+
minTimeout: finalConfig.minTimeout,
|
|
170
|
+
maxTimeout: finalConfig.maxTimeout,
|
|
171
|
+
randomize: finalConfig.randomize,
|
|
172
|
+
onFailedAttempt: finalConfig.onFailedAttempt ? (error) => {
|
|
173
|
+
// Adapt p-retry's FailedAttemptError to our FailedAttemptInfo
|
|
174
|
+
const pRetryError = error as any; // p-retry's internal type
|
|
175
|
+
finalConfig.onFailedAttempt!({
|
|
176
|
+
error: pRetryError as Error,
|
|
177
|
+
attemptNumber: pRetryError.attemptNumber,
|
|
178
|
+
retriesLeft: pRetryError.retriesLeft,
|
|
179
|
+
});
|
|
180
|
+
} : undefined,
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.0.3",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "Django CFG API",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Complete API documentation for Django CFG Demo Project",
|
|
7
|
+
"x-django-metadata": {
|
|
8
|
+
"group": "cfg_webpush",
|
|
9
|
+
"apps": [
|
|
10
|
+
"django_cfg_webpush"
|
|
11
|
+
],
|
|
12
|
+
"generator": "django-client",
|
|
13
|
+
"generator_version": "1.0.0"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"paths": {
|
|
17
|
+
"/cfg/webpush/send/": {
|
|
18
|
+
"post": {
|
|
19
|
+
"operationId": "cfg_webpush_send_create",
|
|
20
|
+
"description": "Send push notification to all active subscriptions for the authenticated user.",
|
|
21
|
+
"summary": "Send push notification",
|
|
22
|
+
"tags": [
|
|
23
|
+
"Web Push"
|
|
24
|
+
],
|
|
25
|
+
"requestBody": {
|
|
26
|
+
"content": {
|
|
27
|
+
"application/json": {
|
|
28
|
+
"schema": {
|
|
29
|
+
"$ref": "#/components/schemas/SendPushRequestRequest"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"application/x-www-form-urlencoded": {
|
|
33
|
+
"schema": {
|
|
34
|
+
"$ref": "#/components/schemas/SendPushRequestRequest"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"multipart/form-data": {
|
|
38
|
+
"schema": {
|
|
39
|
+
"$ref": "#/components/schemas/SendPushRequestRequest"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"required": true
|
|
44
|
+
},
|
|
45
|
+
"security": [
|
|
46
|
+
{
|
|
47
|
+
"jwtAuthWithLastLogin": []
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"responses": {
|
|
51
|
+
"200": {
|
|
52
|
+
"content": {
|
|
53
|
+
"application/json": {
|
|
54
|
+
"schema": {
|
|
55
|
+
"$ref": "#/components/schemas/SendPushResponse"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"description": ""
|
|
60
|
+
},
|
|
61
|
+
"400": {
|
|
62
|
+
"content": {
|
|
63
|
+
"application/json": {
|
|
64
|
+
"schema": {
|
|
65
|
+
"description": "Bad request"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"description": ""
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"x-async-capable": false
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"/cfg/webpush/subscribe/": {
|
|
76
|
+
"post": {
|
|
77
|
+
"operationId": "cfg_webpush_subscribe_create",
|
|
78
|
+
"description": "Save push subscription from browser for the authenticated user.",
|
|
79
|
+
"summary": "Subscribe to push notifications",
|
|
80
|
+
"tags": [
|
|
81
|
+
"Web Push"
|
|
82
|
+
],
|
|
83
|
+
"requestBody": {
|
|
84
|
+
"content": {
|
|
85
|
+
"application/json": {
|
|
86
|
+
"schema": {
|
|
87
|
+
"$ref": "#/components/schemas/SubscribeRequestRequest"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"application/x-www-form-urlencoded": {
|
|
91
|
+
"schema": {
|
|
92
|
+
"$ref": "#/components/schemas/SubscribeRequestRequest"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"multipart/form-data": {
|
|
96
|
+
"schema": {
|
|
97
|
+
"$ref": "#/components/schemas/SubscribeRequestRequest"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"required": true
|
|
102
|
+
},
|
|
103
|
+
"security": [
|
|
104
|
+
{
|
|
105
|
+
"jwtAuthWithLastLogin": []
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"responses": {
|
|
109
|
+
"200": {
|
|
110
|
+
"content": {
|
|
111
|
+
"application/json": {
|
|
112
|
+
"schema": {
|
|
113
|
+
"$ref": "#/components/schemas/SubscribeResponse"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"description": ""
|
|
118
|
+
},
|
|
119
|
+
"400": {
|
|
120
|
+
"content": {
|
|
121
|
+
"application/json": {
|
|
122
|
+
"schema": {
|
|
123
|
+
"description": "Bad request"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"description": ""
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"x-async-capable": false
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"/cfg/webpush/vapid/": {
|
|
134
|
+
"get": {
|
|
135
|
+
"operationId": "cfg_webpush_vapid_retrieve",
|
|
136
|
+
"description": "Get VAPID public key for client subscription.",
|
|
137
|
+
"summary": "Get VAPID public key",
|
|
138
|
+
"tags": [
|
|
139
|
+
"Web Push"
|
|
140
|
+
],
|
|
141
|
+
"security": [
|
|
142
|
+
{
|
|
143
|
+
"jwtAuthWithLastLogin": []
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"responses": {
|
|
147
|
+
"200": {
|
|
148
|
+
"content": {
|
|
149
|
+
"application/json": {
|
|
150
|
+
"schema": {
|
|
151
|
+
"$ref": "#/components/schemas/VapidPublicKeyResponse"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"description": ""
|
|
156
|
+
},
|
|
157
|
+
"503": {
|
|
158
|
+
"content": {
|
|
159
|
+
"application/json": {
|
|
160
|
+
"schema": {
|
|
161
|
+
"description": "Service unavailable"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"description": ""
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"x-async-capable": false
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"components": {
|
|
173
|
+
"schemas": {
|
|
174
|
+
"SendPushRequestRequest": {
|
|
175
|
+
"type": "object",
|
|
176
|
+
"description": "Request serializer for sending push notifications.",
|
|
177
|
+
"properties": {
|
|
178
|
+
"title": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"minLength": 1,
|
|
181
|
+
"description": "Notification title",
|
|
182
|
+
"maxLength": 255
|
|
183
|
+
},
|
|
184
|
+
"body": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"minLength": 1,
|
|
187
|
+
"description": "Notification body"
|
|
188
|
+
},
|
|
189
|
+
"icon": {
|
|
190
|
+
"type": "string",
|
|
191
|
+
"format": "uri",
|
|
192
|
+
"nullable": true,
|
|
193
|
+
"minLength": 1,
|
|
194
|
+
"description": "Notification icon URL"
|
|
195
|
+
},
|
|
196
|
+
"url": {
|
|
197
|
+
"type": "string",
|
|
198
|
+
"format": "uri",
|
|
199
|
+
"nullable": true,
|
|
200
|
+
"minLength": 1,
|
|
201
|
+
"description": "URL to open on click"
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"required": [
|
|
205
|
+
"body",
|
|
206
|
+
"title"
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
"SendPushResponse": {
|
|
210
|
+
"type": "object",
|
|
211
|
+
"description": "Response serializer for send push endpoint.",
|
|
212
|
+
"properties": {
|
|
213
|
+
"success": {
|
|
214
|
+
"type": "boolean",
|
|
215
|
+
"description": "Whether send was successful"
|
|
216
|
+
},
|
|
217
|
+
"sent_to": {
|
|
218
|
+
"type": "integer",
|
|
219
|
+
"description": "Number of devices notification was sent to"
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
"required": [
|
|
223
|
+
"sent_to",
|
|
224
|
+
"success"
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"SubscribeRequestRequest": {
|
|
228
|
+
"type": "object",
|
|
229
|
+
"description": "Request serializer for subscribing to push notifications.",
|
|
230
|
+
"properties": {
|
|
231
|
+
"endpoint": {
|
|
232
|
+
"type": "string",
|
|
233
|
+
"format": "uri",
|
|
234
|
+
"minLength": 1,
|
|
235
|
+
"description": "Push service endpoint URL from browser",
|
|
236
|
+
"maxLength": 500
|
|
237
|
+
},
|
|
238
|
+
"keys": {
|
|
239
|
+
"type": "object",
|
|
240
|
+
"additionalProperties": {
|
|
241
|
+
"type": "string",
|
|
242
|
+
"minLength": 1
|
|
243
|
+
},
|
|
244
|
+
"description": "Encryption keys (p256dh and auth)"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
"required": [
|
|
248
|
+
"endpoint",
|
|
249
|
+
"keys"
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
"SubscribeResponse": {
|
|
253
|
+
"type": "object",
|
|
254
|
+
"description": "Response serializer for subscription endpoint.",
|
|
255
|
+
"properties": {
|
|
256
|
+
"success": {
|
|
257
|
+
"type": "boolean",
|
|
258
|
+
"description": "Whether subscription was successful"
|
|
259
|
+
},
|
|
260
|
+
"subscription_id": {
|
|
261
|
+
"type": "integer",
|
|
262
|
+
"description": "ID of the subscription"
|
|
263
|
+
},
|
|
264
|
+
"created": {
|
|
265
|
+
"type": "boolean",
|
|
266
|
+
"description": "Whether subscription was newly created"
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"required": [
|
|
270
|
+
"created",
|
|
271
|
+
"subscription_id",
|
|
272
|
+
"success"
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
"VapidPublicKeyResponse": {
|
|
276
|
+
"type": "object",
|
|
277
|
+
"description": "Response serializer for VAPID public key endpoint.",
|
|
278
|
+
"properties": {
|
|
279
|
+
"publicKey": {
|
|
280
|
+
"type": "string",
|
|
281
|
+
"description": "VAPID public key for client subscription"
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
"required": [
|
|
285
|
+
"publicKey"
|
|
286
|
+
]
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"securitySchemes": {
|
|
290
|
+
"jwtAuthWithLastLogin": {
|
|
291
|
+
"type": "http",
|
|
292
|
+
"scheme": "bearer",
|
|
293
|
+
"bearerFormat": "JWT"
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"servers": [
|
|
298
|
+
{
|
|
299
|
+
"url": "http://localhost:8000"
|
|
300
|
+
}
|
|
301
|
+
]
|
|
302
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
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
|
+
* Storage adapters for cross-platform token storage.
|
|
11
|
+
*
|
|
12
|
+
* Supports:
|
|
13
|
+
* - LocalStorage (browser)
|
|
14
|
+
* - Cookies (SSR/browser)
|
|
15
|
+
* - Memory (Node.js/Electron/testing)
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import type { APILogger } from './logger';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Storage adapter interface for cross-platform token storage.
|
|
22
|
+
*/
|
|
23
|
+
export interface StorageAdapter {
|
|
24
|
+
getItem(key: string): string | null;
|
|
25
|
+
setItem(key: string, value: string): void;
|
|
26
|
+
removeItem(key: string): void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* LocalStorage adapter with safe try-catch for browser environments.
|
|
31
|
+
* Works in modern browsers with localStorage support.
|
|
32
|
+
*
|
|
33
|
+
* Note: This adapter uses window.localStorage and should only be used in browser/client environments.
|
|
34
|
+
* For server-side usage, use MemoryStorageAdapter or CookieStorageAdapter instead.
|
|
35
|
+
*/
|
|
36
|
+
export class LocalStorageAdapter implements StorageAdapter {
|
|
37
|
+
private logger?: APILogger;
|
|
38
|
+
|
|
39
|
+
constructor(logger?: APILogger) {
|
|
40
|
+
this.logger = logger;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
getItem(key: string): string | null {
|
|
44
|
+
try {
|
|
45
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
46
|
+
const value = localStorage.getItem(key);
|
|
47
|
+
this.logger?.debug(`LocalStorage.getItem("${key}"): ${value ? 'found' : 'not found'}`);
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
|
|
51
|
+
} catch (error) {
|
|
52
|
+
this.logger?.error('LocalStorage.getItem failed:', error);
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
setItem(key: string, value: string): void {
|
|
58
|
+
try {
|
|
59
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
60
|
+
localStorage.setItem(key, value);
|
|
61
|
+
this.logger?.debug(`LocalStorage.setItem("${key}"): success`);
|
|
62
|
+
} else {
|
|
63
|
+
this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
|
|
64
|
+
}
|
|
65
|
+
} catch (error) {
|
|
66
|
+
this.logger?.error('LocalStorage.setItem failed:', error);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
removeItem(key: string): void {
|
|
71
|
+
try {
|
|
72
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
73
|
+
localStorage.removeItem(key);
|
|
74
|
+
this.logger?.debug(`LocalStorage.removeItem("${key}"): success`);
|
|
75
|
+
} else {
|
|
76
|
+
this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
|
|
77
|
+
}
|
|
78
|
+
} catch (error) {
|
|
79
|
+
this.logger?.error('LocalStorage.removeItem failed:', error);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Cookie-based storage adapter for SSR and browser environments.
|
|
86
|
+
* Useful for Next.js, Nuxt.js, and other SSR frameworks.
|
|
87
|
+
*/
|
|
88
|
+
export class CookieStorageAdapter implements StorageAdapter {
|
|
89
|
+
private logger?: APILogger;
|
|
90
|
+
|
|
91
|
+
constructor(logger?: APILogger) {
|
|
92
|
+
this.logger = logger;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
getItem(key: string): string | null {
|
|
96
|
+
try {
|
|
97
|
+
if (typeof document === 'undefined') {
|
|
98
|
+
this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
const value = `; ${document.cookie}`;
|
|
102
|
+
const parts = value.split(`; ${key}=`);
|
|
103
|
+
if (parts.length === 2) {
|
|
104
|
+
const result = parts.pop()?.split(';').shift() || null;
|
|
105
|
+
this.logger?.debug(`CookieStorage.getItem("${key}"): ${result ? 'found' : 'not found'}`);
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
this.logger?.debug(`CookieStorage.getItem("${key}"): not found`);
|
|
109
|
+
} catch (error) {
|
|
110
|
+
this.logger?.error('CookieStorage.getItem failed:', error);
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
setItem(key: string, value: string): void {
|
|
116
|
+
try {
|
|
117
|
+
if (typeof document !== 'undefined') {
|
|
118
|
+
document.cookie = `${key}=${value}; path=/; max-age=31536000`;
|
|
119
|
+
this.logger?.debug(`CookieStorage.setItem("${key}"): success`);
|
|
120
|
+
} else {
|
|
121
|
+
this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
|
|
122
|
+
}
|
|
123
|
+
} catch (error) {
|
|
124
|
+
this.logger?.error('CookieStorage.setItem failed:', error);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
removeItem(key: string): void {
|
|
129
|
+
try {
|
|
130
|
+
if (typeof document !== 'undefined') {
|
|
131
|
+
document.cookie = `${key}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
|
|
132
|
+
this.logger?.debug(`CookieStorage.removeItem("${key}"): success`);
|
|
133
|
+
} else {
|
|
134
|
+
this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
|
|
135
|
+
}
|
|
136
|
+
} catch (error) {
|
|
137
|
+
this.logger?.error('CookieStorage.removeItem failed:', error);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* In-memory storage adapter for Node.js, Electron, and testing environments.
|
|
144
|
+
* Data is stored in RAM and cleared when process exits.
|
|
145
|
+
*/
|
|
146
|
+
export class MemoryStorageAdapter implements StorageAdapter {
|
|
147
|
+
private storage: Map<string, string> = new Map();
|
|
148
|
+
private logger?: APILogger;
|
|
149
|
+
|
|
150
|
+
constructor(logger?: APILogger) {
|
|
151
|
+
this.logger = logger;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
getItem(key: string): string | null {
|
|
155
|
+
const value = this.storage.get(key) || null;
|
|
156
|
+
this.logger?.debug(`MemoryStorage.getItem("${key}"): ${value ? 'found' : 'not found'}`);
|
|
157
|
+
return value;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
setItem(key: string, value: string): void {
|
|
161
|
+
this.storage.set(key, value);
|
|
162
|
+
this.logger?.debug(`MemoryStorage.setItem("${key}"): success`);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
removeItem(key: string): void {
|
|
166
|
+
this.storage.delete(key);
|
|
167
|
+
this.logger?.debug(`MemoryStorage.removeItem("${key}"): success`);
|
|
168
|
+
}
|
|
169
|
+
}
|