@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,604 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
import { usePathname } from 'next/navigation';
|
|
5
|
+
import React, {
|
|
6
|
+
createContext, ReactNode, useCallback, useContext, useEffect, useMemo, useRef, useState
|
|
7
|
+
} from 'react';
|
|
8
|
+
|
|
9
|
+
import { api as apiAccounts, Enums } from '../../';
|
|
10
|
+
import { useAccountsContext, AccountsProvider } from './AccountsContext';
|
|
11
|
+
import { useLocalStorage, useQueryParams, useCfgRouter } from '@djangocfg/ui-nextjs/hooks';
|
|
12
|
+
import { getCachedProfile, clearProfileCache } from '../hooks/useProfileCache';
|
|
13
|
+
|
|
14
|
+
import { authLogger } from '../utils/logger';
|
|
15
|
+
import { Analytics, AnalyticsEvent, AnalyticsCategory } from '../utils/analytics';
|
|
16
|
+
import type { AuthConfig, AuthContextType, AuthProviderProps, UserProfile } from './types';
|
|
17
|
+
|
|
18
|
+
// Default routes
|
|
19
|
+
const defaultRoutes = {
|
|
20
|
+
auth: '/auth',
|
|
21
|
+
defaultCallback: '/dashboard',
|
|
22
|
+
defaultAuthCallback: '/auth',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const AuthContext = createContext<AuthContextType | undefined>(undefined);
|
|
26
|
+
|
|
27
|
+
// Constants
|
|
28
|
+
const EMAIL_STORAGE_KEY = 'auth_email';
|
|
29
|
+
const PHONE_STORAGE_KEY = 'auth_phone';
|
|
30
|
+
const AUTH_REDIRECT_KEY = 'auth_redirect_url';
|
|
31
|
+
|
|
32
|
+
const hasValidTokens = (): boolean => {
|
|
33
|
+
if (typeof window === 'undefined') return false;
|
|
34
|
+
return apiAccounts.isAuthenticated();
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Internal provider that uses AccountsContext
|
|
38
|
+
const AuthProviderInternal: React.FC<AuthProviderProps> = ({ children, config }) => {
|
|
39
|
+
const accounts = useAccountsContext();
|
|
40
|
+
|
|
41
|
+
// Smart initial loading state: only true if we don't have tokens yet
|
|
42
|
+
const [isLoading, setIsLoading] = useState(() => {
|
|
43
|
+
// If we already have tokens and profile, don't show loading
|
|
44
|
+
if (typeof window !== 'undefined') {
|
|
45
|
+
const hasTokens = hasValidTokens();
|
|
46
|
+
// Only show loading on initial mount if no tokens
|
|
47
|
+
return !hasTokens;
|
|
48
|
+
}
|
|
49
|
+
return true;
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const [initialized, setInitialized] = useState(false);
|
|
53
|
+
const router = useCfgRouter();
|
|
54
|
+
const pathname = usePathname();
|
|
55
|
+
const queryParams = useQueryParams();
|
|
56
|
+
|
|
57
|
+
// Use localStorage hooks for email, phone, and redirect
|
|
58
|
+
const [storedEmail, setStoredEmail, clearStoredEmail] = useLocalStorage<string | null>(EMAIL_STORAGE_KEY, null);
|
|
59
|
+
const [storedPhone, setStoredPhone, clearStoredPhone] = useLocalStorage<string | null>(PHONE_STORAGE_KEY, null);
|
|
60
|
+
const [redirectUrl, setRedirectUrl, clearRedirectUrl] = useLocalStorage<string | null>(AUTH_REDIRECT_KEY, null);
|
|
61
|
+
|
|
62
|
+
// Map AccountsContext profile to UserProfile
|
|
63
|
+
const user = accounts.profile as UserProfile | null;
|
|
64
|
+
|
|
65
|
+
// Use refs to avoid dependency issues
|
|
66
|
+
const userRef = useRef(user);
|
|
67
|
+
const configRef = useRef(config);
|
|
68
|
+
const isLoadingProfileRef = useRef(false);
|
|
69
|
+
|
|
70
|
+
// Update refs when values change
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
userRef.current = user;
|
|
73
|
+
}, [user]);
|
|
74
|
+
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
configRef.current = config;
|
|
77
|
+
}, [config]);
|
|
78
|
+
|
|
79
|
+
// Note: API URL is configured in BaseClient, not at runtime
|
|
80
|
+
|
|
81
|
+
// Common function to clear auth state
|
|
82
|
+
const clearAuthState = useCallback((caller: string) => {
|
|
83
|
+
authLogger.info('clearAuthState >> caller', caller);
|
|
84
|
+
apiAccounts.clearTokens();
|
|
85
|
+
clearProfileCache(); // Clear profile cache from localStorage
|
|
86
|
+
// Note: user is now managed by AccountsContext, will auto-update
|
|
87
|
+
setInitialized(true);
|
|
88
|
+
setIsLoading(false);
|
|
89
|
+
}, []);
|
|
90
|
+
|
|
91
|
+
// Global error handler for auth-related errors
|
|
92
|
+
const handleGlobalAuthError = useCallback((error: any, context: string = 'API Request') => {
|
|
93
|
+
// Simple error check - if response has error flag, it's an error
|
|
94
|
+
if (error?.success === false) {
|
|
95
|
+
authLogger.warn(`Error detected in ${context}, clearing tokens`);
|
|
96
|
+
clearAuthState(`globalAuthError:${context}`);
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return false;
|
|
101
|
+
}, [clearAuthState]);
|
|
102
|
+
|
|
103
|
+
// Simple profile loading without retry - now uses AccountsContext with memoization
|
|
104
|
+
const loadCurrentProfile = useCallback(async (callerId?: string): Promise<void> => {
|
|
105
|
+
const finalCallerId = callerId || 'AuthContext.loadCurrentProfile';
|
|
106
|
+
|
|
107
|
+
// Check if profile loading is already in progress
|
|
108
|
+
if (isLoadingProfileRef.current) {
|
|
109
|
+
authLogger.debug(`Profile loading already in progress, skipping duplicate call from: ${finalCallerId}`);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
authLogger.debug(`loadCurrentProfile called by: ${finalCallerId}`);
|
|
114
|
+
|
|
115
|
+
try {
|
|
116
|
+
isLoadingProfileRef.current = true;
|
|
117
|
+
|
|
118
|
+
// Ensure API clients are properly initialized with current token
|
|
119
|
+
const isAuth = apiAccounts.isAuthenticated();
|
|
120
|
+
const token = apiAccounts.getToken();
|
|
121
|
+
// authLogger.debug('isAuthenticated:', isAuth, 'token:', token ? token.substring(0, 20) + '...' : 'null');
|
|
122
|
+
|
|
123
|
+
if (!isAuth) {
|
|
124
|
+
authLogger.warn('No valid authentication token, throwing error');
|
|
125
|
+
throw new Error('No valid authentication token');
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Check if profile is already loaded in AccountsContext to prevent duplicate API calls
|
|
129
|
+
if (accounts.profile && !accounts.isLoadingProfile) {
|
|
130
|
+
authLogger.debug('Profile already loaded in AccountsContext, skipping API call');
|
|
131
|
+
setInitialized(true);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Refresh profile from AccountsContext (now with memoization)
|
|
136
|
+
const refreshedProfile = await accounts.refreshProfile(finalCallerId);
|
|
137
|
+
|
|
138
|
+
if (refreshedProfile) {
|
|
139
|
+
authLogger.info('Profile loaded successfully:', refreshedProfile.id);
|
|
140
|
+
} else {
|
|
141
|
+
authLogger.warn('Profile refresh returned undefined - but keeping tokens');
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Always mark as initialized if we have valid tokens
|
|
145
|
+
// Don't clear tokens just because profile fetch failed
|
|
146
|
+
setInitialized(true);
|
|
147
|
+
} catch (error) {
|
|
148
|
+
authLogger.error('Failed to load profile:', error);
|
|
149
|
+
// Use global error handler first, fallback to clearing state
|
|
150
|
+
if (!handleGlobalAuthError(error, 'loadCurrentProfile')) {
|
|
151
|
+
clearAuthState('loadCurrentProfile:error');
|
|
152
|
+
}
|
|
153
|
+
} finally {
|
|
154
|
+
isLoadingProfileRef.current = false;
|
|
155
|
+
}
|
|
156
|
+
}, [clearAuthState, handleGlobalAuthError, accounts]);
|
|
157
|
+
|
|
158
|
+
// Initialize auth state once
|
|
159
|
+
useEffect(() => {
|
|
160
|
+
if (initialized) return;
|
|
161
|
+
|
|
162
|
+
const initializeAuth = async () => {
|
|
163
|
+
authLogger.info('Initializing auth...');
|
|
164
|
+
|
|
165
|
+
// Check if running in iframe (AdminLayout will handle auth via postMessage)
|
|
166
|
+
const isInIframe = typeof window !== 'undefined' && window.self !== window.top;
|
|
167
|
+
authLogger.info('Is in iframe:', isInIframe);
|
|
168
|
+
|
|
169
|
+
// Debug token state
|
|
170
|
+
const token = apiAccounts.getToken();
|
|
171
|
+
const refreshToken = apiAccounts.getRefreshToken();
|
|
172
|
+
authLogger.info('Token from API:', token ? `${token.substring(0, 20)}...` : 'null');
|
|
173
|
+
authLogger.info('Refresh token from API:', refreshToken ? `${refreshToken.substring(0, 20)}...` : 'null');
|
|
174
|
+
authLogger.info('localStorage keys:', Object.keys(localStorage).filter(k => k.includes('token') || k.includes('auth')));
|
|
175
|
+
|
|
176
|
+
const hasTokens = hasValidTokens();
|
|
177
|
+
authLogger.info('Has tokens:', hasTokens);
|
|
178
|
+
|
|
179
|
+
// Check if profile is already loaded from cache (AccountsContext initialization)
|
|
180
|
+
if (userRef.current) {
|
|
181
|
+
authLogger.info('Profile already loaded from AccountsContext cache, skipping API request');
|
|
182
|
+
setInitialized(true);
|
|
183
|
+
setIsLoading(false);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Check if cache exists in localStorage (before userRef updates)
|
|
188
|
+
const cachedProfile = getCachedProfile();
|
|
189
|
+
if (cachedProfile) {
|
|
190
|
+
authLogger.info('Profile found in localStorage cache, skipping API request');
|
|
191
|
+
setInitialized(true);
|
|
192
|
+
setIsLoading(false);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// In iframe mode WITHOUT tokens yet - wait for AdminLayout to receive them via postMessage
|
|
197
|
+
// Don't initialize yet - AdminLayout.handleAuthToken will call loadCurrentProfile
|
|
198
|
+
if (isInIframe && !hasTokens) {
|
|
199
|
+
authLogger.info('Running in iframe without tokens - waiting for parent to send via postMessage');
|
|
200
|
+
authLogger.info('AdminLayout will handle auth initialization, skipping AuthContext init');
|
|
201
|
+
setInitialized(true); // Mark as initialized to prevent re-initialization
|
|
202
|
+
setIsLoading(false);
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (hasTokens) {
|
|
207
|
+
setIsLoading(true);
|
|
208
|
+
try {
|
|
209
|
+
authLogger.info('No cached profile found, loading from API...');
|
|
210
|
+
await loadCurrentProfile('AuthContext.initializeAuth');
|
|
211
|
+
} catch (error) {
|
|
212
|
+
authLogger.error('Failed to load profile during initialization:', error);
|
|
213
|
+
// If profile loading fails, clear auth state
|
|
214
|
+
clearAuthState('initializeAuth:loadProfileFailed');
|
|
215
|
+
}
|
|
216
|
+
setIsLoading(false);
|
|
217
|
+
} else {
|
|
218
|
+
setInitialized(true);
|
|
219
|
+
setIsLoading(false);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
initializeAuth();
|
|
224
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
225
|
+
}, [initialized]);
|
|
226
|
+
|
|
227
|
+
// Redirect logic - only for unauthenticated users on protected pages
|
|
228
|
+
useEffect(() => {
|
|
229
|
+
if (!initialized) return;
|
|
230
|
+
|
|
231
|
+
// Consider authenticated if we have valid tokens, even without profile
|
|
232
|
+
const isAuthenticated = apiAccounts.isAuthenticated();
|
|
233
|
+
const authRoute = config?.routes?.auth || defaultRoutes.auth;
|
|
234
|
+
const isAuthPage = pathname === authRoute;
|
|
235
|
+
const flowParam = queryParams.get('flow');
|
|
236
|
+
|
|
237
|
+
// Only redirect authenticated users away from auth page if they're not in a flow
|
|
238
|
+
// This prevents interference with OTP verification flow
|
|
239
|
+
if (isAuthenticated && isAuthPage && !flowParam) {
|
|
240
|
+
const callbackUrl = config?.routes?.defaultCallback || defaultRoutes.defaultCallback;
|
|
241
|
+
router.push(callbackUrl);
|
|
242
|
+
}
|
|
243
|
+
}, [initialized, pathname, queryParams, config?.routes]);
|
|
244
|
+
|
|
245
|
+
const pushToDefaultCallbackUrl = useCallback(() => {
|
|
246
|
+
const callbackUrl = config?.routes?.defaultCallback || defaultRoutes.defaultCallback;
|
|
247
|
+
router.push(callbackUrl);
|
|
248
|
+
}, [config?.routes, router]);
|
|
249
|
+
|
|
250
|
+
const pushToDefaultAuthCallbackUrl = useCallback(() => {
|
|
251
|
+
const authCallbackUrl = config?.routes?.defaultAuthCallback || defaultRoutes.defaultAuthCallback;
|
|
252
|
+
router.push(authCallbackUrl);
|
|
253
|
+
}, [config?.routes, router]);
|
|
254
|
+
|
|
255
|
+
// Memoized checkAuthAndRedirect function
|
|
256
|
+
const checkAuthAndRedirect = useCallback(async () => {
|
|
257
|
+
try {
|
|
258
|
+
setIsLoading(true);
|
|
259
|
+
const isAuthenticated = apiAccounts.isAuthenticated();
|
|
260
|
+
|
|
261
|
+
if (isAuthenticated) {
|
|
262
|
+
await loadCurrentProfile();
|
|
263
|
+
if (userRef.current) {
|
|
264
|
+
pushToDefaultCallbackUrl();
|
|
265
|
+
}
|
|
266
|
+
} else {
|
|
267
|
+
pushToDefaultAuthCallbackUrl();
|
|
268
|
+
}
|
|
269
|
+
} catch (error) {
|
|
270
|
+
authLogger.error('Failed to check authentication:', error);
|
|
271
|
+
// Use global error handler first
|
|
272
|
+
if (!handleGlobalAuthError(error, 'checkAuthAndRedirect')) {
|
|
273
|
+
clearAuthState('checkAuthAndRedirect');
|
|
274
|
+
}
|
|
275
|
+
pushToDefaultAuthCallbackUrl();
|
|
276
|
+
} finally {
|
|
277
|
+
setIsLoading(false);
|
|
278
|
+
}
|
|
279
|
+
}, [loadCurrentProfile, clearAuthState, pushToDefaultCallbackUrl, pushToDefaultAuthCallbackUrl, handleGlobalAuthError]);
|
|
280
|
+
|
|
281
|
+
// OTP methods - supports both email and phone - now uses AccountsContext
|
|
282
|
+
const requestOTP = useCallback(
|
|
283
|
+
async (identifier: string, channel?: 'email' | 'phone', sourceUrl?: string): Promise<{ success: boolean; message: string }> => {
|
|
284
|
+
// Clear tokens before requesting OTP
|
|
285
|
+
apiAccounts.clearTokens();
|
|
286
|
+
|
|
287
|
+
try {
|
|
288
|
+
const channelValue = channel === 'phone'
|
|
289
|
+
? Enums.OTPRequestRequestChannel.PHONE
|
|
290
|
+
: Enums.OTPRequestRequestChannel.EMAIL;
|
|
291
|
+
const result = await accounts.requestOTP({
|
|
292
|
+
identifier,
|
|
293
|
+
channel: channelValue,
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
const channelName = channel === 'phone' ? 'phone number' : 'email address';
|
|
297
|
+
|
|
298
|
+
// Track OTP request
|
|
299
|
+
Analytics.event(AnalyticsEvent.AUTH_OTP_REQUEST, {
|
|
300
|
+
category: AnalyticsCategory.AUTH,
|
|
301
|
+
label: channel || 'email',
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
return {
|
|
305
|
+
success: true,
|
|
306
|
+
message: result.message || `OTP code sent to your ${channelName}`,
|
|
307
|
+
};
|
|
308
|
+
} catch (error) {
|
|
309
|
+
authLogger.error('Request OTP error:', error);
|
|
310
|
+
return {
|
|
311
|
+
success: false,
|
|
312
|
+
message: 'Failed to send OTP',
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
[accounts],
|
|
317
|
+
);
|
|
318
|
+
|
|
319
|
+
const verifyOTP = useCallback(
|
|
320
|
+
async (identifier: string, otpCode: string, channel?: 'email' | 'phone', sourceUrl?: string): Promise<{ success: boolean; message: string; user?: UserProfile }> => {
|
|
321
|
+
try {
|
|
322
|
+
const channelValue = channel === 'phone'
|
|
323
|
+
? Enums.OTPVerifyRequestChannel.PHONE
|
|
324
|
+
: Enums.OTPVerifyRequestChannel.EMAIL;
|
|
325
|
+
// AccountsContext automatically saves tokens and refreshes profile
|
|
326
|
+
const result = await accounts.verifyOTP({
|
|
327
|
+
identifier,
|
|
328
|
+
otp: otpCode,
|
|
329
|
+
channel: channelValue,
|
|
330
|
+
});
|
|
331
|
+
|
|
332
|
+
// Verify that we got valid tokens
|
|
333
|
+
if (!result.access || !result.refresh) {
|
|
334
|
+
authLogger.error('Verify OTP returned invalid response:', result);
|
|
335
|
+
return {
|
|
336
|
+
success: false,
|
|
337
|
+
message: 'Invalid OTP verification response',
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
// Save identifier based on channel and clear opposite channel
|
|
342
|
+
if (channel === 'phone') {
|
|
343
|
+
setStoredPhone(identifier);
|
|
344
|
+
clearStoredEmail();
|
|
345
|
+
} else if (identifier.includes('@')) {
|
|
346
|
+
setStoredEmail(identifier);
|
|
347
|
+
clearStoredPhone();
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// Small delay to ensure profile state is updated
|
|
351
|
+
await new Promise(resolve => setTimeout(resolve, 200));
|
|
352
|
+
|
|
353
|
+
// Track successful login
|
|
354
|
+
Analytics.event(AnalyticsEvent.AUTH_LOGIN_SUCCESS, {
|
|
355
|
+
category: AnalyticsCategory.AUTH,
|
|
356
|
+
label: channel || 'email',
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
// Set user ID for future tracking
|
|
360
|
+
if (result.user?.id) {
|
|
361
|
+
Analytics.setUser(String(result.user.id));
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
// Handle redirect logic here
|
|
365
|
+
// Use hardPush for full page reload - ensures all React contexts reinitialize
|
|
366
|
+
const defaultCallback = config?.routes?.defaultCallback || defaultRoutes.defaultCallback;
|
|
367
|
+
|
|
368
|
+
if (redirectUrl && redirectUrl !== defaultCallback) {
|
|
369
|
+
clearRedirectUrl();
|
|
370
|
+
router.hardPush(redirectUrl);
|
|
371
|
+
} else {
|
|
372
|
+
router.hardPush(defaultCallback);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
return {
|
|
376
|
+
success: true,
|
|
377
|
+
message: 'Login successful',
|
|
378
|
+
user: result.user as UserProfile,
|
|
379
|
+
};
|
|
380
|
+
} catch (error) {
|
|
381
|
+
authLogger.error('Verify OTP error:', error);
|
|
382
|
+
|
|
383
|
+
// Track failed verification
|
|
384
|
+
Analytics.event(AnalyticsEvent.AUTH_OTP_VERIFY_FAIL, {
|
|
385
|
+
category: AnalyticsCategory.AUTH,
|
|
386
|
+
label: channel || 'email',
|
|
387
|
+
});
|
|
388
|
+
|
|
389
|
+
return {
|
|
390
|
+
success: false,
|
|
391
|
+
message: 'Failed to verify OTP',
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
[setStoredEmail, setStoredPhone, clearStoredEmail, clearStoredPhone, redirectUrl, clearRedirectUrl, config?.routes?.defaultCallback, accounts],
|
|
396
|
+
);
|
|
397
|
+
|
|
398
|
+
const refreshToken = useCallback(async (): Promise<{ success: boolean; message: string }> => {
|
|
399
|
+
try {
|
|
400
|
+
const refreshTokenValue = apiAccounts.getRefreshToken();
|
|
401
|
+
if (!refreshTokenValue) {
|
|
402
|
+
clearAuthState('refreshToken:noToken');
|
|
403
|
+
|
|
404
|
+
// Track session expired
|
|
405
|
+
Analytics.event(AnalyticsEvent.AUTH_SESSION_EXPIRED, {
|
|
406
|
+
category: AnalyticsCategory.AUTH,
|
|
407
|
+
});
|
|
408
|
+
|
|
409
|
+
return {
|
|
410
|
+
success: false,
|
|
411
|
+
message: 'No refresh token available',
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
await accounts.refreshToken(refreshTokenValue);
|
|
416
|
+
|
|
417
|
+
// Track successful refresh
|
|
418
|
+
Analytics.event(AnalyticsEvent.AUTH_TOKEN_REFRESH, {
|
|
419
|
+
category: AnalyticsCategory.AUTH,
|
|
420
|
+
});
|
|
421
|
+
|
|
422
|
+
return {
|
|
423
|
+
success: true,
|
|
424
|
+
message: 'Token refreshed',
|
|
425
|
+
};
|
|
426
|
+
} catch (error) {
|
|
427
|
+
authLogger.error('Refresh token error:', error);
|
|
428
|
+
clearAuthState('refreshToken:error');
|
|
429
|
+
|
|
430
|
+
// Track refresh failure
|
|
431
|
+
Analytics.event(AnalyticsEvent.AUTH_TOKEN_REFRESH_FAIL, {
|
|
432
|
+
category: AnalyticsCategory.AUTH,
|
|
433
|
+
});
|
|
434
|
+
|
|
435
|
+
return {
|
|
436
|
+
success: false,
|
|
437
|
+
message: 'Error refreshing token',
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
}, [clearAuthState, accounts]);
|
|
441
|
+
|
|
442
|
+
const clearRedirect = useCallback((): void => {
|
|
443
|
+
clearRedirectUrl();
|
|
444
|
+
}, [clearRedirectUrl]);
|
|
445
|
+
|
|
446
|
+
// Save current URL for redirect after authentication
|
|
447
|
+
const saveCurrentUrlForRedirect = useCallback((): void => {
|
|
448
|
+
if (typeof window !== 'undefined') {
|
|
449
|
+
const currentUrl = window.location.pathname + window.location.search;
|
|
450
|
+
setRedirectUrl(currentUrl);
|
|
451
|
+
}
|
|
452
|
+
}, [setRedirectUrl]);
|
|
453
|
+
|
|
454
|
+
const logout = useCallback(async (): Promise<void> => {
|
|
455
|
+
const performLogout = () => {
|
|
456
|
+
// Track logout
|
|
457
|
+
Analytics.event(AnalyticsEvent.AUTH_LOGOUT, {
|
|
458
|
+
category: AnalyticsCategory.AUTH,
|
|
459
|
+
});
|
|
460
|
+
|
|
461
|
+
accounts.logout(); // Clear tokens and profile
|
|
462
|
+
setInitialized(true);
|
|
463
|
+
setIsLoading(false);
|
|
464
|
+
|
|
465
|
+
// Use hardReplace for full page reload + replace history
|
|
466
|
+
// This ensures contexts reinitialize AND back button won't return to protected page
|
|
467
|
+
const authCallbackUrl = config?.routes?.defaultAuthCallback || defaultRoutes.defaultAuthCallback;
|
|
468
|
+
router.hardReplace(authCallbackUrl);
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
// Use config.onConfirm if provided, otherwise use a simple confirm
|
|
472
|
+
if (configRef.current?.onConfirm) {
|
|
473
|
+
const { confirmed } = await configRef.current.onConfirm({
|
|
474
|
+
title: 'Logout',
|
|
475
|
+
description: 'Are you sure you want to logout?',
|
|
476
|
+
confirmationButtonText: 'Logout',
|
|
477
|
+
cancellationButtonText: 'Cancel',
|
|
478
|
+
color: 'error',
|
|
479
|
+
});
|
|
480
|
+
if (confirmed) {
|
|
481
|
+
performLogout();
|
|
482
|
+
}
|
|
483
|
+
} else {
|
|
484
|
+
// Fallback to browser confirm
|
|
485
|
+
const confirmed = window.confirm('Are you sure you want to logout?');
|
|
486
|
+
if (confirmed) {
|
|
487
|
+
performLogout();
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}, [accounts, config?.routes?.defaultAuthCallback, router]);
|
|
491
|
+
|
|
492
|
+
// Redirect URL methods
|
|
493
|
+
const getSavedRedirectUrl = useCallback((): string | null => {
|
|
494
|
+
if (typeof window !== 'undefined') {
|
|
495
|
+
return sessionStorage.getItem(AUTH_REDIRECT_KEY);
|
|
496
|
+
}
|
|
497
|
+
return null;
|
|
498
|
+
}, []);
|
|
499
|
+
|
|
500
|
+
const saveRedirectUrl = useCallback((url: string): void => {
|
|
501
|
+
if (typeof window !== 'undefined') {
|
|
502
|
+
sessionStorage.setItem(AUTH_REDIRECT_KEY, url);
|
|
503
|
+
}
|
|
504
|
+
}, []);
|
|
505
|
+
|
|
506
|
+
const clearSavedRedirectUrl = useCallback((): void => {
|
|
507
|
+
if (typeof window !== 'undefined') {
|
|
508
|
+
sessionStorage.removeItem(AUTH_REDIRECT_KEY);
|
|
509
|
+
}
|
|
510
|
+
}, []);
|
|
511
|
+
|
|
512
|
+
const getFinalRedirectUrl = useCallback((): string => {
|
|
513
|
+
const savedUrl = getSavedRedirectUrl();
|
|
514
|
+
return savedUrl || (config?.routes?.defaultCallback || defaultRoutes.defaultCallback);
|
|
515
|
+
}, [getSavedRedirectUrl, config?.routes?.defaultCallback]);
|
|
516
|
+
|
|
517
|
+
const useAndClearRedirectUrl = useCallback((): string => {
|
|
518
|
+
const finalUrl = getFinalRedirectUrl();
|
|
519
|
+
clearSavedRedirectUrl();
|
|
520
|
+
return finalUrl;
|
|
521
|
+
}, [getFinalRedirectUrl, clearSavedRedirectUrl]);
|
|
522
|
+
|
|
523
|
+
// Computed: Is admin user (staff or superuser)
|
|
524
|
+
const isAdminUser = useMemo(() => {
|
|
525
|
+
return Boolean(user?.is_staff || user?.is_superuser);
|
|
526
|
+
}, [user]);
|
|
527
|
+
|
|
528
|
+
// Memoized context value
|
|
529
|
+
const value = useMemo<AuthContextType>(
|
|
530
|
+
() => ({
|
|
531
|
+
user,
|
|
532
|
+
isLoading,
|
|
533
|
+
// Consider authenticated if we have valid tokens, even without user profile
|
|
534
|
+
isAuthenticated: apiAccounts.isAuthenticated(),
|
|
535
|
+
isAdminUser,
|
|
536
|
+
loadCurrentProfile,
|
|
537
|
+
checkAuthAndRedirect,
|
|
538
|
+
getToken: () => apiAccounts.getToken(),
|
|
539
|
+
getRefreshToken: () => apiAccounts.getRefreshToken(),
|
|
540
|
+
getSavedEmail: () => storedEmail,
|
|
541
|
+
saveEmail: setStoredEmail,
|
|
542
|
+
clearSavedEmail: clearStoredEmail,
|
|
543
|
+
getSavedPhone: () => storedPhone,
|
|
544
|
+
savePhone: setStoredPhone,
|
|
545
|
+
clearSavedPhone: clearStoredPhone,
|
|
546
|
+
requestOTP,
|
|
547
|
+
verifyOTP,
|
|
548
|
+
refreshToken,
|
|
549
|
+
logout,
|
|
550
|
+
getSavedRedirectUrl,
|
|
551
|
+
saveRedirectUrl,
|
|
552
|
+
clearSavedRedirectUrl,
|
|
553
|
+
getFinalRedirectUrl,
|
|
554
|
+
useAndClearRedirectUrl,
|
|
555
|
+
saveCurrentUrlForRedirect,
|
|
556
|
+
}),
|
|
557
|
+
[
|
|
558
|
+
user,
|
|
559
|
+
isLoading,
|
|
560
|
+
isAdminUser,
|
|
561
|
+
loadCurrentProfile,
|
|
562
|
+
checkAuthAndRedirect,
|
|
563
|
+
storedEmail,
|
|
564
|
+
setStoredEmail,
|
|
565
|
+
clearStoredEmail,
|
|
566
|
+
storedPhone,
|
|
567
|
+
setStoredPhone,
|
|
568
|
+
clearStoredPhone,
|
|
569
|
+
requestOTP,
|
|
570
|
+
verifyOTP,
|
|
571
|
+
refreshToken,
|
|
572
|
+
logout,
|
|
573
|
+
getSavedRedirectUrl,
|
|
574
|
+
saveRedirectUrl,
|
|
575
|
+
clearSavedRedirectUrl,
|
|
576
|
+
getFinalRedirectUrl,
|
|
577
|
+
useAndClearRedirectUrl,
|
|
578
|
+
saveCurrentUrlForRedirect,
|
|
579
|
+
],
|
|
580
|
+
);
|
|
581
|
+
|
|
582
|
+
return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;
|
|
583
|
+
};
|
|
584
|
+
|
|
585
|
+
// Wrapper that provides AccountsContext
|
|
586
|
+
export const AuthProvider: React.FC<AuthProviderProps> = ({ children, config }) => {
|
|
587
|
+
return (
|
|
588
|
+
<AccountsProvider>
|
|
589
|
+
<AuthProviderInternal config={config}>
|
|
590
|
+
{children}
|
|
591
|
+
</AuthProviderInternal>
|
|
592
|
+
</AccountsProvider>
|
|
593
|
+
);
|
|
594
|
+
};
|
|
595
|
+
|
|
596
|
+
export const useAuth = (): AuthContextType => {
|
|
597
|
+
const context = useContext(AuthContext);
|
|
598
|
+
if (context === undefined) {
|
|
599
|
+
throw new Error('useAuth must be used within an AuthProvider');
|
|
600
|
+
}
|
|
601
|
+
return context;
|
|
602
|
+
};
|
|
603
|
+
|
|
604
|
+
export default AuthContext;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { AuthProvider, useAuth } from './AuthContext';
|
|
2
|
+
export type { AuthConfig, AuthContextType, AuthProviderProps, UserProfile } from './types';
|
|
3
|
+
export { AccountsProvider, useAccountsContext, PatchedUserProfileUpdateRequestSchema } from './AccountsContext';
|
|
4
|
+
export type { AccountsContextValue, PatchedUserProfileUpdateRequest } from './AccountsContext';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import type { User } from '../../';
|
|
4
|
+
|
|
5
|
+
// User profile type
|
|
6
|
+
export type UserProfile = User;
|
|
7
|
+
|
|
8
|
+
// Auth configuration
|
|
9
|
+
export interface AuthConfig {
|
|
10
|
+
apiUrl?: string;
|
|
11
|
+
routes?: {
|
|
12
|
+
auth?: string;
|
|
13
|
+
defaultCallback?: string;
|
|
14
|
+
defaultAuthCallback?: string;
|
|
15
|
+
};
|
|
16
|
+
onLogout?: () => void;
|
|
17
|
+
onConfirm?: (options: {
|
|
18
|
+
title: string;
|
|
19
|
+
description: string;
|
|
20
|
+
confirmationButtonText: string;
|
|
21
|
+
cancellationButtonText: string;
|
|
22
|
+
color: string;
|
|
23
|
+
}) => Promise<{ confirmed: boolean }>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Auth context interface
|
|
27
|
+
export interface AuthContextType {
|
|
28
|
+
user: UserProfile | null;
|
|
29
|
+
isLoading: boolean;
|
|
30
|
+
isAuthenticated: boolean;
|
|
31
|
+
isAdminUser: boolean;
|
|
32
|
+
loadCurrentProfile: (callerId?: string) => Promise<void>;
|
|
33
|
+
checkAuthAndRedirect: () => Promise<void>;
|
|
34
|
+
|
|
35
|
+
// Token Methods
|
|
36
|
+
getToken: () => string | null;
|
|
37
|
+
getRefreshToken: () => string | null;
|
|
38
|
+
|
|
39
|
+
// Email Methods
|
|
40
|
+
getSavedEmail: () => string | null;
|
|
41
|
+
saveEmail: (email: string) => void;
|
|
42
|
+
clearSavedEmail: () => void;
|
|
43
|
+
|
|
44
|
+
// Phone Methods
|
|
45
|
+
getSavedPhone: () => string | null;
|
|
46
|
+
savePhone: (phone: string) => void;
|
|
47
|
+
clearSavedPhone: () => void;
|
|
48
|
+
|
|
49
|
+
// OTP Methods - Multi-channel support
|
|
50
|
+
requestOTP: (identifier: string, channel?: 'email' | 'phone', sourceUrl?: string) => Promise<{ success: boolean; message: string }>;
|
|
51
|
+
verifyOTP: (identifier: string, otpCode: string, channel?: 'email' | 'phone', sourceUrl?: string) => Promise<{ success: boolean; message: string; user?: UserProfile }>;
|
|
52
|
+
refreshToken: () => Promise<{ success: boolean; message: string }>;
|
|
53
|
+
logout: () => Promise<void>;
|
|
54
|
+
|
|
55
|
+
// Redirect Methods
|
|
56
|
+
getSavedRedirectUrl: () => string | null;
|
|
57
|
+
saveRedirectUrl: (url: string) => void;
|
|
58
|
+
clearSavedRedirectUrl: () => void;
|
|
59
|
+
getFinalRedirectUrl: () => string;
|
|
60
|
+
useAndClearRedirectUrl: () => string;
|
|
61
|
+
saveCurrentUrlForRedirect: () => void;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Provider props
|
|
65
|
+
export interface AuthProviderProps {
|
|
66
|
+
children: React.ReactNode;
|
|
67
|
+
config?: AuthConfig;
|
|
68
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
export { useAuthRedirectManager } from './useAuthRedirect';
|
|
4
|
+
export { useAuthGuard } from './useAuthGuard';
|
|
5
|
+
export { useSessionStorage } from './useSessionStorage';
|
|
6
|
+
export { useLocalStorage } from './useLocalStorage';
|
|
7
|
+
export { useAuthForm } from './useAuthForm';
|
|
8
|
+
export { useAutoAuth } from './useAutoAuth';
|
|
9
|
+
export { useGithubAuth, type UseGithubAuthOptions, type UseGithubAuthReturn } from './useGithubAuth';
|
|
10
|
+
export {
|
|
11
|
+
getCachedProfile,
|
|
12
|
+
setCachedProfile,
|
|
13
|
+
clearProfileCache,
|
|
14
|
+
hasValidCache,
|
|
15
|
+
getCacheMetadata,
|
|
16
|
+
type ProfileCacheOptions
|
|
17
|
+
} from './useProfileCache';
|