@djangocfg/api 2.1.10 → 2.1.15
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/README.md +424 -55
- package/dist/auth-server.cjs +47 -0
- package/dist/auth-server.cjs.map +1 -0
- package/dist/auth-server.d.cts +16 -0
- package/dist/auth-server.d.ts +16 -0
- package/dist/auth-server.mjs +27 -0
- package/dist/auth-server.mjs.map +1 -0
- package/dist/auth.cjs +6081 -0
- package/dist/auth.cjs.map +1 -0
- package/dist/auth.d.cts +525 -0
- package/dist/auth.d.ts +525 -0
- package/dist/auth.mjs +6063 -0
- package/dist/auth.mjs.map +1 -0
- package/dist/hooks.cjs +1 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.cts +2 -0
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.mjs +1 -0
- package/dist/hooks.mjs.map +1 -0
- package/dist/index.cjs +7253 -16058
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7615 -16642
- package/dist/index.d.ts +7615 -16642
- package/dist/index.mjs +5819 -14624
- package/dist/index.mjs.map +1 -1
- package/package.json +21 -25
- package/src/auth/context/AccountsContext.tsx +245 -0
- package/src/auth/context/AuthContext.tsx +604 -0
- package/src/auth/context/index.ts +4 -0
- package/src/auth/context/types.ts +68 -0
- package/src/auth/hooks/index.ts +17 -0
- package/src/auth/hooks/useAuthForm.ts +332 -0
- package/src/auth/hooks/useAuthGuard.ts +25 -0
- package/src/auth/hooks/useAuthRedirect.ts +51 -0
- package/src/auth/hooks/useAutoAuth.ts +49 -0
- package/src/auth/hooks/useGithubAuth.ts +184 -0
- package/src/auth/hooks/useLocalStorage.ts +214 -0
- package/src/auth/hooks/useProfileCache.ts +146 -0
- package/src/auth/hooks/useSessionStorage.ts +189 -0
- package/src/auth/index.ts +34 -0
- package/src/auth/middlewares/index.ts +1 -0
- package/src/auth/middlewares/proxy.ts +32 -0
- package/src/auth/server.ts +19 -0
- package/src/auth/utils/analytics.ts +62 -0
- package/src/auth/utils/errors.ts +22 -0
- package/src/auth/utils/index.ts +10 -0
- package/src/auth/utils/logger.ts +28 -0
- package/src/auth/utils/validation.ts +7 -0
- package/src/{cfg/generated/_utils/fetchers/cfg__accounts.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__accounts.ts} +2 -2
- package/src/{cfg/generated/_utils/fetchers/cfg__accounts__auth.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__accounts__auth.ts} +1 -1
- package/src/{cfg/generated/_utils/fetchers/cfg__accounts__oauth.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__accounts__oauth.ts} +5 -5
- package/src/{cfg/generated/_utils/fetchers/cfg__accounts__user_profile.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__accounts__user_profile.ts} +6 -6
- package/src/{cfg/generated/_utils/fetchers/cfg__centrifugo__centrifugo_admin_api.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_admin_api.ts} +6 -6
- package/src/{cfg/generated/_utils/fetchers/cfg__centrifugo__centrifugo_auth.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_auth.ts} +1 -1
- package/src/{cfg/generated/_utils/fetchers/cfg__centrifugo__centrifugo_monitoring.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_monitoring.ts} +5 -5
- package/src/{cfg/generated/_utils/fetchers/cfg__centrifugo__centrifugo_testing.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_testing.ts} +3 -3
- package/src/{cfg/generated/_utils/fetchers/cfg__dashboard__dashboard_activity.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_activity.ts} +2 -2
- package/src/{cfg/generated/_utils/fetchers/cfg__dashboard__dashboard_api_zones.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_api_zones.ts} +2 -2
- package/src/{cfg/generated/_utils/fetchers/cfg__dashboard__dashboard_charts.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_charts.ts} +4 -4
- package/src/{cfg/generated/_utils/fetchers/cfg__dashboard__dashboard_commands.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_commands.ts} +4 -4
- package/src/{cfg/generated/_utils/fetchers/cfg__dashboard__dashboard_config.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_config.ts} +1 -1
- package/src/{cfg/generated/_utils/fetchers/cfg__dashboard__dashboard_overview.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_overview.ts} +1 -1
- package/src/{cfg/generated/_utils/fetchers/cfg__dashboard__dashboard_statistics.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_statistics.ts} +3 -3
- package/src/{cfg/generated/_utils/fetchers/cfg__dashboard__dashboard_system.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_system.ts} +2 -2
- package/src/{cfg/generated/_utils/fetchers/cfg__endpoints.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__endpoints.ts} +3 -3
- package/src/{cfg/generated/_utils/fetchers/cfg__grpc__grpc_api_keys.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_api_keys.ts} +3 -3
- package/src/{cfg/generated/_utils/fetchers/cfg__grpc__grpc_configuration.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_configuration.ts} +2 -2
- package/src/{cfg/generated/_utils/fetchers/cfg__grpc__grpc_monitoring.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_monitoring.ts} +5 -5
- package/src/{cfg/generated/_utils/fetchers/cfg__grpc__grpc_services.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_services.ts} +3 -3
- package/src/{cfg/generated/_utils/fetchers/cfg__health.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__health.ts} +2 -2
- package/src/{cfg/generated/_utils/fetchers/cfg__rq__rq_jobs.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_jobs.ts} +5 -5
- package/src/{cfg/generated/_utils/fetchers/cfg__rq__rq_monitoring.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_monitoring.ts} +3 -3
- package/src/{cfg/generated/_utils/fetchers/cfg__rq__rq_queues.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_queues.ts} +4 -4
- package/src/{cfg/generated/_utils/fetchers/cfg__rq__rq_registries.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_registries.ts} +7 -7
- package/src/{cfg/generated/_utils/fetchers/cfg__rq__rq_schedules.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_schedules.ts} +4 -4
- package/src/{cfg/generated/_utils/fetchers/cfg__rq__rq_testing.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_testing.ts} +6 -6
- package/src/{cfg/generated/_utils/fetchers/cfg__rq__rq_workers.ts → generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_workers.ts} +2 -2
- package/src/generated/cfg_accounts/_utils/fetchers/index.ts +56 -0
- package/src/{cfg/generated/_utils/hooks/cfg__accounts.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__accounts.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__accounts__auth.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__accounts__auth.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__accounts__oauth.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__accounts__oauth.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__accounts__user_profile.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__accounts__user_profile.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__centrifugo__centrifugo_admin_api.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_admin_api.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__centrifugo__centrifugo_auth.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_auth.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__centrifugo__centrifugo_monitoring.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_monitoring.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__centrifugo__centrifugo_testing.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_testing.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__dashboard__dashboard_activity.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_activity.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__dashboard__dashboard_api_zones.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_api_zones.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__dashboard__dashboard_charts.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_charts.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__dashboard__dashboard_commands.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_commands.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__dashboard__dashboard_config.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_config.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__dashboard__dashboard_overview.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_overview.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__dashboard__dashboard_statistics.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_statistics.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__dashboard__dashboard_system.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_system.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__endpoints.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__endpoints.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__grpc__grpc_api_keys.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_api_keys.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__grpc__grpc_configuration.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_configuration.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__grpc__grpc_monitoring.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_monitoring.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__grpc__grpc_services.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_services.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__health.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__health.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__rq__rq_jobs.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_jobs.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__rq__rq_monitoring.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_monitoring.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__rq__rq_queues.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_queues.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__rq__rq_registries.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_registries.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__rq__rq_schedules.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_schedules.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__rq__rq_testing.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_testing.ts} +1 -1
- package/src/{cfg/generated/_utils/hooks/cfg__rq__rq_workers.ts → generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_workers.ts} +1 -1
- package/src/generated/cfg_accounts/_utils/hooks/index.ts +56 -0
- package/src/generated/cfg_accounts/_utils/schemas/CentrifugoConfig.schema.ts +35 -0
- package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/DjangoConfig.schema.ts +5 -8
- package/src/generated/cfg_accounts/_utils/schemas/GRPCConfigDashboard.schema.ts +33 -0
- package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/index.ts +0 -102
- package/src/{cfg/generated/cfg__accounts → generated/cfg_accounts/cfg_accounts__accounts}/client.ts +1 -1
- package/src/{cfg/generated/cfg__accounts__auth → generated/cfg_accounts/cfg_accounts__accounts__auth}/client.ts +1 -1
- package/src/{cfg/generated/cfg__accounts__oauth → generated/cfg_accounts/cfg_accounts__accounts__oauth}/client.ts +1 -1
- package/src/{cfg/generated/cfg__accounts__user_profile → generated/cfg_accounts/cfg_accounts__accounts__user_profile}/client.ts +1 -1
- package/src/{cfg/generated/cfg__centrifugo__centrifugo_admin_api → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api}/client.ts +1 -1
- package/src/{cfg/generated/cfg__centrifugo__centrifugo_auth → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth}/client.ts +1 -1
- package/src/{cfg/generated/cfg__centrifugo__centrifugo_monitoring → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring}/client.ts +1 -1
- package/src/{cfg/generated/cfg__centrifugo__centrifugo_testing → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing}/client.ts +1 -1
- package/src/{cfg/generated/cfg__dashboard__dashboard_activity → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity}/client.ts +1 -1
- package/src/{cfg/generated/cfg__dashboard__dashboard_api_zones → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones}/client.ts +1 -1
- package/src/{cfg/generated/cfg__dashboard__dashboard_charts → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts}/client.ts +1 -1
- package/src/{cfg/generated/cfg__dashboard__dashboard_commands → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands}/client.ts +1 -1
- package/src/{cfg/generated/cfg__dashboard__dashboard_config → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config}/client.ts +1 -1
- package/src/{cfg/generated/cfg__dashboard__dashboard_config → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config}/models.ts +33 -16
- package/src/{cfg/generated/cfg__dashboard__dashboard_overview → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview}/client.ts +1 -1
- package/src/{cfg/generated/cfg__dashboard__dashboard_statistics → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics}/client.ts +1 -1
- package/src/{cfg/generated/cfg__dashboard__dashboard_system → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system}/client.ts +1 -1
- package/src/{cfg/generated/cfg__endpoints → generated/cfg_accounts/cfg_accounts__endpoints}/client.ts +1 -1
- package/src/{cfg/generated/cfg__grpc__grpc_api_keys → generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys}/client.ts +1 -1
- package/src/{cfg/generated/cfg__grpc__grpc_configuration → generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration}/client.ts +1 -1
- package/src/{cfg/generated/cfg__grpc__grpc_monitoring → generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring}/client.ts +1 -1
- package/src/{cfg/generated/cfg__grpc__grpc_services → generated/cfg_accounts/cfg_accounts__grpc__grpc_services}/client.ts +1 -1
- package/src/{cfg/generated/cfg__health → generated/cfg_accounts/cfg_accounts__health}/client.ts +1 -1
- package/src/{cfg/generated/cfg__rq__rq_jobs → generated/cfg_accounts/cfg_accounts__rq__rq_jobs}/client.ts +1 -1
- package/src/{cfg/generated/cfg__rq__rq_monitoring → generated/cfg_accounts/cfg_accounts__rq__rq_monitoring}/client.ts +1 -1
- package/src/{cfg/generated/cfg__rq__rq_queues → generated/cfg_accounts/cfg_accounts__rq__rq_queues}/client.ts +1 -1
- package/src/{cfg/generated/cfg__rq__rq_registries → generated/cfg_accounts/cfg_accounts__rq__rq_registries}/client.ts +1 -1
- package/src/{cfg/generated/cfg__rq__rq_schedules → generated/cfg_accounts/cfg_accounts__rq__rq_schedules}/client.ts +1 -1
- package/src/{cfg/generated/cfg__rq__rq_testing → generated/cfg_accounts/cfg_accounts__rq__rq_testing}/client.ts +1 -1
- package/src/{cfg/generated/cfg__rq__rq_workers → generated/cfg_accounts/cfg_accounts__rq__rq_workers}/client.ts +1 -1
- package/src/{cfg/generated → generated/cfg_accounts}/client.ts +87 -126
- package/src/generated/cfg_accounts/enums.ts +132 -0
- package/src/generated/cfg_accounts/index.ts +469 -0
- package/src/{cfg/generated → generated/cfg_accounts}/schema.json +3793 -14481
- package/src/hooks/index.ts +0 -0
- package/src/index.ts +52 -30
- package/src/server.ts +9 -18
- package/dist/server-Drl03IjJ.d.cts +0 -17993
- package/dist/server-Drl03IjJ.d.ts +0 -17993
- package/dist/server.cjs +0 -13808
- package/dist/server.cjs.map +0 -1
- package/dist/server.d.cts +0 -16786
- package/dist/server.d.ts +0 -16786
- package/dist/server.mjs +0 -13797
- package/dist/server.mjs.map +0 -1
- package/src/cfg/BaseClient.ts +0 -57
- package/src/cfg/generated/_utils/fetchers/cfg__db.ts +0 -494
- package/src/cfg/generated/_utils/fetchers/cfg__knowbase.ts +0 -2983
- package/src/cfg/generated/_utils/fetchers/cfg__leads.ts +0 -337
- package/src/cfg/generated/_utils/fetchers/cfg__leads__lead_submission.ts +0 -93
- package/src/cfg/generated/_utils/fetchers/cfg__newsletter.ts +0 -210
- package/src/cfg/generated/_utils/fetchers/cfg__newsletter__bulk_email.ts +0 -93
- package/src/cfg/generated/_utils/fetchers/cfg__newsletter__campaigns.ts +0 -338
- package/src/cfg/generated/_utils/fetchers/cfg__newsletter__logs.ts +0 -92
- package/src/cfg/generated/_utils/fetchers/cfg__newsletter__newsletters.ts +0 -150
- package/src/cfg/generated/_utils/fetchers/cfg__newsletter__subscriptions.ts +0 -210
- package/src/cfg/generated/_utils/fetchers/cfg__newsletter__testing.ts +0 -93
- package/src/cfg/generated/_utils/fetchers/cfg__payments.ts +0 -408
- package/src/cfg/generated/_utils/fetchers/cfg__support.ts +0 -642
- package/src/cfg/generated/_utils/fetchers/index.ts +0 -69
- package/src/cfg/generated/_utils/hooks/cfg__db.ts +0 -151
- package/src/cfg/generated/_utils/hooks/cfg__knowbase.ts +0 -999
- package/src/cfg/generated/_utils/hooks/cfg__leads.ts +0 -129
- package/src/cfg/generated/_utils/hooks/cfg__leads__lead_submission.ts +0 -42
- package/src/cfg/generated/_utils/hooks/cfg__newsletter.ts +0 -81
- package/src/cfg/generated/_utils/hooks/cfg__newsletter__bulk_email.ts +0 -42
- package/src/cfg/generated/_utils/hooks/cfg__newsletter__campaigns.ts +0 -130
- package/src/cfg/generated/_utils/hooks/cfg__newsletter__logs.ts +0 -37
- package/src/cfg/generated/_utils/hooks/cfg__newsletter__newsletters.ts +0 -52
- package/src/cfg/generated/_utils/hooks/cfg__newsletter__subscriptions.ts +0 -78
- package/src/cfg/generated/_utils/hooks/cfg__newsletter__testing.ts +0 -42
- package/src/cfg/generated/_utils/hooks/cfg__payments.ts +0 -147
- package/src/cfg/generated/_utils/hooks/cfg__support.ts +0 -237
- package/src/cfg/generated/_utils/hooks/index.ts +0 -69
- package/src/cfg/generated/_utils/schemas/ArchiveItem.schema.ts +0 -33
- package/src/cfg/generated/_utils/schemas/ArchiveItemChunk.schema.ts +0 -29
- package/src/cfg/generated/_utils/schemas/ArchiveItemChunkDetail.schema.ts +0 -30
- package/src/cfg/generated/_utils/schemas/ArchiveItemChunkRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/ArchiveItemDetail.schema.ts +0 -35
- package/src/cfg/generated/_utils/schemas/ArchiveItemRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/ArchiveProcessingResult.schema.ts +0 -26
- package/src/cfg/generated/_utils/schemas/ArchiveSearchRequestRequest.schema.ts +0 -25
- package/src/cfg/generated/_utils/schemas/ArchiveSearchResult.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/ArchiveStatistics.schema.ts +0 -28
- package/src/cfg/generated/_utils/schemas/BackupRecord.schema.ts +0 -43
- package/src/cfg/generated/_utils/schemas/BackupRecordList.schema.ts +0 -28
- package/src/cfg/generated/_utils/schemas/Balance.schema.ts +0 -23
- package/src/cfg/generated/_utils/schemas/BulkEmailRequest.schema.ts +0 -26
- package/src/cfg/generated/_utils/schemas/BulkEmailResponse.schema.ts +0 -23
- package/src/cfg/generated/_utils/schemas/CentrifugoConfig.schema.ts +0 -23
- package/src/cfg/generated/_utils/schemas/ChatHistory.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/ChatMessage.schema.ts +0 -27
- package/src/cfg/generated/_utils/schemas/ChatQueryRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/ChatResponse.schema.ts +0 -26
- package/src/cfg/generated/_utils/schemas/ChatResponseRequest.schema.ts +0 -26
- package/src/cfg/generated/_utils/schemas/ChatSession.schema.ts +0 -29
- package/src/cfg/generated/_utils/schemas/ChatSessionCreateRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/ChatSessionRequest.schema.ts +0 -25
- package/src/cfg/generated/_utils/schemas/ChatSource.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/ChatSourceRequest.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/ChunkRevectorizationRequestRequest.schema.ts +0 -20
- package/src/cfg/generated/_utils/schemas/Currency.schema.ts +0 -28
- package/src/cfg/generated/_utils/schemas/Document.schema.ts +0 -32
- package/src/cfg/generated/_utils/schemas/DocumentArchive.schema.ts +0 -44
- package/src/cfg/generated/_utils/schemas/DocumentArchiveDetail.schema.ts +0 -48
- package/src/cfg/generated/_utils/schemas/DocumentArchiveList.schema.ts +0 -35
- package/src/cfg/generated/_utils/schemas/DocumentArchiveRequest.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/DocumentCategory.schema.ts +0 -23
- package/src/cfg/generated/_utils/schemas/DocumentCategoryRequest.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/DocumentCreateRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/DocumentProcessingStatus.schema.ts +0 -23
- package/src/cfg/generated/_utils/schemas/DocumentRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/DocumentStats.schema.ts +0 -25
- package/src/cfg/generated/_utils/schemas/EmailLog.schema.ts +0 -31
- package/src/cfg/generated/_utils/schemas/ErrorResponse.schema.ts +0 -20
- package/src/cfg/generated/_utils/schemas/GRPCConfigDashboard.schema.ts +0 -25
- package/src/cfg/generated/_utils/schemas/LeadSubmission.schema.ts +0 -29
- package/src/cfg/generated/_utils/schemas/LeadSubmissionError.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/LeadSubmissionRequest.schema.ts +0 -29
- package/src/cfg/generated/_utils/schemas/LeadSubmissionResponse.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/Message.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/MessageCreate.schema.ts +0 -15
- package/src/cfg/generated/_utils/schemas/MessageCreateRequest.schema.ts +0 -15
- package/src/cfg/generated/_utils/schemas/MessageRequest.schema.ts +0 -15
- package/src/cfg/generated/_utils/schemas/Newsletter.schema.ts +0 -26
- package/src/cfg/generated/_utils/schemas/NewsletterCampaign.schema.ts +0 -33
- package/src/cfg/generated/_utils/schemas/NewsletterCampaignRequest.schema.ts +0 -26
- package/src/cfg/generated/_utils/schemas/NewsletterSubscription.schema.ts +0 -27
- package/src/cfg/generated/_utils/schemas/PaginatedArchiveItemChunkList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedArchiveItemList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedArchiveSearchResultList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedBackupRecordListList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedChatResponseList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedChatSessionList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedDocumentArchiveListList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedDocumentList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedEmailLogList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedLeadSubmissionList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedMessageList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedNewsletterCampaignList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedNewsletterList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedNewsletterSubscriptionList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedPaymentListList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedPublicCategoryList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedPublicDocumentListList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedRestoreRecordList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PaginatedTicketList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/PatchedArchiveItemChunkRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/PatchedArchiveItemRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/PatchedChatResponseRequest.schema.ts +0 -26
- package/src/cfg/generated/_utils/schemas/PatchedChatSessionRequest.schema.ts +0 -25
- package/src/cfg/generated/_utils/schemas/PatchedDocumentArchiveRequest.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/PatchedDocumentRequest.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/PatchedLeadSubmissionRequest.schema.ts +0 -29
- package/src/cfg/generated/_utils/schemas/PatchedMessageRequest.schema.ts +0 -15
- package/src/cfg/generated/_utils/schemas/PatchedNewsletterCampaignRequest.schema.ts +0 -26
- package/src/cfg/generated/_utils/schemas/PatchedTicketRequest.schema.ts +0 -18
- package/src/cfg/generated/_utils/schemas/PatchedUnsubscribeRequest.schema.ts +0 -19
- package/src/cfg/generated/_utils/schemas/PaymentDetail.schema.ts +0 -44
- package/src/cfg/generated/_utils/schemas/PaymentList.schema.ts +0 -28
- package/src/cfg/generated/_utils/schemas/PublicCategory.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/PublicDocument.schema.ts +0 -25
- package/src/cfg/generated/_utils/schemas/PublicDocumentList.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/RestoreRecord.schema.ts +0 -30
- package/src/cfg/generated/_utils/schemas/SendCampaignRequest.schema.ts +0 -19
- package/src/cfg/generated/_utils/schemas/SendCampaignResponse.schema.ts +0 -22
- package/src/cfg/generated/_utils/schemas/Sender.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/SubscribeRequest.schema.ts +0 -20
- package/src/cfg/generated/_utils/schemas/SubscribeResponse.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/SuccessResponse.schema.ts +0 -20
- package/src/cfg/generated/_utils/schemas/TestEmailRequest.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/Ticket.schema.ts +0 -21
- package/src/cfg/generated/_utils/schemas/TicketRequest.schema.ts +0 -18
- package/src/cfg/generated/_utils/schemas/Transaction.schema.ts +0 -28
- package/src/cfg/generated/_utils/schemas/Unsubscribe.schema.ts +0 -19
- package/src/cfg/generated/_utils/schemas/UnsubscribeRequest.schema.ts +0 -19
- package/src/cfg/generated/_utils/schemas/VectorizationResult.schema.ts +0 -24
- package/src/cfg/generated/_utils/schemas/VectorizationStatistics.schema.ts +0 -26
- package/src/cfg/generated/cfg__db/client.ts +0 -117
- package/src/cfg/generated/cfg__db/models.ts +0 -181
- package/src/cfg/generated/cfg__knowbase/client.ts +0 -666
- package/src/cfg/generated/cfg__knowbase/models.ts +0 -1120
- package/src/cfg/generated/cfg__leads/client.ts +0 -85
- package/src/cfg/generated/cfg__leads/models.ts +0 -99
- package/src/cfg/generated/cfg__leads__lead_submission/client.ts +0 -25
- package/src/cfg/generated/cfg__leads__lead_submission/models.ts +0 -48
- package/src/cfg/generated/cfg__newsletter/client.ts +0 -38
- package/src/cfg/generated/cfg__newsletter/models.ts +0 -71
- package/src/cfg/generated/cfg__newsletter__bulk_email/client.ts +0 -24
- package/src/cfg/generated/cfg__newsletter__bulk_email/models.ts +0 -29
- package/src/cfg/generated/cfg__newsletter__campaigns/client.ts +0 -85
- package/src/cfg/generated/cfg__newsletter__campaigns/models.ts +0 -100
- package/src/cfg/generated/cfg__newsletter__logs/client.ts +0 -35
- package/src/cfg/generated/cfg__newsletter__logs/index.ts +0 -2
- package/src/cfg/generated/cfg__newsletter__logs/models.ts +0 -51
- package/src/cfg/generated/cfg__newsletter__newsletters/client.ts +0 -45
- package/src/cfg/generated/cfg__newsletter__newsletters/index.ts +0 -2
- package/src/cfg/generated/cfg__newsletter__newsletters/models.ts +0 -42
- package/src/cfg/generated/cfg__newsletter__subscriptions/client.ts +0 -55
- package/src/cfg/generated/cfg__newsletter__subscriptions/index.ts +0 -2
- package/src/cfg/generated/cfg__newsletter__subscriptions/models.ts +0 -92
- package/src/cfg/generated/cfg__newsletter__testing/client.ts +0 -24
- package/src/cfg/generated/cfg__newsletter__testing/index.ts +0 -2
- package/src/cfg/generated/cfg__newsletter__testing/models.ts +0 -24
- package/src/cfg/generated/cfg__payments/client.ts +0 -118
- package/src/cfg/generated/cfg__payments/index.ts +0 -2
- package/src/cfg/generated/cfg__payments/models.ts +0 -135
- package/src/cfg/generated/cfg__rq__rq_jobs/index.ts +0 -2
- package/src/cfg/generated/cfg__rq__rq_monitoring/index.ts +0 -2
- package/src/cfg/generated/cfg__rq__rq_queues/index.ts +0 -2
- package/src/cfg/generated/cfg__rq__rq_registries/index.ts +0 -2
- package/src/cfg/generated/cfg__rq__rq_schedules/index.ts +0 -2
- package/src/cfg/generated/cfg__rq__rq_testing/index.ts +0 -2
- package/src/cfg/generated/cfg__rq__rq_workers/index.ts +0 -2
- package/src/cfg/generated/cfg__support/client.ts +0 -151
- package/src/cfg/generated/cfg__support/index.ts +0 -2
- package/src/cfg/generated/cfg__support/models.ts +0 -165
- package/src/cfg/generated/enums.ts +0 -634
- package/src/cfg/generated/index.ts +0 -561
- package/src/cfg/generated/package.json +0 -39
- package/src/cfg/generated/tsconfig.json +0 -20
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/APIZone.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/APIZonesSummary.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ActivityEntry.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ActivityTrackerDay.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ApiKey.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ApiKeyStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/AppStatistics.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/AppStatisticsData.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/AxesConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoChannelInfo.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoChannelsRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoChannelsResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoChannelsResult.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoClientInfo.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoError.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoHealthCheck.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoHistoryRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoHistoryResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoHistoryResult.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoInfoResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoInfoResult.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoMetrics.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoNodeInfo.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoOverviewStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoPresenceRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoPresenceResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoPresenceResult.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoPresenceStatsRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoPresenceStatsResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoPresenceStatsResult.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoProcess.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoPublication.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoStreamPosition.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CentrifugoToken.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ChannelList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ChannelStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ChartData.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ChartDataset.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/Command.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CommandCategory.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CommandExecuteRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CommandHelpResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/CommandsSummary.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ConfigData.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ConfigMeta.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ConfigValidation.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ConnectionTokenResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ConstanceConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/DRFConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/DRFHealthCheck.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/DashboardOverview.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/DatabaseConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/DjangoRQConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/EmailConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/Endpoint.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/EndpointsStatus.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCFeatures.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCFrameworkConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCHealthCheck.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCInterceptorInfo.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCOverviewStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCRegisteredService.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCServerConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCServerInfo.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCServerStatus.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCServiceInfo.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCServiceRegistryMethodStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GRPCStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/GitHubOAuthConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/JWTConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/JobActionResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/JobDetail.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/JobList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/JobListRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ManualAckRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ManualAckResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/MethodInfo.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/MethodList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/MethodSummary.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ModelStatistics.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/NextJSAdminConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/NgrokConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OAuthAuthorizeRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OAuthAuthorizeResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OAuthCallbackRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OAuthConnection.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OAuthDisconnectRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OAuthError.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OAuthProvidersResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OAuthTokenResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OTPErrorResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OTPRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OTPRequestResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OTPVerifyRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OTPVerifyResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/OpenAPIClientConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PaginatedApiKeyList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PaginatedJobListList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PaginatedPublishList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PaginatedRecentRequestList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PaginatedScheduledJobList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PaginatedServiceSummaryList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PatchedUserProfileUpdateRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PaymentsConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PaymentsNowPayments.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/Publish.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PublishTestRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/PublishTestResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/QueueDetail.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/QueueStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/QuickAction.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/QuickHealth.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/RQConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/RQHealthCheck.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/RQSchedule.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/RecentError.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/RecentRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/RecentUser.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/RedisQueueConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/RunDemoRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ScheduleActionResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ScheduleCreateRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ScheduleInfo.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ScheduledJob.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ServiceDetail.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ServiceMethods.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ServiceStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ServiceSummary.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/SpectacularConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/StatCard.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/StressTestRequestRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/SystemHealth.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/SystemHealthItem.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/SystemMetrics.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/TelegramConfig.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/TestScenario.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/TestingActionResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/TimelineItem.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/TimelineResponse.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/TokenRefresh.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/TokenRefreshRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/URLPattern.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/URLsList.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/User.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/UserProfileUpdateRequest.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/UserStatistics.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/Worker.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/WorkerStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/_utils/schemas/ZonesSummaryStats.schema.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/api-instance.ts +0 -0
- /package/src/{cfg/generated/cfg__accounts → generated/cfg_accounts/cfg_accounts__accounts}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__accounts → generated/cfg_accounts/cfg_accounts__accounts}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__accounts__auth → generated/cfg_accounts/cfg_accounts__accounts__auth}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__accounts__auth → generated/cfg_accounts/cfg_accounts__accounts__auth}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__accounts__oauth → generated/cfg_accounts/cfg_accounts__accounts__oauth}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__accounts__oauth → generated/cfg_accounts/cfg_accounts__accounts__oauth}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__accounts__user_profile → generated/cfg_accounts/cfg_accounts__accounts__user_profile}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__accounts__user_profile → generated/cfg_accounts/cfg_accounts__accounts__user_profile}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__centrifugo__centrifugo_admin_api → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__centrifugo__centrifugo_admin_api → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__centrifugo__centrifugo_auth → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__centrifugo__centrifugo_auth → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__centrifugo__centrifugo_monitoring → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__centrifugo__centrifugo_monitoring → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__centrifugo__centrifugo_testing → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__centrifugo__centrifugo_testing → generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_activity → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_activity → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_api_zones → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_api_zones → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_charts → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_charts → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_commands → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_commands → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_config → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_overview → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_overview → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_statistics → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_statistics → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_system → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__dashboard__dashboard_system → generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__db → generated/cfg_accounts/cfg_accounts__endpoints}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__endpoints → generated/cfg_accounts/cfg_accounts__endpoints}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__endpoints → generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__grpc__grpc_api_keys → generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__grpc__grpc_api_keys → generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__grpc__grpc_configuration → generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__grpc__grpc_configuration → generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__grpc__grpc_monitoring → generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__grpc__grpc_monitoring → generated/cfg_accounts/cfg_accounts__grpc__grpc_services}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__grpc__grpc_services → generated/cfg_accounts/cfg_accounts__grpc__grpc_services}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__grpc__grpc_services → generated/cfg_accounts/cfg_accounts__health}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__health → generated/cfg_accounts/cfg_accounts__health}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__health → generated/cfg_accounts/cfg_accounts__rq__rq_jobs}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__rq__rq_jobs → generated/cfg_accounts/cfg_accounts__rq__rq_jobs}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__knowbase → generated/cfg_accounts/cfg_accounts__rq__rq_monitoring}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__rq__rq_monitoring → generated/cfg_accounts/cfg_accounts__rq__rq_monitoring}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__leads → generated/cfg_accounts/cfg_accounts__rq__rq_queues}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__rq__rq_queues → generated/cfg_accounts/cfg_accounts__rq__rq_queues}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__leads__lead_submission → generated/cfg_accounts/cfg_accounts__rq__rq_registries}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__rq__rq_registries → generated/cfg_accounts/cfg_accounts__rq__rq_registries}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__newsletter → generated/cfg_accounts/cfg_accounts__rq__rq_schedules}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__rq__rq_schedules → generated/cfg_accounts/cfg_accounts__rq__rq_schedules}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__newsletter__bulk_email → generated/cfg_accounts/cfg_accounts__rq__rq_testing}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__rq__rq_testing → generated/cfg_accounts/cfg_accounts__rq__rq_testing}/models.ts +0 -0
- /package/src/{cfg/generated/cfg__newsletter__campaigns → generated/cfg_accounts/cfg_accounts__rq__rq_workers}/index.ts +0 -0
- /package/src/{cfg/generated/cfg__rq__rq_workers → generated/cfg_accounts/cfg_accounts__rq__rq_workers}/models.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/errors.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/http.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/logger.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/retry.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/storage.ts +0 -0
- /package/src/{cfg/generated → generated/cfg_accounts}/validation-events.ts +0 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { authLogger } from '../utils/logger';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Simple localStorage hook with better error handling
|
|
8
|
+
* @param key - Storage key
|
|
9
|
+
* @param initialValue - Default value if key doesn't exist
|
|
10
|
+
* @returns [value, setValue, removeValue] - Current value, setter function, and remove function
|
|
11
|
+
*/
|
|
12
|
+
export function useLocalStorage<T>(key: string, initialValue: T) {
|
|
13
|
+
// Get initial value from localStorage or use provided initialValue
|
|
14
|
+
const [storedValue, setStoredValue] = useState<T>(() => {
|
|
15
|
+
if (typeof window === 'undefined') {
|
|
16
|
+
return initialValue;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
const item = window.localStorage.getItem(key);
|
|
21
|
+
if (item === null) {
|
|
22
|
+
return initialValue;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Try to parse as JSON first, fallback to string
|
|
26
|
+
try {
|
|
27
|
+
return JSON.parse(item);
|
|
28
|
+
} catch {
|
|
29
|
+
// If JSON.parse fails, return as string
|
|
30
|
+
return item as T;
|
|
31
|
+
}
|
|
32
|
+
} catch (error) {
|
|
33
|
+
authLogger.error(`Error reading localStorage key "${key}":`, error);
|
|
34
|
+
return initialValue;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// Check data size and limit
|
|
39
|
+
const checkDataSize = (data: any): boolean => {
|
|
40
|
+
try {
|
|
41
|
+
const jsonString = JSON.stringify(data);
|
|
42
|
+
const sizeInBytes = new Blob([jsonString]).size;
|
|
43
|
+
const sizeInKB = sizeInBytes / 1024;
|
|
44
|
+
|
|
45
|
+
// Limit to 1MB per item
|
|
46
|
+
if (sizeInKB > 1024) {
|
|
47
|
+
authLogger.warn(`Data size (${sizeInKB.toFixed(2)}KB) exceeds 1MB limit for key "${key}"`);
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return true;
|
|
52
|
+
} catch (error) {
|
|
53
|
+
authLogger.error(`Error checking data size for key "${key}":`, error);
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
// Clear old data when localStorage is full
|
|
59
|
+
const clearOldData = () => {
|
|
60
|
+
try {
|
|
61
|
+
const keys = Object.keys(localStorage).filter(key => key && typeof key === 'string');
|
|
62
|
+
// Remove oldest items if we have more than 50 items
|
|
63
|
+
if (keys.length > 50) {
|
|
64
|
+
const itemsToRemove = Math.ceil(keys.length * 0.2);
|
|
65
|
+
for (let i = 0; i < itemsToRemove; i++) {
|
|
66
|
+
try {
|
|
67
|
+
const key = keys[i];
|
|
68
|
+
if (key) {
|
|
69
|
+
localStorage.removeItem(key);
|
|
70
|
+
localStorage.removeItem(`${key}_timestamp`);
|
|
71
|
+
}
|
|
72
|
+
} catch {
|
|
73
|
+
// Ignore errors when removing items
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
} catch (error) {
|
|
78
|
+
authLogger.error('Error clearing old localStorage data:', error);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
// Force clear all data if quota is exceeded
|
|
83
|
+
const forceClearAll = () => {
|
|
84
|
+
try {
|
|
85
|
+
const keys = Object.keys(localStorage);
|
|
86
|
+
for (const key of keys) {
|
|
87
|
+
try {
|
|
88
|
+
localStorage.removeItem(key);
|
|
89
|
+
} catch {
|
|
90
|
+
// Ignore errors when removing items
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
} catch (error) {
|
|
94
|
+
authLogger.error('Error force clearing localStorage:', error);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
// Update localStorage when value changes
|
|
99
|
+
const setValue = (value: T | ((val: T) => T)) => {
|
|
100
|
+
try {
|
|
101
|
+
const valueToStore = value instanceof Function ? value(storedValue) : value;
|
|
102
|
+
|
|
103
|
+
// Check data size before attempting to save
|
|
104
|
+
if (!checkDataSize(valueToStore)) {
|
|
105
|
+
authLogger.warn(`Data size too large for key "${key}", removing key`);
|
|
106
|
+
// Remove the key if data is too large
|
|
107
|
+
try {
|
|
108
|
+
window.localStorage.removeItem(key);
|
|
109
|
+
window.localStorage.removeItem(`${key}_timestamp`);
|
|
110
|
+
} catch {
|
|
111
|
+
// Ignore errors when removing
|
|
112
|
+
}
|
|
113
|
+
// Still update the state
|
|
114
|
+
setStoredValue(valueToStore);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
setStoredValue(valueToStore);
|
|
119
|
+
|
|
120
|
+
if (typeof window !== 'undefined') {
|
|
121
|
+
// Try to set the value
|
|
122
|
+
try {
|
|
123
|
+
// For strings, store directly without JSON.stringify
|
|
124
|
+
if (typeof valueToStore === 'string') {
|
|
125
|
+
window.localStorage.setItem(key, valueToStore);
|
|
126
|
+
} else {
|
|
127
|
+
window.localStorage.setItem(key, JSON.stringify(valueToStore));
|
|
128
|
+
}
|
|
129
|
+
// Add timestamp for cleanup
|
|
130
|
+
window.localStorage.setItem(`${key}_timestamp`, Date.now().toString());
|
|
131
|
+
} catch (storageError: any) {
|
|
132
|
+
// If quota exceeded, clear old data and try again
|
|
133
|
+
if (storageError.name === 'QuotaExceededError' ||
|
|
134
|
+
storageError.code === 22 ||
|
|
135
|
+
storageError.message?.includes('quota')) {
|
|
136
|
+
authLogger.warn('localStorage quota exceeded, clearing old data...');
|
|
137
|
+
clearOldData();
|
|
138
|
+
|
|
139
|
+
// Try again after clearing
|
|
140
|
+
try {
|
|
141
|
+
// For strings, store directly without JSON.stringify
|
|
142
|
+
if (typeof valueToStore === 'string') {
|
|
143
|
+
window.localStorage.setItem(key, valueToStore);
|
|
144
|
+
} else {
|
|
145
|
+
window.localStorage.setItem(key, JSON.stringify(valueToStore));
|
|
146
|
+
}
|
|
147
|
+
window.localStorage.setItem(`${key}_timestamp`, Date.now().toString());
|
|
148
|
+
} catch (retryError) {
|
|
149
|
+
authLogger.error(`Failed to set localStorage key "${key}" after clearing old data:`, retryError);
|
|
150
|
+
// If still fails, force clear all and try one more time
|
|
151
|
+
try {
|
|
152
|
+
forceClearAll();
|
|
153
|
+
// For strings, store directly without JSON.stringify
|
|
154
|
+
if (typeof valueToStore === 'string') {
|
|
155
|
+
window.localStorage.setItem(key, valueToStore);
|
|
156
|
+
} else {
|
|
157
|
+
window.localStorage.setItem(key, JSON.stringify(valueToStore));
|
|
158
|
+
}
|
|
159
|
+
window.localStorage.setItem(`${key}_timestamp`, Date.now().toString());
|
|
160
|
+
} catch (finalError) {
|
|
161
|
+
authLogger.error(`Failed to set localStorage key "${key}" after force clearing:`, finalError);
|
|
162
|
+
// If still fails, just update the state without localStorage
|
|
163
|
+
setStoredValue(valueToStore);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
} else {
|
|
167
|
+
throw storageError;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
} catch (error) {
|
|
172
|
+
authLogger.error(`Error setting localStorage key "${key}":`, error);
|
|
173
|
+
// Still update the state even if localStorage fails
|
|
174
|
+
const valueToStore = value instanceof Function ? value(storedValue) : value;
|
|
175
|
+
setStoredValue(valueToStore);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
// Remove value from localStorage
|
|
180
|
+
const removeValue = () => {
|
|
181
|
+
try {
|
|
182
|
+
setStoredValue(initialValue);
|
|
183
|
+
if (typeof window !== 'undefined') {
|
|
184
|
+
try {
|
|
185
|
+
window.localStorage.removeItem(key);
|
|
186
|
+
window.localStorage.removeItem(`${key}_timestamp`);
|
|
187
|
+
} catch (removeError: any) {
|
|
188
|
+
// If removal fails due to quota, try to clear some data first
|
|
189
|
+
if (removeError.name === 'QuotaExceededError' ||
|
|
190
|
+
removeError.code === 22 ||
|
|
191
|
+
removeError.message?.includes('quota')) {
|
|
192
|
+
authLogger.warn('localStorage quota exceeded during removal, clearing old data...');
|
|
193
|
+
clearOldData();
|
|
194
|
+
|
|
195
|
+
try {
|
|
196
|
+
window.localStorage.removeItem(key);
|
|
197
|
+
window.localStorage.removeItem(`${key}_timestamp`);
|
|
198
|
+
} catch (retryError) {
|
|
199
|
+
authLogger.error(`Failed to remove localStorage key "${key}" after clearing:`, retryError);
|
|
200
|
+
// If still fails, force clear all
|
|
201
|
+
forceClearAll();
|
|
202
|
+
}
|
|
203
|
+
} else {
|
|
204
|
+
throw removeError;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
} catch (error) {
|
|
209
|
+
authLogger.error(`Error removing localStorage key "${key}":`, error);
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
return [storedValue, setValue, removeValue] as const;
|
|
214
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Profile Cache Hook
|
|
5
|
+
*
|
|
6
|
+
* Provides localStorage-based caching for user profile with:
|
|
7
|
+
* - TTL (Time To Live) - default 1 hour
|
|
8
|
+
* - Version control for migrations
|
|
9
|
+
* - Automatic invalidation on expiry
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type { User } from '../../';
|
|
13
|
+
import { authLogger as profileLogger } from '../utils/logger';
|
|
14
|
+
|
|
15
|
+
// Cache configuration
|
|
16
|
+
const CACHE_KEY = 'user_profile_cache';
|
|
17
|
+
const CACHE_VERSION = 1;
|
|
18
|
+
const DEFAULT_TTL = 3600000; // 1 hour in milliseconds
|
|
19
|
+
|
|
20
|
+
export interface ProfileCacheOptions {
|
|
21
|
+
/** Time to live in milliseconds (default: 1 hour) */
|
|
22
|
+
ttl?: number;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface CachedProfile {
|
|
26
|
+
version: number;
|
|
27
|
+
data: User;
|
|
28
|
+
timestamp: number;
|
|
29
|
+
ttl: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Get cached profile from localStorage
|
|
34
|
+
* @returns User profile if valid cache exists, null otherwise
|
|
35
|
+
*/
|
|
36
|
+
export function getCachedProfile(): User | null {
|
|
37
|
+
try {
|
|
38
|
+
if (typeof window === 'undefined') return null;
|
|
39
|
+
|
|
40
|
+
const cached = localStorage.getItem(CACHE_KEY);
|
|
41
|
+
if (!cached) {
|
|
42
|
+
profileLogger.debug('No cached profile found');
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const cachedData: CachedProfile = JSON.parse(cached);
|
|
47
|
+
|
|
48
|
+
// Version check
|
|
49
|
+
if (cachedData.version !== CACHE_VERSION) {
|
|
50
|
+
profileLogger.warn('Cache version mismatch, clearing cache');
|
|
51
|
+
clearProfileCache();
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// TTL check
|
|
56
|
+
const now = Date.now();
|
|
57
|
+
const age = now - cachedData.timestamp;
|
|
58
|
+
if (age > cachedData.ttl) {
|
|
59
|
+
profileLogger.info('Cache expired, clearing');
|
|
60
|
+
clearProfileCache();
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
profileLogger.debug('Cache hit, age:', Math.round(age / 1000), 'seconds');
|
|
65
|
+
return cachedData.data;
|
|
66
|
+
} catch (error) {
|
|
67
|
+
profileLogger.error('Error reading cache:', error);
|
|
68
|
+
clearProfileCache();
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Save profile to localStorage cache
|
|
75
|
+
* @param profile - User profile to cache
|
|
76
|
+
* @param options - Cache options (TTL)
|
|
77
|
+
*/
|
|
78
|
+
export function setCachedProfile(profile: User, options?: ProfileCacheOptions): void {
|
|
79
|
+
try {
|
|
80
|
+
if (typeof window === 'undefined') return;
|
|
81
|
+
|
|
82
|
+
const cachedData: CachedProfile = {
|
|
83
|
+
version: CACHE_VERSION,
|
|
84
|
+
data: profile,
|
|
85
|
+
timestamp: Date.now(),
|
|
86
|
+
ttl: options?.ttl || DEFAULT_TTL,
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
localStorage.setItem(CACHE_KEY, JSON.stringify(cachedData));
|
|
90
|
+
profileLogger.debug('Profile cached, TTL:', cachedData.ttl / 1000, 'seconds');
|
|
91
|
+
} catch (error) {
|
|
92
|
+
profileLogger.error('Error writing cache:', error);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Clear profile cache from localStorage
|
|
98
|
+
*/
|
|
99
|
+
export function clearProfileCache(): void {
|
|
100
|
+
try {
|
|
101
|
+
if (typeof window === 'undefined') return;
|
|
102
|
+
localStorage.removeItem(CACHE_KEY);
|
|
103
|
+
profileLogger.debug('Cache cleared');
|
|
104
|
+
} catch (error) {
|
|
105
|
+
profileLogger.error('Error clearing cache:', error);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Check if cached profile is valid (exists and not expired)
|
|
111
|
+
*/
|
|
112
|
+
export function hasValidCache(): boolean {
|
|
113
|
+
return getCachedProfile() !== null;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Get cache metadata (age, TTL, etc.)
|
|
118
|
+
*/
|
|
119
|
+
export function getCacheMetadata(): {
|
|
120
|
+
exists: boolean;
|
|
121
|
+
age?: number;
|
|
122
|
+
ttl?: number;
|
|
123
|
+
expiresIn?: number;
|
|
124
|
+
} | null {
|
|
125
|
+
try {
|
|
126
|
+
if (typeof window === 'undefined') return null;
|
|
127
|
+
|
|
128
|
+
const cached = localStorage.getItem(CACHE_KEY);
|
|
129
|
+
if (!cached) return { exists: false };
|
|
130
|
+
|
|
131
|
+
const cachedData: CachedProfile = JSON.parse(cached);
|
|
132
|
+
const now = Date.now();
|
|
133
|
+
const age = now - cachedData.timestamp;
|
|
134
|
+
const expiresIn = cachedData.ttl - age;
|
|
135
|
+
|
|
136
|
+
return {
|
|
137
|
+
exists: true,
|
|
138
|
+
age,
|
|
139
|
+
ttl: cachedData.ttl,
|
|
140
|
+
expiresIn: Math.max(0, expiresIn),
|
|
141
|
+
};
|
|
142
|
+
} catch (error) {
|
|
143
|
+
profileLogger.error('Error reading metadata:', error);
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { authLogger } from '../utils/logger';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Simple sessionStorage hook with better error handling
|
|
8
|
+
* @param key - Storage key
|
|
9
|
+
* @param initialValue - Default value if key doesn't exist
|
|
10
|
+
* @returns [value, setValue, removeValue] - Current value, setter function, and remove function
|
|
11
|
+
*/
|
|
12
|
+
export function useSessionStorage<T>(key: string, initialValue: T) {
|
|
13
|
+
// Get initial value from sessionStorage or use provided initialValue
|
|
14
|
+
const [storedValue, setStoredValue] = useState<T>(() => {
|
|
15
|
+
if (typeof window === 'undefined') {
|
|
16
|
+
return initialValue;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
const item = window.sessionStorage.getItem(key);
|
|
21
|
+
return item ? JSON.parse(item) : initialValue;
|
|
22
|
+
} catch (error) {
|
|
23
|
+
authLogger.error(`Error reading sessionStorage key "${key}":`, error);
|
|
24
|
+
return initialValue;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// Check data size and limit
|
|
29
|
+
const checkDataSize = (data: any): boolean => {
|
|
30
|
+
try {
|
|
31
|
+
const jsonString = JSON.stringify(data);
|
|
32
|
+
const sizeInBytes = new Blob([jsonString]).size;
|
|
33
|
+
const sizeInKB = sizeInBytes / 1024;
|
|
34
|
+
|
|
35
|
+
// Limit to 1MB per item
|
|
36
|
+
if (sizeInKB > 1024) {
|
|
37
|
+
authLogger.warn(`Data size (${sizeInKB.toFixed(2)}KB) exceeds 1MB limit for key "${key}"`);
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return true;
|
|
42
|
+
} catch (error) {
|
|
43
|
+
authLogger.error(`Error checking data size for key "${key}":`, error);
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// Clear old data when sessionStorage is full
|
|
49
|
+
const clearOldData = () => {
|
|
50
|
+
try {
|
|
51
|
+
const keys = Object.keys(sessionStorage).filter(key => key && typeof key === 'string');
|
|
52
|
+
// Remove oldest items if we have more than 50 items
|
|
53
|
+
if (keys.length > 50) {
|
|
54
|
+
const itemsToRemove = Math.ceil(keys.length * 0.2);
|
|
55
|
+
for (let i = 0; i < itemsToRemove; i++) {
|
|
56
|
+
try {
|
|
57
|
+
const key = keys[i];
|
|
58
|
+
if (key) {
|
|
59
|
+
sessionStorage.removeItem(key);
|
|
60
|
+
sessionStorage.removeItem(`${key}_timestamp`);
|
|
61
|
+
}
|
|
62
|
+
} catch {
|
|
63
|
+
// Ignore errors when removing items
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
} catch (error) {
|
|
68
|
+
authLogger.error('Error clearing old sessionStorage data:', error);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// Force clear all data if quota is exceeded
|
|
73
|
+
const forceClearAll = () => {
|
|
74
|
+
try {
|
|
75
|
+
const keys = Object.keys(sessionStorage);
|
|
76
|
+
for (const key of keys) {
|
|
77
|
+
try {
|
|
78
|
+
sessionStorage.removeItem(key);
|
|
79
|
+
} catch {
|
|
80
|
+
// Ignore errors when removing items
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} catch (error) {
|
|
84
|
+
authLogger.error('Error force clearing sessionStorage:', error);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// Update sessionStorage when value changes
|
|
89
|
+
const setValue = (value: T | ((val: T) => T)) => {
|
|
90
|
+
try {
|
|
91
|
+
const valueToStore = value instanceof Function ? value(storedValue) : value;
|
|
92
|
+
|
|
93
|
+
// Check data size before attempting to save
|
|
94
|
+
if (!checkDataSize(valueToStore)) {
|
|
95
|
+
authLogger.warn(`Data size too large for key "${key}", removing key`);
|
|
96
|
+
// Remove the key if data is too large
|
|
97
|
+
try {
|
|
98
|
+
window.sessionStorage.removeItem(key);
|
|
99
|
+
window.sessionStorage.removeItem(`${key}_timestamp`);
|
|
100
|
+
} catch {
|
|
101
|
+
// Ignore errors when removing
|
|
102
|
+
}
|
|
103
|
+
// Still update the state
|
|
104
|
+
setStoredValue(valueToStore);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
setStoredValue(valueToStore);
|
|
109
|
+
|
|
110
|
+
if (typeof window !== 'undefined') {
|
|
111
|
+
// Try to set the value
|
|
112
|
+
try {
|
|
113
|
+
window.sessionStorage.setItem(key, JSON.stringify(valueToStore));
|
|
114
|
+
// Add timestamp for cleanup
|
|
115
|
+
window.sessionStorage.setItem(`${key}_timestamp`, Date.now().toString());
|
|
116
|
+
} catch (storageError: any) {
|
|
117
|
+
// If quota exceeded, clear old data and try again
|
|
118
|
+
if (storageError.name === 'QuotaExceededError' ||
|
|
119
|
+
storageError.code === 22 ||
|
|
120
|
+
storageError.message?.includes('quota')) {
|
|
121
|
+
authLogger.warn('sessionStorage quota exceeded, clearing old data...');
|
|
122
|
+
clearOldData();
|
|
123
|
+
|
|
124
|
+
// Try again after clearing
|
|
125
|
+
try {
|
|
126
|
+
window.sessionStorage.setItem(key, JSON.stringify(valueToStore));
|
|
127
|
+
window.sessionStorage.setItem(`${key}_timestamp`, Date.now().toString());
|
|
128
|
+
} catch (retryError) {
|
|
129
|
+
authLogger.error(`Failed to set sessionStorage key "${key}" after clearing old data:`, retryError);
|
|
130
|
+
// If still fails, force clear all and try one more time
|
|
131
|
+
try {
|
|
132
|
+
forceClearAll();
|
|
133
|
+
window.sessionStorage.setItem(key, JSON.stringify(valueToStore));
|
|
134
|
+
window.sessionStorage.setItem(`${key}_timestamp`, Date.now().toString());
|
|
135
|
+
} catch (finalError) {
|
|
136
|
+
authLogger.error(`Failed to set sessionStorage key "${key}" after force clearing:`, finalError);
|
|
137
|
+
// If still fails, just update the state without sessionStorage
|
|
138
|
+
setStoredValue(valueToStore);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
} else {
|
|
142
|
+
throw storageError;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
} catch (error) {
|
|
147
|
+
authLogger.error(`Error setting sessionStorage key "${key}":`, error);
|
|
148
|
+
// Still update the state even if sessionStorage fails
|
|
149
|
+
const valueToStore = value instanceof Function ? value(storedValue) : value;
|
|
150
|
+
setStoredValue(valueToStore);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
// Remove value from sessionStorage
|
|
155
|
+
const removeValue = () => {
|
|
156
|
+
try {
|
|
157
|
+
setStoredValue(initialValue);
|
|
158
|
+
if (typeof window !== 'undefined') {
|
|
159
|
+
try {
|
|
160
|
+
window.sessionStorage.removeItem(key);
|
|
161
|
+
window.sessionStorage.removeItem(`${key}_timestamp`);
|
|
162
|
+
} catch (removeError: any) {
|
|
163
|
+
// If removal fails due to quota, try to clear some data first
|
|
164
|
+
if (removeError.name === 'QuotaExceededError' ||
|
|
165
|
+
removeError.code === 22 ||
|
|
166
|
+
removeError.message?.includes('quota')) {
|
|
167
|
+
authLogger.warn('sessionStorage quota exceeded during removal, clearing old data...');
|
|
168
|
+
clearOldData();
|
|
169
|
+
|
|
170
|
+
try {
|
|
171
|
+
window.sessionStorage.removeItem(key);
|
|
172
|
+
window.sessionStorage.removeItem(`${key}_timestamp`);
|
|
173
|
+
} catch (retryError) {
|
|
174
|
+
authLogger.error(`Failed to remove sessionStorage key "${key}" after clearing:`, retryError);
|
|
175
|
+
// If still fails, force clear all
|
|
176
|
+
forceClearAll();
|
|
177
|
+
}
|
|
178
|
+
} else {
|
|
179
|
+
throw removeError;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
} catch (error) {
|
|
184
|
+
authLogger.error(`Error removing sessionStorage key "${key}":`, error);
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
return [storedValue, setValue, removeValue] as const;
|
|
189
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @djangocfg/api/auth
|
|
3
|
+
*
|
|
4
|
+
* Authentication module with contexts, hooks and utilities.
|
|
5
|
+
* Use this entry point in client components.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* 'use client';
|
|
10
|
+
* import { AuthProvider, useAuth } from '@djangocfg/api/auth';
|
|
11
|
+
*
|
|
12
|
+
* export function MyApp({ children }) {
|
|
13
|
+
* return (
|
|
14
|
+
* <AuthProvider>
|
|
15
|
+
* {children}
|
|
16
|
+
* </AuthProvider>
|
|
17
|
+
* );
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* export function Profile() {
|
|
21
|
+
* const { user, logout } = useAuth();
|
|
22
|
+
* return <div>{user?.email}</div>;
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
// Contexts
|
|
28
|
+
export * from './context';
|
|
29
|
+
|
|
30
|
+
// Hooks
|
|
31
|
+
export * from './hooks';
|
|
32
|
+
|
|
33
|
+
// Utils (validation, errors, analytics)
|
|
34
|
+
export * from './utils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { proxyMiddleware, proxyMiddlewareConfig } from './proxy';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Proxy middleware for media and API endpoints
|
|
5
|
+
* Use this in your middleware.ts file
|
|
6
|
+
*/
|
|
7
|
+
export function proxyMiddleware(request: NextRequest) {
|
|
8
|
+
const { pathname, search } = request.nextUrl;
|
|
9
|
+
const apiUrl = process.env.NEXT_PUBLIC_API_URL;
|
|
10
|
+
|
|
11
|
+
// Proxy /media/* - Images and static files
|
|
12
|
+
if (pathname.startsWith('/media/')) {
|
|
13
|
+
const targetUrl = `${apiUrl}${pathname}${search}`;
|
|
14
|
+
return NextResponse.rewrite(targetUrl, { request: { headers: request.headers } });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Proxy /api/* - API endpoints
|
|
18
|
+
if (pathname.startsWith('/api/')) {
|
|
19
|
+
const targetUrl = `${apiUrl}${pathname}${search}`;
|
|
20
|
+
return NextResponse.rewrite(targetUrl, { request: { headers: request.headers } });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return NextResponse.next();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Recommended matcher config for proxy middleware
|
|
28
|
+
* Add this to your middleware.ts config
|
|
29
|
+
*/
|
|
30
|
+
export const proxyMiddlewareConfig = {
|
|
31
|
+
matcher: ['/media/:path*', '/api/:path*'],
|
|
32
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @djangocfg/api/auth/server
|
|
3
|
+
*
|
|
4
|
+
* Server-side authentication utilities.
|
|
5
|
+
* Use this entry point in server components, API routes, and middleware.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // middleware.ts
|
|
10
|
+
* import { proxyMiddleware } from '@djangocfg/api/auth/server';
|
|
11
|
+
*
|
|
12
|
+
* export function middleware(request: NextRequest) {
|
|
13
|
+
* return proxyMiddleware(request);
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
// Middlewares
|
|
19
|
+
export * from './middlewares';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics stub for @djangocfg/api/auth
|
|
3
|
+
* Provides minimal analytics interface without external dependencies
|
|
4
|
+
*
|
|
5
|
+
* If you need full analytics, install @djangocfg/layouts and use its Analytics module
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export enum AnalyticsEvent {
|
|
9
|
+
AUTH_OTP_REQUEST = 'auth_otp_request',
|
|
10
|
+
AUTH_LOGIN_SUCCESS = 'auth_login_success',
|
|
11
|
+
AUTH_OTP_VERIFY_FAIL = 'auth_otp_verify_fail',
|
|
12
|
+
AUTH_SESSION_EXPIRED = 'auth_session_expired',
|
|
13
|
+
AUTH_TOKEN_REFRESH = 'auth_token_refresh',
|
|
14
|
+
AUTH_TOKEN_REFRESH_FAIL = 'auth_token_refresh_fail',
|
|
15
|
+
AUTH_LOGOUT = 'auth_logout',
|
|
16
|
+
AUTH_OAUTH_START = 'auth_oauth_start',
|
|
17
|
+
AUTH_OAUTH_FAIL = 'auth_oauth_fail',
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export enum AnalyticsCategory {
|
|
21
|
+
AUTH = 'auth',
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export type AnalyticsEventType = `${AnalyticsEvent}`;
|
|
25
|
+
export type AnalyticsCategoryType = `${AnalyticsCategory}`;
|
|
26
|
+
|
|
27
|
+
interface AnalyticsEventParams {
|
|
28
|
+
category?: AnalyticsCategoryType;
|
|
29
|
+
label?: string;
|
|
30
|
+
value?: number;
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Minimal analytics implementation
|
|
36
|
+
* Logs to console in development, silent in production
|
|
37
|
+
*/
|
|
38
|
+
export const Analytics = {
|
|
39
|
+
/**
|
|
40
|
+
* Track an analytics event
|
|
41
|
+
*/
|
|
42
|
+
event(eventName: AnalyticsEventType, params?: AnalyticsEventParams) {
|
|
43
|
+
if (process.env.NODE_ENV === 'development') {
|
|
44
|
+
console.log('[Analytics]', eventName, params);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// You can extend this to send to your analytics service
|
|
48
|
+
// Example: window.gtag?.('event', eventName, params);
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Set user ID for tracking
|
|
53
|
+
*/
|
|
54
|
+
setUser(userId: string) {
|
|
55
|
+
if (process.env.NODE_ENV === 'development') {
|
|
56
|
+
console.log('[Analytics] Set user:', userId);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// You can extend this to send to your analytics service
|
|
60
|
+
// Example: window.gtag?.('set', { user_id: userId });
|
|
61
|
+
},
|
|
62
|
+
};
|