@actschurch/ccms-sdk 0.0.1 → 0.0.3
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.html +46 -46
- package/README.md +46 -46
- package/dist/auth/AuthManager.d.ts +1 -0
- package/dist/auth/AuthManager.d.ts.map +1 -1
- package/dist/auth/AuthManager.js +11 -11
- package/dist/auth/AuthManager.js.map +1 -1
- package/dist/auth/adapters/context.d.ts.map +1 -1
- package/dist/auth/adapters/context.js +43 -21
- package/dist/auth/adapters/context.js.map +1 -1
- package/dist/realtime/presence/PresenceProvider.d.ts.map +1 -1
- package/dist/realtime/presence/PresenceProvider.js +6 -1
- package/dist/realtime/presence/PresenceProvider.js.map +1 -1
- package/dist/realtime/shared/BaseSignalRClient.d.ts.map +1 -1
- package/dist/realtime/shared/BaseSignalRClient.js +8 -3
- package/dist/realtime/shared/BaseSignalRClient.js.map +1 -1
- package/dist/services/base/BaseService.d.ts.map +1 -1
- package/dist/services/base/BaseService.js +3 -1
- package/dist/services/base/BaseService.js.map +1 -1
- package/dist/services/file/FileService.d.ts.map +1 -1
- package/dist/services/file/FileService.js +1 -1
- package/dist/services/file/FileService.js.map +1 -1
- package/dist/services/file/MultipartUploadService.d.ts.map +1 -1
- package/dist/services/file/MultipartUploadService.js +1 -1
- package/dist/services/file/MultipartUploadService.js.map +1 -1
- package/dist/services/payments/BillingAgreementService.d.ts.map +1 -1
- package/dist/services/payments/BillingAgreementService.js +1 -1
- package/dist/services/payments/BillingAgreementService.js.map +1 -1
- package/dist/services/payments/PayFastWebhookService.d.ts.map +1 -1
- package/dist/services/payments/PayFastWebhookService.js +1 -1
- package/dist/services/payments/PayFastWebhookService.js.map +1 -1
- package/dist/services/payments/PayerService.d.ts.map +1 -1
- package/dist/services/payments/PayerService.js +1 -1
- package/dist/services/payments/PayerService.js.map +1 -1
- package/dist/services/payments/PaymentIpnEventService.d.ts.map +1 -1
- package/dist/services/payments/PaymentIpnEventService.js +1 -1
- package/dist/services/payments/PaymentIpnEventService.js.map +1 -1
- package/dist/services/payments/PaymentMethodService.d.ts.map +1 -1
- package/dist/services/payments/PaymentMethodService.js +1 -1
- package/dist/services/payments/PaymentMethodService.js.map +1 -1
- package/dist/services/payments/PaymentNotificationQueueService.d.ts.map +1 -1
- package/dist/services/payments/PaymentNotificationQueueService.js +1 -1
- package/dist/services/payments/PaymentNotificationQueueService.js.map +1 -1
- package/dist/services/payments/PaymentTransactionService.d.ts.map +1 -1
- package/dist/services/payments/PaymentTransactionService.js +1 -1
- package/dist/services/payments/PaymentTransactionService.js.map +1 -1
- package/dist/services/payments/RecurringTransactionService.d.ts.map +1 -1
- package/dist/services/payments/RecurringTransactionService.js +1 -1
- package/dist/services/payments/RecurringTransactionService.js.map +1 -1
- package/dist/services/payments/RefundStatusService.d.ts.map +1 -1
- package/dist/services/payments/RefundStatusService.js +1 -1
- package/dist/services/payments/RefundStatusService.js.map +1 -1
- package/dist/services/payments/SettlementLineService.d.ts.map +1 -1
- package/dist/services/payments/SettlementLineService.js +1 -1
- package/dist/services/payments/SettlementLineService.js.map +1 -1
- package/dist/services/payments/SettlementService.d.ts.map +1 -1
- package/dist/services/payments/SettlementService.js +1 -1
- package/dist/services/payments/SettlementService.js.map +1 -1
- package/dist/services/payments/TransactionCategoryService.d.ts.map +1 -1
- package/dist/services/payments/TransactionCategoryService.js +1 -1
- package/dist/services/payments/TransactionCategoryService.js.map +1 -1
- package/dist/services/payments/TransactionRefundService.d.ts.map +1 -1
- package/dist/services/payments/TransactionRefundService.js +1 -1
- package/dist/services/payments/TransactionRefundService.js.map +1 -1
- package/dist/services/payments/TransactionStatusService.d.ts.map +1 -1
- package/dist/services/payments/TransactionStatusService.js +1 -1
- package/dist/services/payments/TransactionStatusService.js.map +1 -1
- package/dist/services/projects/BudgetLineItemService.d.ts.map +1 -1
- package/dist/services/projects/BudgetLineItemService.js +1 -1
- package/dist/services/projects/BudgetLineItemService.js.map +1 -1
- package/dist/services/projects/PlannedBudgetItemService.d.ts.map +1 -1
- package/dist/services/projects/PlannedBudgetItemService.js +1 -1
- package/dist/services/projects/PlannedBudgetItemService.js.map +1 -1
- package/dist/services/projects/ProjectAuditLogService.d.ts.map +1 -1
- package/dist/services/projects/ProjectAuditLogService.js +1 -1
- package/dist/services/projects/ProjectAuditLogService.js.map +1 -1
- package/dist/services/projects/ProjectDocumentService.d.ts.map +1 -1
- package/dist/services/projects/ProjectDocumentService.js +1 -1
- package/dist/services/projects/ProjectDocumentService.js.map +1 -1
- package/dist/services/projects/ProjectMessageService.d.ts.map +1 -1
- package/dist/services/projects/ProjectMessageService.js +1 -1
- package/dist/services/projects/ProjectMessageService.js.map +1 -1
- package/dist/services/projects/ProjectMilestoneService.d.ts.map +1 -1
- package/dist/services/projects/ProjectMilestoneService.js +1 -1
- package/dist/services/projects/ProjectMilestoneService.js.map +1 -1
- package/dist/services/projects/ProjectMilestoneTaskService.d.ts.map +1 -1
- package/dist/services/projects/ProjectMilestoneTaskService.js +1 -1
- package/dist/services/projects/ProjectMilestoneTaskService.js.map +1 -1
- package/dist/services/projects/ProjectResourceService.d.ts.map +1 -1
- package/dist/services/projects/ProjectResourceService.js +1 -1
- package/dist/services/projects/ProjectResourceService.js.map +1 -1
- package/dist/services/projects/ProjectRiskService.d.ts.map +1 -1
- package/dist/services/projects/ProjectRiskService.js +1 -1
- package/dist/services/projects/ProjectRiskService.js.map +1 -1
- package/dist/services/projects/ProjectRoleService.d.ts.map +1 -1
- package/dist/services/projects/ProjectRoleService.js +1 -1
- package/dist/services/projects/ProjectRoleService.js.map +1 -1
- package/dist/services/projects/ProjectService.d.ts.map +1 -1
- package/dist/services/projects/ProjectService.js +1 -1
- package/dist/services/projects/ProjectService.js.map +1 -1
- package/dist/services/projects/ProjectStatusService.d.ts.map +1 -1
- package/dist/services/projects/ProjectStatusService.js +1 -1
- package/dist/services/projects/ProjectStatusService.js.map +1 -1
- package/dist/services/projects/ProjectTeamMemberService.d.ts.map +1 -1
- package/dist/services/projects/ProjectTeamMemberService.js +1 -1
- package/dist/services/projects/ProjectTeamMemberService.js.map +1 -1
- package/dist/services/projects/ProjectTypeService.d.ts.map +1 -1
- package/dist/services/projects/ProjectTypeService.js +1 -1
- package/dist/services/projects/ProjectTypeService.js.map +1 -1
- package/dist/services/projects/ResourceTypeService.d.ts.map +1 -1
- package/dist/services/projects/ResourceTypeService.js +1 -1
- package/dist/services/projects/ResourceTypeService.js.map +1 -1
- package/dist/services/projects/TaskDependencyService.d.ts.map +1 -1
- package/dist/services/projects/TaskDependencyService.js +1 -1
- package/dist/services/projects/TaskDependencyService.js.map +1 -1
- package/dist/services/projects/TaskTimeLogService.d.ts.map +1 -1
- package/dist/services/projects/TaskTimeLogService.js +1 -1
- package/dist/services/projects/TaskTimeLogService.js.map +1 -1
- package/dist/services/users/AuditService.d.ts.map +1 -1
- package/dist/services/users/AuditService.js +1 -1
- package/dist/services/users/AuditService.js.map +1 -1
- package/dist/services/users/AuthService.d.ts.map +1 -1
- package/dist/services/users/AuthService.js +5 -2
- package/dist/services/users/AuthService.js.map +1 -1
- package/dist/services/users/RightService.d.ts.map +1 -1
- package/dist/services/users/RightService.js +1 -1
- package/dist/services/users/RightService.js.map +1 -1
- package/dist/services/users/RoleService.d.ts.map +1 -1
- package/dist/services/users/RoleService.js +1 -1
- package/dist/services/users/RoleService.js.map +1 -1
- package/dist/services/users/UserPreferencesService.d.ts.map +1 -1
- package/dist/services/users/UserPreferencesService.js +1 -1
- package/dist/services/users/UserPreferencesService.js.map +1 -1
- package/dist/services/users/UserPushDeviceService.d.ts.map +1 -1
- package/dist/services/users/UserPushDeviceService.js +1 -1
- package/dist/services/users/UserPushDeviceService.js.map +1 -1
- package/dist/services/users/UserService.d.ts.map +1 -1
- package/dist/services/users/UserService.js +1 -1
- package/dist/services/users/UserService.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -51,11 +51,11 @@ Official TypeScript/JavaScript SDK for the CCMS (Church/Community Management Sys
|
|
|
51
51
|
## Installation
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
npm install @ccms
|
|
54
|
+
npm install @actschurch/ccms-sdk
|
|
55
55
|
# or
|
|
56
|
-
yarn add @ccms
|
|
56
|
+
yarn add @actschurch/ccms-sdk
|
|
57
57
|
# or
|
|
58
|
-
pnpm add @ccms
|
|
58
|
+
pnpm add @actschurch/ccms-sdk
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
### Peer Dependencies
|
|
@@ -72,7 +72,7 @@ npm install react@^18.0.0
|
|
|
72
72
|
### Basic Setup (Vanilla JavaScript/TypeScript)
|
|
73
73
|
|
|
74
74
|
```typescript
|
|
75
|
-
import { HttpClient, AuthManager, LocalStorageAdapter } from '@ccms
|
|
75
|
+
import { HttpClient, AuthManager, LocalStorageAdapter } from '@actschurch/ccms-sdk';
|
|
76
76
|
|
|
77
77
|
// Create HTTP client
|
|
78
78
|
const http = new HttpClient({
|
|
@@ -101,7 +101,7 @@ const response = await http.get('/api/members');
|
|
|
101
101
|
### React Setup
|
|
102
102
|
|
|
103
103
|
```tsx
|
|
104
|
-
import { CCMSProvider, useCCMS, useAuth } from '@ccms
|
|
104
|
+
import { CCMSProvider, useCCMS, useAuth } from '@actschurch/ccms-sdk';
|
|
105
105
|
|
|
106
106
|
// Wrap your app with CCMSProvider
|
|
107
107
|
function App() {
|
|
@@ -144,7 +144,7 @@ function Dashboard() {
|
|
|
144
144
|
The `HttpClient` is the foundation for all API communication. It handles request/response interceptors, authentication headers, and error handling.
|
|
145
145
|
|
|
146
146
|
```typescript
|
|
147
|
-
import { HttpClient } from '@ccms
|
|
147
|
+
import { HttpClient } from '@actschurch/ccms-sdk';
|
|
148
148
|
|
|
149
149
|
const http = new HttpClient({
|
|
150
150
|
baseUrl: 'https://api.yourccms.com',
|
|
@@ -214,7 +214,7 @@ http.interceptors.response.use(
|
|
|
214
214
|
The `AuthManager` handles the complete authentication flow including login, logout, token refresh, and session persistence.
|
|
215
215
|
|
|
216
216
|
```typescript
|
|
217
|
-
import { AuthManager, LocalStorageAdapter, MemoryStorageAdapter } from '@ccms
|
|
217
|
+
import { AuthManager, LocalStorageAdapter, MemoryStorageAdapter } from '@actschurch/ccms-sdk';
|
|
218
218
|
|
|
219
219
|
// Create auth manager
|
|
220
220
|
const authManager = new AuthManager(http, {
|
|
@@ -288,7 +288,7 @@ import {
|
|
|
288
288
|
SecureStorageAdapter, // React Native - secure storage
|
|
289
289
|
CookieStorageAdapter, // SSR/universal apps
|
|
290
290
|
GenericStorageAuthAdapter, // Custom storage
|
|
291
|
-
} from '@ccms
|
|
291
|
+
} from '@actschurch/ccms-sdk';
|
|
292
292
|
|
|
293
293
|
// React Native with AsyncStorage
|
|
294
294
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
@@ -309,7 +309,7 @@ const storage = new LocalStorageAdapter('my_app_auth');
|
|
|
309
309
|
The `PermissionManager` handles feature-based access control using roles and permissions.
|
|
310
310
|
|
|
311
311
|
```typescript
|
|
312
|
-
import { PermissionManager, defineFeature, requires } from '@ccms
|
|
312
|
+
import { PermissionManager, defineFeature, requires } from '@actschurch/ccms-sdk';
|
|
313
313
|
|
|
314
314
|
// Create permission manager
|
|
315
315
|
const permissions = new PermissionManager({
|
|
@@ -404,7 +404,7 @@ Track user presence and status across the platform with automatic activity detec
|
|
|
404
404
|
**Available Statuses:** `Online`, `Away`, `Busy`, `Offline`
|
|
405
405
|
|
|
406
406
|
```tsx
|
|
407
|
-
import { PresenceProvider, usePresence, useUserPresence, useOnlineUsers, usePresenceStatus, PresenceStatus } from '@ccms
|
|
407
|
+
import { PresenceProvider, usePresence, useUserPresence, useOnlineUsers, usePresenceStatus, PresenceStatus } from '@actschurch/ccms-sdk/realtime/presence';
|
|
408
408
|
|
|
409
409
|
// Setup in your app root with auto-connection management
|
|
410
410
|
function App() {
|
|
@@ -490,7 +490,7 @@ import {
|
|
|
490
490
|
useApiLogs,
|
|
491
491
|
useQueryLogs,
|
|
492
492
|
useDashboard,
|
|
493
|
-
} from '@ccms
|
|
493
|
+
} from '@actschurch/ccms-sdk/realtime/logs';
|
|
494
494
|
|
|
495
495
|
// Application logs with filtering and event handling
|
|
496
496
|
function LogsViewer() {
|
|
@@ -685,12 +685,12 @@ The old `RealtimeClient` is deprecated. Migrate to the new SignalR-based modules
|
|
|
685
685
|
|
|
686
686
|
```typescript
|
|
687
687
|
// Old (deprecated)
|
|
688
|
-
import { RealtimeClient } from '@ccms
|
|
688
|
+
import { RealtimeClient } from '@actschurch/ccms-sdk';
|
|
689
689
|
const realtime = new RealtimeClient(config);
|
|
690
690
|
realtime.updatePresence('Online');
|
|
691
691
|
|
|
692
692
|
// New (recommended)
|
|
693
|
-
import { usePresence } from '@ccms
|
|
693
|
+
import { usePresence } from '@actschurch/ccms-sdk/realtime/presence';
|
|
694
694
|
const { updateStatus } = usePresence();
|
|
695
695
|
updateStatus(PresenceStatus.Online);
|
|
696
696
|
```
|
|
@@ -702,7 +702,7 @@ updateStatus(PresenceStatus.Online);
|
|
|
702
702
|
The SDK provides comprehensive error handling utilities.
|
|
703
703
|
|
|
704
704
|
```typescript
|
|
705
|
-
import { ErrorHandler, CCMSError } from '@ccms
|
|
705
|
+
import { ErrorHandler, CCMSError } from '@actschurch/ccms-sdk';
|
|
706
706
|
|
|
707
707
|
// Create error handler
|
|
708
708
|
const errorHandler = new ErrorHandler({
|
|
@@ -737,7 +737,7 @@ throw new CCMSError('Something went wrong', {
|
|
|
737
737
|
Wrap your application with `CCMSProvider`:
|
|
738
738
|
|
|
739
739
|
```tsx
|
|
740
|
-
import { CCMSProvider } from '@ccms
|
|
740
|
+
import { CCMSProvider } from '@actschurch/ccms-sdk';
|
|
741
741
|
|
|
742
742
|
function App() {
|
|
743
743
|
return (
|
|
@@ -769,7 +769,7 @@ import {
|
|
|
769
769
|
useHttpClient,
|
|
770
770
|
useRealtime,
|
|
771
771
|
usePermissions,
|
|
772
|
-
} from '@ccms
|
|
772
|
+
} from '@actschurch/ccms-sdk';
|
|
773
773
|
|
|
774
774
|
function MyComponent() {
|
|
775
775
|
// Access full SDK context
|
|
@@ -785,7 +785,7 @@ function MyComponent() {
|
|
|
785
785
|
#### Authentication Hooks
|
|
786
786
|
|
|
787
787
|
```tsx
|
|
788
|
-
import { useAuth, useIsAuthenticated, useUser, useHasRole, useHasRight } from '@ccms
|
|
788
|
+
import { useAuth, useIsAuthenticated, useUser, useHasRole, useHasRight } from '@actschurch/ccms-sdk';
|
|
789
789
|
|
|
790
790
|
function Profile() {
|
|
791
791
|
const { user, isAuthenticated, isLoading, login, logout } = useAuth();
|
|
@@ -812,7 +812,7 @@ function Profile() {
|
|
|
812
812
|
#### API Hooks
|
|
813
813
|
|
|
814
814
|
```tsx
|
|
815
|
-
import { useQuery, useMutation, useInfiniteQuery, usePrefetch } from '@ccms
|
|
815
|
+
import { useQuery, useMutation, useInfiniteQuery, usePrefetch } from '@actschurch/ccms-sdk';
|
|
816
816
|
|
|
817
817
|
function MemberList() {
|
|
818
818
|
// Fetch data
|
|
@@ -868,7 +868,7 @@ import {
|
|
|
868
868
|
usePresenceStatus,
|
|
869
869
|
useOnlineUsers,
|
|
870
870
|
useUserPresence,
|
|
871
|
-
} from '@ccms
|
|
871
|
+
} from '@actschurch/ccms-sdk/realtime/presence';
|
|
872
872
|
|
|
873
873
|
function ChatRoom() {
|
|
874
874
|
// Main presence hook
|
|
@@ -906,7 +906,7 @@ import {
|
|
|
906
906
|
useApiLogs,
|
|
907
907
|
useQueryLogs,
|
|
908
908
|
useDashboard,
|
|
909
|
-
} from '@ccms
|
|
909
|
+
} from '@actschurch/ccms-sdk/realtime/logs';
|
|
910
910
|
|
|
911
911
|
function LogMonitor() {
|
|
912
912
|
// Application logs
|
|
@@ -948,7 +948,7 @@ function LogMonitor() {
|
|
|
948
948
|
// ⚠️ DEPRECATED: These hooks are deprecated and will be removed in v2.0.0
|
|
949
949
|
// Use the new hooks above instead
|
|
950
950
|
|
|
951
|
-
import { useRealtimeEvent, useConnectionState } from '@ccms
|
|
951
|
+
import { useRealtimeEvent, useConnectionState } from '@actschurch/ccms-sdk';
|
|
952
952
|
|
|
953
953
|
function OldComponent() {
|
|
954
954
|
const connectionState = useConnectionState(); // Use usePresence() instead
|
|
@@ -975,7 +975,7 @@ import {
|
|
|
975
975
|
useClipboard,
|
|
976
976
|
useClickOutside,
|
|
977
977
|
useKeyPress,
|
|
978
|
-
} from '@ccms
|
|
978
|
+
} from '@actschurch/ccms-sdk';
|
|
979
979
|
|
|
980
980
|
function SearchComponent() {
|
|
981
981
|
const [search, setSearch] = useState('');
|
|
@@ -1015,7 +1015,7 @@ function SearchComponent() {
|
|
|
1015
1015
|
#### Permission Components
|
|
1016
1016
|
|
|
1017
1017
|
```tsx
|
|
1018
|
-
import { Can, RequireAuth, RequireRole, RequireRight } from '@ccms
|
|
1018
|
+
import { Can, RequireAuth, RequireRole, RequireRight } from '@actschurch/ccms-sdk';
|
|
1019
1019
|
|
|
1020
1020
|
function App() {
|
|
1021
1021
|
return (
|
|
@@ -1055,7 +1055,7 @@ function Dashboard() {
|
|
|
1055
1055
|
#### Error Boundary
|
|
1056
1056
|
|
|
1057
1057
|
```tsx
|
|
1058
|
-
import { ErrorBoundary } from '@ccms
|
|
1058
|
+
import { ErrorBoundary } from '@actschurch/ccms-sdk';
|
|
1059
1059
|
|
|
1060
1060
|
function App() {
|
|
1061
1061
|
return (
|
|
@@ -1084,7 +1084,7 @@ function App() {
|
|
|
1084
1084
|
// In your app entry point (App.tsx or index.js)
|
|
1085
1085
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
1086
1086
|
import NetInfo from '@react-native-community/netinfo';
|
|
1087
|
-
import { setGlobalStorage, setGlobalNetworkStatus } from '@ccms
|
|
1087
|
+
import { setGlobalStorage, setGlobalNetworkStatus } from '@actschurch/ccms-sdk';
|
|
1088
1088
|
|
|
1089
1089
|
// Configure storage (do this before using any SDK features)
|
|
1090
1090
|
setGlobalStorage(AsyncStorage);
|
|
@@ -1107,7 +1107,7 @@ setGlobalNetworkStatus({
|
|
|
1107
1107
|
|
|
1108
1108
|
```typescript
|
|
1109
1109
|
import * as SecureStore from 'expo-secure-store';
|
|
1110
|
-
import { SecureStorageAdapter, AuthManager } from '@ccms
|
|
1110
|
+
import { SecureStorageAdapter, AuthManager } from '@actschurch/ccms-sdk';
|
|
1111
1111
|
|
|
1112
1112
|
const authManager = new AuthManager(http, {
|
|
1113
1113
|
storage: new SecureStorageAdapter(SecureStore),
|
|
@@ -1149,7 +1149,7 @@ For detailed information about the service architecture and how to create custom
|
|
|
1149
1149
|
### Using Services
|
|
1150
1150
|
|
|
1151
1151
|
```typescript
|
|
1152
|
-
import { MemberService, TaskService } from '@ccms
|
|
1152
|
+
import { MemberService, TaskService } from '@actschurch/ccms-sdk';
|
|
1153
1153
|
|
|
1154
1154
|
// Initialize services with HTTP client
|
|
1155
1155
|
const memberService = new MemberService(http);
|
|
@@ -1211,7 +1211,7 @@ import {
|
|
|
1211
1211
|
useFeedbackServices,
|
|
1212
1212
|
useSystemServices,
|
|
1213
1213
|
useGeneratorsServices,
|
|
1214
|
-
} from '@ccms
|
|
1214
|
+
} from '@actschurch/ccms-sdk';
|
|
1215
1215
|
|
|
1216
1216
|
function TaskList() {
|
|
1217
1217
|
const { task, taskStatus, taskPriority } = useTaskServices();
|
|
@@ -1263,7 +1263,7 @@ function MeetingScheduler() {
|
|
|
1263
1263
|
You can create custom services by extending the base service class:
|
|
1264
1264
|
|
|
1265
1265
|
```typescript
|
|
1266
|
-
import { BaseService } from '@ccms
|
|
1266
|
+
import { BaseService } from '@actschurch/ccms-sdk';
|
|
1267
1267
|
|
|
1268
1268
|
class CustomService extends BaseService {
|
|
1269
1269
|
constructor(http: HttpClient) {
|
|
@@ -1369,7 +1369,7 @@ import {
|
|
|
1369
1369
|
getInitials,
|
|
1370
1370
|
pluralize,
|
|
1371
1371
|
similarity,
|
|
1372
|
-
} from '@ccms
|
|
1372
|
+
} from '@actschurch/ccms-sdk';
|
|
1373
1373
|
|
|
1374
1374
|
capitalize('hello world'); // "Hello world"
|
|
1375
1375
|
toCamelCase('hello-world'); // "helloWorld"
|
|
@@ -1395,7 +1395,7 @@ import {
|
|
|
1395
1395
|
toOrdinal,
|
|
1396
1396
|
formatFileSize,
|
|
1397
1397
|
formatDurationFromSeconds,
|
|
1398
|
-
} from '@ccms
|
|
1398
|
+
} from '@actschurch/ccms-sdk';
|
|
1399
1399
|
|
|
1400
1400
|
formatCurrency(1234.56, 'USD'); // "$1,234.56"
|
|
1401
1401
|
formatNumber(1234567); // "1,234,567"
|
|
@@ -1424,7 +1424,7 @@ import {
|
|
|
1424
1424
|
fromNow,
|
|
1425
1425
|
toUnix,
|
|
1426
1426
|
fromUnix,
|
|
1427
|
-
} from '@ccms
|
|
1427
|
+
} from '@actschurch/ccms-sdk';
|
|
1428
1428
|
|
|
1429
1429
|
formatDate(new Date(), 'YYYY-MM-DD'); // "2024-01-15"
|
|
1430
1430
|
addDays(new Date(), 7); // Date 7 days from now
|
|
@@ -1450,7 +1450,7 @@ import {
|
|
|
1450
1450
|
union,
|
|
1451
1451
|
flatten,
|
|
1452
1452
|
moveItem,
|
|
1453
|
-
} from '@ccms
|
|
1453
|
+
} from '@actschurch/ccms-sdk';
|
|
1454
1454
|
|
|
1455
1455
|
unique([1, 2, 2, 3]); // [1, 2, 3]
|
|
1456
1456
|
uniqueBy(users, 'email'); // Remove duplicates by email
|
|
@@ -1479,7 +1479,7 @@ import {
|
|
|
1479
1479
|
isEmpty,
|
|
1480
1480
|
mapValues,
|
|
1481
1481
|
filterObject,
|
|
1482
|
-
} from '@ccms
|
|
1482
|
+
} from '@actschurch/ccms-sdk';
|
|
1483
1483
|
|
|
1484
1484
|
deepClone(complexObject);
|
|
1485
1485
|
deepMerge(defaults, userConfig);
|
|
@@ -1510,7 +1510,7 @@ import {
|
|
|
1510
1510
|
validatePassword,
|
|
1511
1511
|
validateUsername,
|
|
1512
1512
|
validateAll,
|
|
1513
|
-
} from '@ccms
|
|
1513
|
+
} from '@actschurch/ccms-sdk';
|
|
1514
1514
|
|
|
1515
1515
|
isEmail('test@example.com'); // true
|
|
1516
1516
|
isPhoneNumber('+1-555-123-4567'); // true
|
|
@@ -1544,7 +1544,7 @@ import {
|
|
|
1544
1544
|
isLightColor,
|
|
1545
1545
|
mix,
|
|
1546
1546
|
generatePalette,
|
|
1547
|
-
} from '@ccms
|
|
1547
|
+
} from '@actschurch/ccms-sdk';
|
|
1548
1548
|
|
|
1549
1549
|
hexToRgb('#ff5500'); // { r: 255, g: 85, b: 0 }
|
|
1550
1550
|
rgbToHex(255, 85, 0); // "#ff5500"
|
|
@@ -1570,7 +1570,7 @@ import {
|
|
|
1570
1570
|
isIOS,
|
|
1571
1571
|
isAndroid,
|
|
1572
1572
|
getBrowserInfo,
|
|
1573
|
-
} from '@ccms
|
|
1573
|
+
} from '@actschurch/ccms-sdk';
|
|
1574
1574
|
|
|
1575
1575
|
if (isProduction()) {
|
|
1576
1576
|
// Production-only code
|
|
@@ -1606,7 +1606,7 @@ import {
|
|
|
1606
1606
|
getCurrentBreakpoint,
|
|
1607
1607
|
isAtLeast,
|
|
1608
1608
|
isAtMost,
|
|
1609
|
-
} from '@ccms
|
|
1609
|
+
} from '@actschurch/ccms-sdk';
|
|
1610
1610
|
|
|
1611
1611
|
const screen = getScreenInfo(); // { width, height, pixelRatio, orientation }
|
|
1612
1612
|
const device = getDeviceType(); // 'phone' | 'tablet' | 'desktop'
|
|
@@ -1639,7 +1639,7 @@ import {
|
|
|
1639
1639
|
fetchWithRetry,
|
|
1640
1640
|
createQueryString,
|
|
1641
1641
|
buildUrl,
|
|
1642
|
-
} from '@ccms
|
|
1642
|
+
} from '@actschurch/ccms-sdk';
|
|
1643
1643
|
|
|
1644
1644
|
// Create responses
|
|
1645
1645
|
const success = createSuccessResponse(data, 'Operation successful');
|
|
@@ -1684,7 +1684,7 @@ import {
|
|
|
1684
1684
|
ValidationError,
|
|
1685
1685
|
NetworkError,
|
|
1686
1686
|
TimeoutError,
|
|
1687
|
-
} from '@ccms
|
|
1687
|
+
} from '@actschurch/ccms-sdk';
|
|
1688
1688
|
|
|
1689
1689
|
// Safe execution with fallback
|
|
1690
1690
|
const result = safeTry(() => JSON.parse(input), {});
|
|
@@ -1750,7 +1750,7 @@ import {
|
|
|
1750
1750
|
Address,
|
|
1751
1751
|
|
|
1752
1752
|
// And many more...
|
|
1753
|
-
} from '@ccms
|
|
1753
|
+
} from '@actschurch/ccms-sdk';
|
|
1754
1754
|
```
|
|
1755
1755
|
|
|
1756
1756
|
---
|
|
@@ -1768,7 +1768,7 @@ import {
|
|
|
1768
1768
|
createMockUser,
|
|
1769
1769
|
createMockPagedResult,
|
|
1770
1770
|
TestProvider,
|
|
1771
|
-
} from '@ccms
|
|
1771
|
+
} from '@actschurch/ccms-sdk/testing';
|
|
1772
1772
|
|
|
1773
1773
|
// In your tests
|
|
1774
1774
|
describe('MyComponent', () => {
|
|
@@ -1950,10 +1950,10 @@ The original `RealtimeClient` and related hooks are deprecated and will be remov
|
|
|
1950
1950
|
|
|
1951
1951
|
| Old API | New API | Module |
|
|
1952
1952
|
|---------|---------|--------|
|
|
1953
|
-
| `RealtimeClient` | `PresenceClient`, `ApplicationLogsClient`, etc. | `@ccms
|
|
1954
|
-
| `useConnectionState()` | `usePresence().state` | `@ccms
|
|
1955
|
-
| `usePresence()` | `usePresence()` (new API) | `@ccms
|
|
1956
|
-
| `useRealtimeEvent()` | `useApplicationLogs()`, `useApiLogs()`, etc. | `@ccms
|
|
1953
|
+
| `RealtimeClient` | `PresenceClient`, `ApplicationLogsClient`, etc. | `@actschurch/ccms-sdk/realtime/*` |
|
|
1954
|
+
| `useConnectionState()` | `usePresence().state` | `@actschurch/ccms-sdk/realtime/presence` |
|
|
1955
|
+
| `usePresence()` | `usePresence()` (new API) | `@actschurch/ccms-sdk/realtime/presence` |
|
|
1956
|
+
| `useRealtimeEvent()` | `useApplicationLogs()`, `useApiLogs()`, etc. | `@actschurch/ccms-sdk/realtime/logs` |
|
|
1957
1957
|
|
|
1958
1958
|
For detailed migration instructions, see the [Realtime Module Documentation](src/realtime/README.md#migration-guide).
|
|
1959
1959
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthManager.d.ts","sourceRoot":"","sources":["../../src/auth/AuthManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"AuthManager.d.ts","sourceRoot":"","sources":["../../src/auth/AuthManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAG9E,OAAO,EACL,SAAS,EAET,iBAAiB,EAEjB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAsH;IACpI,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAA6C;gBAEvD,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,iBAAsB;IAY5D;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAShD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA6ChD;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBzD;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;YAyBzD,cAAc;IAsB5B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB7B;;OAEG;IACH,QAAQ,IAAI,SAAS;IAIrB;;OAEG;IACH,OAAO,IAAI,YAAY,GAAG,IAAI;IAI9B;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAK9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKhC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAIpC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAIrC;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI;IAK3D;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IASlD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAShD;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,IAAI,IAAI;YAQD,iBAAiB;IAa/B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,QAAQ;CAgBjB"}
|
package/dist/auth/AuthManager.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* AuthManager
|
|
3
3
|
* Core authentication manager with automatic token refresh
|
|
4
4
|
*/
|
|
5
|
+
import { AuthService } from '../services/users/AuthService';
|
|
5
6
|
import { initialAuthState, authReducer, } from './types';
|
|
6
7
|
/**
|
|
7
8
|
* AuthManager
|
|
@@ -16,6 +17,7 @@ export class AuthManager {
|
|
|
16
17
|
this.isRefreshing = false;
|
|
17
18
|
this.refreshPromise = null;
|
|
18
19
|
this.http = http;
|
|
20
|
+
this.authService = new AuthService(http);
|
|
19
21
|
this.config = {
|
|
20
22
|
refreshThresholdSeconds: 60,
|
|
21
23
|
autoRefresh: true,
|
|
@@ -85,11 +87,11 @@ export class AuthManager {
|
|
|
85
87
|
async login(request) {
|
|
86
88
|
this.dispatch({ type: 'LOGIN_START' });
|
|
87
89
|
try {
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
const user = await this.authService.login({
|
|
91
|
+
email: request.email,
|
|
92
|
+
password: request.password,
|
|
93
|
+
rememberMe: request.rememberMe ?? false,
|
|
94
|
+
});
|
|
93
95
|
await this.handleAuthSuccess(user);
|
|
94
96
|
this.dispatch({ type: 'LOGIN_SUCCESS', payload: user });
|
|
95
97
|
this.config.onLogin?.(user);
|
|
@@ -131,11 +133,9 @@ export class AuthManager {
|
|
|
131
133
|
async doRefreshToken(request) {
|
|
132
134
|
this.dispatch({ type: 'REFRESH_START' });
|
|
133
135
|
try {
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
const user = response.data;
|
|
136
|
+
const user = await this.authService.refreshToken({
|
|
137
|
+
refreshToken: request.refreshToken,
|
|
138
|
+
});
|
|
139
139
|
await this.handleAuthSuccess(user);
|
|
140
140
|
this.dispatch({ type: 'REFRESH_SUCCESS', payload: user });
|
|
141
141
|
this.config.onRefresh?.(user);
|
|
@@ -155,7 +155,7 @@ export class AuthManager {
|
|
|
155
155
|
this.stopAutoRefresh();
|
|
156
156
|
try {
|
|
157
157
|
// Call logout endpoint
|
|
158
|
-
await this.
|
|
158
|
+
await this.authService.logout();
|
|
159
159
|
}
|
|
160
160
|
catch {
|
|
161
161
|
// Ignore logout API errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthManager.js","sourceRoot":"","sources":["../../src/auth/AuthManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAQL,gBAAgB,EAChB,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"AuthManager.js","sourceRoot":"","sources":["../../src/auth/AuthManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/auth/adapters/context.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,EAAyE,SAAS,EAAE,MAAM,OAAO,CAAC;AAChH,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EAGZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,WAAW,CAAC;IAErB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxF,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;CAC3C;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,iCAA+C,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,OAAO,EACP,uBAA4B,EAC5B,WAAkB,EAClB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/auth/adapters/context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,20 @@ export const AuthContext = createContext(null);
|
|
|
15
15
|
*/
|
|
16
16
|
export function AuthProvider({ children, httpClient, storage, refreshThresholdSeconds = 60, autoRefresh = true, onLogin, onLogout, onRefresh, onError, }) {
|
|
17
17
|
const [state, dispatch] = useReducer(authReducer, initialAuthState);
|
|
18
|
+
const stateRef = useRef(state);
|
|
18
19
|
const managerRef = useRef(null);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const inititalizedRef = useRef(false);
|
|
21
|
+
// Keep stateRef in sync with state
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
stateRef.current = state;
|
|
24
|
+
}, [state]);
|
|
25
|
+
// Initialize manager in useEffect (only runs once, even in Strict Mode)
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (inititalizedRef.current) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
inititalizedRef.current = true;
|
|
31
|
+
const newManager = new AuthManager(httpClient, {
|
|
22
32
|
storage,
|
|
23
33
|
refreshThresholdSeconds,
|
|
24
34
|
autoRefresh,
|
|
@@ -27,35 +37,43 @@ export function AuthProvider({ children, httpClient, storage, refreshThresholdSe
|
|
|
27
37
|
onRefresh,
|
|
28
38
|
onError,
|
|
29
39
|
});
|
|
30
|
-
// Connect state adapter
|
|
40
|
+
// Connect state adapter - use stateRef.current to get fresh state
|
|
31
41
|
const adapter = {
|
|
32
|
-
getState: () =>
|
|
42
|
+
getState: () => stateRef.current,
|
|
33
43
|
setState: () => { }, // Not used with dispatch
|
|
34
44
|
subscribe: () => () => { },
|
|
35
|
-
dispatch,
|
|
45
|
+
dispatch: (action) => dispatch(action),
|
|
36
46
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
useEffect(() => {
|
|
42
|
-
manager.initialize();
|
|
47
|
+
newManager.connectStateAdapter(adapter);
|
|
48
|
+
managerRef.current = newManager;
|
|
49
|
+
// Initialize auth from storage
|
|
50
|
+
newManager.initialize();
|
|
43
51
|
return () => {
|
|
44
|
-
manager
|
|
52
|
+
// DON'T destroy manager in cleanup - it's needed for the app lifecycle
|
|
53
|
+
// Only cleanup if component is truly unmounting (not Strict Mode)
|
|
45
54
|
};
|
|
46
|
-
}, [
|
|
55
|
+
}, []); // Empty deps - only run once
|
|
47
56
|
// Login
|
|
48
57
|
const login = useCallback(async (email, password, rememberMe = false) => {
|
|
49
|
-
|
|
50
|
-
|
|
58
|
+
if (!managerRef.current) {
|
|
59
|
+
throw new Error('AuthManager not initialized');
|
|
60
|
+
}
|
|
61
|
+
return managerRef.current.login({ email, password, rememberMe });
|
|
62
|
+
}, []);
|
|
51
63
|
// Logout
|
|
52
64
|
const logout = useCallback(async () => {
|
|
53
|
-
|
|
54
|
-
|
|
65
|
+
if (!managerRef.current) {
|
|
66
|
+
throw new Error('AuthManager not initialized');
|
|
67
|
+
}
|
|
68
|
+
return managerRef.current.logout();
|
|
69
|
+
}, []);
|
|
55
70
|
// Refresh
|
|
56
71
|
const refresh = useCallback(async () => {
|
|
57
|
-
|
|
58
|
-
|
|
72
|
+
if (!managerRef.current) {
|
|
73
|
+
throw new Error('AuthManager not initialized');
|
|
74
|
+
}
|
|
75
|
+
return managerRef.current.forceRefresh();
|
|
76
|
+
}, []);
|
|
59
77
|
// Role check
|
|
60
78
|
const hasRole = useCallback((role) => {
|
|
61
79
|
return state.user?.roles?.includes(role) ?? false;
|
|
@@ -75,7 +93,7 @@ export function AuthProvider({ children, httpClient, storage, refreshThresholdSe
|
|
|
75
93
|
const contextValue = {
|
|
76
94
|
state,
|
|
77
95
|
dispatch,
|
|
78
|
-
manager,
|
|
96
|
+
manager: managerRef.current,
|
|
79
97
|
login,
|
|
80
98
|
logout,
|
|
81
99
|
refresh,
|
|
@@ -84,6 +102,10 @@ export function AuthProvider({ children, httpClient, storage, refreshThresholdSe
|
|
|
84
102
|
hasAnyRole,
|
|
85
103
|
hasAllRoles,
|
|
86
104
|
};
|
|
105
|
+
// Don't render children until manager is initialized
|
|
106
|
+
if (!managerRef.current) {
|
|
107
|
+
return React.createElement(React.Fragment, null);
|
|
108
|
+
}
|
|
87
109
|
return (React.createElement(AuthContext.Provider, { value: contextValue }, children));
|
|
88
110
|
}
|
|
89
111
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/auth/adapters/context.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAa,MAAM,OAAO,CAAC;AAChH,OAAO,EAIL,gBAAgB,EAChB,WAAW,GAEZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAoB7C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAA0B,IAAI,CAAC,CAAC;AAiBxE;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,OAAO,EACP,uBAAuB,GAAG,EAAE,EAC5B,WAAW,GAAG,IAAI,EAClB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,OAAO,GACW;IAClB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/auth/adapters/context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresenceProvider.d.ts","sourceRoot":"","sources":["../../../src/realtime/presence/PresenceProvider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAGL,qBAAqB,EAItB,MAAM,SAAS,CAAC;AAyFjB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,OAAY,EACZ,kBAAkB,EAClB,iBAAiB,GAClB,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"PresenceProvider.d.ts","sourceRoot":"","sources":["../../../src/realtime/presence/PresenceProvider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAGL,qBAAqB,EAItB,MAAM,SAAS,CAAC;AAyFjB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,OAAY,EACZ,kBAAkB,EAClB,iBAAiB,GAClB,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAqMrC"}
|