@edgebasejs/react-native 0.1.8 → 0.1.9

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.
Files changed (145) hide show
  1. package/README.md +18 -0
  2. package/dist/client-core/src/index.d.ts +4 -0
  3. package/dist/client-core/src/index.d.ts.map +1 -1
  4. package/dist/client-core/src/index.js +4 -0
  5. package/dist/client-core/src/index.js.map +1 -1
  6. package/dist/client-core/src/mutations/batch-processor-client.d.ts +67 -0
  7. package/dist/client-core/src/mutations/batch-processor-client.d.ts.map +1 -0
  8. package/dist/client-core/src/mutations/batch-processor-client.js +64 -0
  9. package/dist/client-core/src/mutations/batch-processor-client.js.map +1 -0
  10. package/dist/client-core/src/mutations/transaction-hook.d.ts +80 -0
  11. package/dist/client-core/src/mutations/transaction-hook.d.ts.map +1 -0
  12. package/dist/client-core/src/mutations/transaction-hook.js +204 -0
  13. package/dist/client-core/src/mutations/transaction-hook.js.map +1 -0
  14. package/dist/client-core/src/realtime/realtime-sync-manager.d.ts +55 -0
  15. package/dist/client-core/src/realtime/realtime-sync-manager.d.ts.map +1 -0
  16. package/dist/client-core/src/realtime/realtime-sync-manager.js +208 -0
  17. package/dist/client-core/src/realtime/realtime-sync-manager.js.map +1 -0
  18. package/dist/client-core/src/realtime/subscription-handler.d.ts +74 -0
  19. package/dist/client-core/src/realtime/subscription-handler.d.ts.map +1 -0
  20. package/dist/client-core/src/realtime/subscription-handler.js +224 -0
  21. package/dist/client-core/src/realtime/subscription-handler.js.map +1 -0
  22. package/dist/client-core/src/sync/sync-engine.d.ts +10 -0
  23. package/dist/client-core/src/sync/sync-engine.d.ts.map +1 -1
  24. package/dist/client-core/src/sync/sync-engine.js +37 -5
  25. package/dist/client-core/src/sync/sync-engine.js.map +1 -1
  26. package/dist/client-react-native/src/hooks/index.d.ts +10 -0
  27. package/dist/client-react-native/src/hooks/index.d.ts.map +1 -1
  28. package/dist/client-react-native/src/hooks/index.js +8 -0
  29. package/dist/client-react-native/src/hooks/index.js.map +1 -1
  30. package/dist/client-react-native/src/hooks/use-audit.d.ts +65 -0
  31. package/dist/client-react-native/src/hooks/use-audit.d.ts.map +1 -0
  32. package/dist/client-react-native/src/hooks/use-audit.js +201 -0
  33. package/dist/client-react-native/src/hooks/use-audit.js.map +1 -0
  34. package/dist/client-react-native/src/hooks/use-batch-mutation.d.ts +56 -0
  35. package/dist/client-react-native/src/hooks/use-batch-mutation.d.ts.map +1 -0
  36. package/dist/client-react-native/src/hooks/use-batch-mutation.js +95 -0
  37. package/dist/client-react-native/src/hooks/use-batch-mutation.js.map +1 -0
  38. package/dist/client-react-native/src/hooks/use-encryption.d.ts +45 -0
  39. package/dist/client-react-native/src/hooks/use-encryption.d.ts.map +1 -0
  40. package/dist/client-react-native/src/hooks/use-encryption.js +143 -0
  41. package/dist/client-react-native/src/hooks/use-encryption.js.map +1 -0
  42. package/dist/client-react-native/src/hooks/use-file-manager.d.ts +38 -0
  43. package/dist/client-react-native/src/hooks/use-file-manager.d.ts.map +1 -0
  44. package/dist/client-react-native/src/hooks/use-file-manager.js +174 -0
  45. package/dist/client-react-native/src/hooks/use-file-manager.js.map +1 -0
  46. package/dist/client-react-native/src/hooks/use-file-upload.d.ts +34 -0
  47. package/dist/client-react-native/src/hooks/use-file-upload.d.ts.map +1 -0
  48. package/dist/client-react-native/src/hooks/use-file-upload.js +85 -0
  49. package/dist/client-react-native/src/hooks/use-file-upload.js.map +1 -0
  50. package/dist/client-react-native/src/hooks/use-mutation.d.ts.map +1 -1
  51. package/dist/client-react-native/src/hooks/use-mutation.js +34 -6
  52. package/dist/client-react-native/src/hooks/use-mutation.js.map +1 -1
  53. package/dist/client-react-native/src/hooks/use-search.d.ts +33 -0
  54. package/dist/client-react-native/src/hooks/use-search.d.ts.map +1 -0
  55. package/dist/client-react-native/src/hooks/use-search.js +174 -0
  56. package/dist/client-react-native/src/hooks/use-search.js.map +1 -0
  57. package/dist/client-react-native/src/hooks/use-subscribe.d.ts +14 -0
  58. package/dist/client-react-native/src/hooks/use-subscribe.d.ts.map +1 -0
  59. package/dist/client-react-native/src/hooks/use-subscribe.js +165 -0
  60. package/dist/client-react-native/src/hooks/use-subscribe.js.map +1 -0
  61. package/dist/client-react-native/src/hooks/use-transaction.d.ts +27 -0
  62. package/dist/client-react-native/src/hooks/use-transaction.d.ts.map +1 -0
  63. package/dist/client-react-native/src/hooks/use-transaction.js +160 -0
  64. package/dist/client-react-native/src/hooks/use-transaction.js.map +1 -0
  65. package/dist/client-react-native/src/provider.d.ts +5 -2
  66. package/dist/client-react-native/src/provider.d.ts.map +1 -1
  67. package/dist/client-react-native/src/provider.js +23 -23
  68. package/dist/client-react-native/src/provider.js.map +1 -1
  69. package/dist/core/src/access-rules/column-security.d.ts +80 -0
  70. package/dist/core/src/access-rules/column-security.d.ts.map +1 -0
  71. package/dist/core/src/access-rules/column-security.js +191 -0
  72. package/dist/core/src/access-rules/column-security.js.map +1 -0
  73. package/dist/core/src/access-rules/engine.d.ts +26 -0
  74. package/dist/core/src/access-rules/engine.d.ts.map +1 -0
  75. package/dist/core/src/access-rules/engine.js +76 -0
  76. package/dist/core/src/access-rules/engine.js.map +1 -0
  77. package/dist/core/src/access-rules/index.d.ts +3 -0
  78. package/dist/core/src/access-rules/index.d.ts.map +1 -0
  79. package/dist/core/src/access-rules/index.js +3 -0
  80. package/dist/core/src/access-rules/index.js.map +1 -0
  81. package/dist/core/src/audit/audit-manager.d.ts +108 -0
  82. package/dist/core/src/audit/audit-manager.d.ts.map +1 -0
  83. package/dist/core/src/audit/audit-manager.js +265 -0
  84. package/dist/core/src/audit/audit-manager.js.map +1 -0
  85. package/dist/core/src/auth/auth-service.d.ts +71 -0
  86. package/dist/core/src/auth/auth-service.d.ts.map +1 -0
  87. package/dist/core/src/auth/auth-service.js +177 -0
  88. package/dist/core/src/auth/auth-service.js.map +1 -0
  89. package/dist/core/src/auth/index.d.ts +4 -0
  90. package/dist/core/src/auth/index.d.ts.map +1 -0
  91. package/dist/core/src/auth/index.js +4 -0
  92. package/dist/core/src/auth/index.js.map +1 -0
  93. package/dist/core/src/encryption/encryption-manager.d.ts +97 -0
  94. package/dist/core/src/encryption/encryption-manager.d.ts.map +1 -0
  95. package/dist/core/src/encryption/encryption-manager.js +224 -0
  96. package/dist/core/src/encryption/encryption-manager.js.map +1 -0
  97. package/dist/core/src/index.d.ts +16 -0
  98. package/dist/core/src/index.d.ts.map +1 -0
  99. package/dist/core/src/index.js +16 -0
  100. package/dist/core/src/index.js.map +1 -0
  101. package/dist/core/src/realtime/change-notifier.d.ts +50 -0
  102. package/dist/core/src/realtime/change-notifier.d.ts.map +1 -0
  103. package/dist/core/src/realtime/change-notifier.js +145 -0
  104. package/dist/core/src/realtime/change-notifier.js.map +1 -0
  105. package/dist/core/src/realtime/message-types.d.ts +39 -0
  106. package/dist/core/src/realtime/message-types.d.ts.map +1 -0
  107. package/dist/core/src/realtime/message-types.js +5 -0
  108. package/dist/core/src/realtime/message-types.js.map +1 -0
  109. package/dist/core/src/realtime/subscription-manager.d.ts +67 -0
  110. package/dist/core/src/realtime/subscription-manager.d.ts.map +1 -0
  111. package/dist/core/src/realtime/subscription-manager.js +229 -0
  112. package/dist/core/src/realtime/subscription-manager.js.map +1 -0
  113. package/dist/core/src/search/search-manager.d.ts +93 -0
  114. package/dist/core/src/search/search-manager.d.ts.map +1 -0
  115. package/dist/core/src/search/search-manager.js +258 -0
  116. package/dist/core/src/search/search-manager.js.map +1 -0
  117. package/dist/core/src/storage/file-manager.d.ts +138 -0
  118. package/dist/core/src/storage/file-manager.d.ts.map +1 -0
  119. package/dist/core/src/storage/file-manager.js +224 -0
  120. package/dist/core/src/storage/file-manager.js.map +1 -0
  121. package/dist/core/src/sync/batch-processor.d.ts +97 -0
  122. package/dist/core/src/sync/batch-processor.d.ts.map +1 -0
  123. package/dist/core/src/sync/batch-processor.js +313 -0
  124. package/dist/core/src/sync/batch-processor.js.map +1 -0
  125. package/dist/core/src/sync/csv-processor.d.ts +66 -0
  126. package/dist/core/src/sync/csv-processor.d.ts.map +1 -0
  127. package/dist/core/src/sync/csv-processor.js +223 -0
  128. package/dist/core/src/sync/csv-processor.js.map +1 -0
  129. package/dist/core/src/sync/index.d.ts +3 -0
  130. package/dist/core/src/sync/index.d.ts.map +1 -0
  131. package/dist/core/src/sync/index.js +3 -0
  132. package/dist/core/src/sync/index.js.map +1 -0
  133. package/dist/core/src/sync/sync-engine.d.ts +68 -0
  134. package/dist/core/src/sync/sync-engine.d.ts.map +1 -0
  135. package/dist/core/src/sync/sync-engine.js +317 -0
  136. package/dist/core/src/sync/sync-engine.js.map +1 -0
  137. package/dist/core/src/sync/transaction-manager.d.ts +83 -0
  138. package/dist/core/src/sync/transaction-manager.d.ts.map +1 -0
  139. package/dist/core/src/sync/transaction-manager.js +227 -0
  140. package/dist/core/src/sync/transaction-manager.js.map +1 -0
  141. package/dist/core/src/webhooks/webhook-manager.d.ts +137 -0
  142. package/dist/core/src/webhooks/webhook-manager.d.ts.map +1 -0
  143. package/dist/core/src/webhooks/webhook-manager.js +334 -0
  144. package/dist/core/src/webhooks/webhook-manager.js.map +1 -0
  145. package/package.json +4 -6
@@ -1 +1 @@
1
- {"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../../../../client-core/src/sync/sync-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../../../../client-core/src/sync/sync-engine.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,14 @@ export * from './use-auth';
2
2
  export * from './use-query';
3
3
  export * from './use-mutation';
4
4
  export * from './use-sync';
5
+ export * from './use-subscribe';
6
+ export * from './use-transaction';
7
+ export * from './use-batch-mutation';
8
+ export { useFileUpload } from './use-file-upload';
9
+ export type { FileMetadata as FileUploadMetadata, UploadOptions, UseFileUploadResult } from './use-file-upload';
10
+ export { useFileManager } from './use-file-manager';
11
+ export type { FileMetadata as FileManagerMetadata, ListFilesOptions, UseFileManagerResult } from './use-file-manager';
12
+ export * from './use-search';
13
+ export * from './use-audit';
14
+ export * from './use-encryption';
5
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,YAAY,IAAI,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,YAAY,IAAI,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACtH,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
@@ -2,4 +2,12 @@ export * from './use-auth';
2
2
  export * from './use-query';
3
3
  export * from './use-mutation';
4
4
  export * from './use-sync';
5
+ export * from './use-subscribe';
6
+ export * from './use-transaction';
7
+ export * from './use-batch-mutation';
8
+ export { useFileUpload } from './use-file-upload';
9
+ export { useFileManager } from './use-file-manager';
10
+ export * from './use-search';
11
+ export * from './use-audit';
12
+ export * from './use-encryption';
5
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,65 @@
1
+ export interface AuditLog {
2
+ id: string;
3
+ userId: string;
4
+ entity: string;
5
+ recordId: string;
6
+ operation: 'create' | 'update' | 'delete';
7
+ before?: Record<string, any>;
8
+ after?: Record<string, any>;
9
+ changes?: Array<{
10
+ field: string;
11
+ before: any;
12
+ after: any;
13
+ }>;
14
+ metadata?: Record<string, any>;
15
+ createdAt: number;
16
+ }
17
+ export interface AuditQuery {
18
+ entity?: string;
19
+ recordId?: string;
20
+ userId?: string;
21
+ operation?: 'create' | 'update' | 'delete';
22
+ startDate?: number;
23
+ endDate?: number;
24
+ limit?: number;
25
+ offset?: number;
26
+ autoLoad?: boolean;
27
+ }
28
+ export interface AuditStatistics {
29
+ totalChanges: number;
30
+ changesByOperation: {
31
+ operation: string;
32
+ count: number;
33
+ }[];
34
+ changesByEntity: {
35
+ entity: string;
36
+ count: number;
37
+ }[];
38
+ changesByUser: {
39
+ userId: string;
40
+ count: number;
41
+ }[];
42
+ }
43
+ export interface UseAuditResult {
44
+ logs: AuditLog[];
45
+ total: number;
46
+ hasMore: boolean;
47
+ isLoading: boolean;
48
+ error: Error | null;
49
+ queryLogs: (query?: Omit<AuditQuery, 'autoLoad'>) => Promise<void>;
50
+ loadMore: () => Promise<void>;
51
+ getRecordHistory: (entity: string, recordId: string) => Promise<AuditLog[]>;
52
+ getStatistics: (options?: {
53
+ entity?: string;
54
+ userId?: string;
55
+ startDate?: number;
56
+ endDate?: number;
57
+ }) => Promise<AuditStatistics>;
58
+ reset: () => void;
59
+ }
60
+ /**
61
+ * Hook for viewing audit logs
62
+ */
63
+ export declare function useAudit(options?: AuditQuery): UseAuditResult;
64
+ export default useAudit;
65
+ //# sourceMappingURL=use-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-audit.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-audit.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3D,eAAe,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,aAAa,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,cAAc,CAiO7D;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,201 @@
1
+ import { useContext, useCallback, useState, useEffect } from 'react';
2
+ import { EdgeBaseContext } from '../provider';
3
+ /**
4
+ * Hook for viewing audit logs
5
+ */
6
+ export function useAudit(options) {
7
+ const context = useContext(EdgeBaseContext);
8
+ if (!context) {
9
+ throw new Error('useAudit must be used within EdgeBaseProvider');
10
+ }
11
+ const { authManager } = context;
12
+ const [logs, setLogs] = useState([]);
13
+ const [total, setTotal] = useState(0);
14
+ const [hasMore, setHasMore] = useState(false);
15
+ const [isLoading, setIsLoading] = useState(false);
16
+ const [error, setError] = useState(null);
17
+ const [currentQuery, setCurrentQuery] = useState(options);
18
+ const [currentOffset, setCurrentOffset] = useState(0);
19
+ /**
20
+ * Query audit logs
21
+ */
22
+ const queryLogs = useCallback(async (query) => {
23
+ setError(null);
24
+ setIsLoading(true);
25
+ try {
26
+ const accessToken = authManager.getAccessToken();
27
+ if (!accessToken) {
28
+ throw new Error('Not authenticated');
29
+ }
30
+ const apiUrl = typeof window !== 'undefined' ? window.location.origin : 'http://localhost:3000';
31
+ const finalQuery = query || currentQuery || {};
32
+ const response = await fetch(`${apiUrl}/audit/query`, {
33
+ method: 'POST',
34
+ headers: {
35
+ 'Content-Type': 'application/json',
36
+ Authorization: `Bearer ${accessToken}`,
37
+ },
38
+ body: JSON.stringify({
39
+ ...finalQuery,
40
+ offset: 0,
41
+ }),
42
+ });
43
+ if (!response.ok) {
44
+ const errorData = await response.json().catch(() => ({}));
45
+ throw new Error(errorData.error || `Query failed with status ${response.status}`);
46
+ }
47
+ const data = await response.json();
48
+ setLogs(data.logs || []);
49
+ setTotal(data.total || 0);
50
+ setHasMore(data.hasMore || false);
51
+ setCurrentQuery(finalQuery);
52
+ setCurrentOffset(data.logs?.length || 0);
53
+ }
54
+ catch (err) {
55
+ const error = err instanceof Error ? err : new Error('Failed to query audit logs');
56
+ setError(error);
57
+ throw error;
58
+ }
59
+ finally {
60
+ setIsLoading(false);
61
+ }
62
+ }, [authManager, currentQuery]);
63
+ /**
64
+ * Load more logs (pagination)
65
+ */
66
+ const loadMore = useCallback(async () => {
67
+ if (!hasMore || isLoading) {
68
+ return;
69
+ }
70
+ setError(null);
71
+ setIsLoading(true);
72
+ try {
73
+ const accessToken = authManager.getAccessToken();
74
+ if (!accessToken) {
75
+ throw new Error('Not authenticated');
76
+ }
77
+ const apiUrl = typeof window !== 'undefined' ? window.location.origin : 'http://localhost:3000';
78
+ const response = await fetch(`${apiUrl}/audit/query`, {
79
+ method: 'POST',
80
+ headers: {
81
+ 'Content-Type': 'application/json',
82
+ Authorization: `Bearer ${accessToken}`,
83
+ },
84
+ body: JSON.stringify({
85
+ ...currentQuery,
86
+ offset: currentOffset,
87
+ }),
88
+ });
89
+ if (!response.ok) {
90
+ const errorData = await response.json().catch(() => ({}));
91
+ throw new Error(errorData.error || `Query failed with status ${response.status}`);
92
+ }
93
+ const data = await response.json();
94
+ setLogs((prev) => [...prev, ...(data.logs || [])]);
95
+ setHasMore(data.hasMore || false);
96
+ setCurrentOffset((prev) => prev + (data.logs?.length || 0));
97
+ }
98
+ catch (err) {
99
+ const error = err instanceof Error ? err : new Error('Failed to load more logs');
100
+ setError(error);
101
+ throw error;
102
+ }
103
+ finally {
104
+ setIsLoading(false);
105
+ }
106
+ }, [authManager, currentQuery, currentOffset, hasMore, isLoading]);
107
+ /**
108
+ * Get audit history for a specific record
109
+ */
110
+ const getRecordHistory = useCallback(async (entity, recordId) => {
111
+ try {
112
+ const accessToken = authManager.getAccessToken();
113
+ if (!accessToken) {
114
+ throw new Error('Not authenticated');
115
+ }
116
+ const apiUrl = typeof window !== 'undefined' ? window.location.origin : 'http://localhost:3000';
117
+ const response = await fetch(`${apiUrl}/audit/record/${entity}/${recordId}`, {
118
+ headers: {
119
+ Authorization: `Bearer ${accessToken}`,
120
+ },
121
+ });
122
+ if (!response.ok) {
123
+ const errorData = await response.json().catch(() => ({}));
124
+ throw new Error(errorData.error || `Failed to get record history with status ${response.status}`);
125
+ }
126
+ const data = await response.json();
127
+ return data.history || [];
128
+ }
129
+ catch (err) {
130
+ const error = err instanceof Error ? err : new Error('Failed to get record history');
131
+ setError(error);
132
+ throw error;
133
+ }
134
+ }, [authManager]);
135
+ /**
136
+ * Get audit statistics
137
+ */
138
+ const getStatistics = useCallback(async (statsOptions) => {
139
+ try {
140
+ const accessToken = authManager.getAccessToken();
141
+ if (!accessToken) {
142
+ throw new Error('Not authenticated');
143
+ }
144
+ const apiUrl = typeof window !== 'undefined' ? window.location.origin : 'http://localhost:3000';
145
+ const params = new URLSearchParams();
146
+ if (statsOptions?.entity)
147
+ params.append('entity', statsOptions.entity);
148
+ if (statsOptions?.userId)
149
+ params.append('userId', statsOptions.userId);
150
+ if (statsOptions?.startDate)
151
+ params.append('startDate', statsOptions.startDate.toString());
152
+ if (statsOptions?.endDate)
153
+ params.append('endDate', statsOptions.endDate.toString());
154
+ const response = await fetch(`${apiUrl}/audit/stats?${params.toString()}`, {
155
+ headers: {
156
+ Authorization: `Bearer ${accessToken}`,
157
+ },
158
+ });
159
+ if (!response.ok) {
160
+ const errorData = await response.json().catch(() => ({}));
161
+ throw new Error(errorData.error || `Failed to get statistics with status ${response.status}`);
162
+ }
163
+ return await response.json();
164
+ }
165
+ catch (err) {
166
+ const error = err instanceof Error ? err : new Error('Failed to get statistics');
167
+ setError(error);
168
+ throw error;
169
+ }
170
+ }, [authManager]);
171
+ /**
172
+ * Reset state
173
+ */
174
+ const reset = useCallback(() => {
175
+ setLogs([]);
176
+ setTotal(0);
177
+ setHasMore(false);
178
+ setError(null);
179
+ setCurrentOffset(0);
180
+ }, []);
181
+ // Auto-load on mount if enabled
182
+ useEffect(() => {
183
+ if (options?.autoLoad) {
184
+ queryLogs();
185
+ }
186
+ }, []); // Run once on mount
187
+ return {
188
+ logs,
189
+ total,
190
+ hasMore,
191
+ isLoading,
192
+ error,
193
+ queryLogs,
194
+ loadMore,
195
+ getRecordHistory,
196
+ getStatistics,
197
+ reset,
198
+ };
199
+ }
200
+ export default useAudit;
201
+ //# sourceMappingURL=use-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-audit.js","sourceRoot":"","sources":["../../../../src/hooks/use-audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ export interface BatchOperation {
2
+ entity: string;
3
+ id: string;
4
+ operation: 'create' | 'update' | 'delete';
5
+ data?: Record<string, any>;
6
+ version?: number;
7
+ }
8
+ export interface BatchMutationOptions {
9
+ create?: BatchOperation[];
10
+ update?: BatchOperation[];
11
+ delete?: BatchOperation[];
12
+ atomic?: boolean;
13
+ isolationLevel?: 'READ_UNCOMMITTED' | 'READ_COMMITTED' | 'SERIALIZABLE';
14
+ }
15
+ export interface BatchMutationResult {
16
+ applied: Array<BatchOperation & {
17
+ version: number;
18
+ serverTimestamp: number;
19
+ }>;
20
+ conflicts: Array<{
21
+ entity: string;
22
+ id: string;
23
+ operation: string;
24
+ clientVersion?: number;
25
+ serverVersion: number;
26
+ serverData: Record<string, any>;
27
+ }>;
28
+ errors: Array<{
29
+ entity: string;
30
+ id: string;
31
+ operation: string;
32
+ error: string;
33
+ code: string;
34
+ }>;
35
+ appliedCount: number;
36
+ conflictCount: number;
37
+ errorCount: number;
38
+ }
39
+ export interface UseBatchMutationResult {
40
+ mutate: (options: BatchMutationOptions) => Promise<BatchMutationResult>;
41
+ isLoading: boolean;
42
+ error: Error | null;
43
+ result: BatchMutationResult | null;
44
+ progress: {
45
+ current: number;
46
+ total: number;
47
+ };
48
+ reset: () => void;
49
+ }
50
+ /**
51
+ * Hook for batch mutations in React components
52
+ * Supports atomic transactions and individual operation processing
53
+ */
54
+ export declare function useBatchMutation(): UseBatchMutationResult;
55
+ export default useBatchMutation;
56
+ //# sourceMappingURL=use-batch-mutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-batch-mutation.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-batch-mutation.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAC;CACzE;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,SAAS,EAAE,KAAK,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,sBAAsB,CAuGzD;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { useContext, useCallback, useState, useRef } from 'react';
2
+ import { EdgeBaseContext } from '../provider';
3
+ /**
4
+ * Hook for batch mutations in React components
5
+ * Supports atomic transactions and individual operation processing
6
+ */
7
+ export function useBatchMutation() {
8
+ const context = useContext(EdgeBaseContext);
9
+ if (!context) {
10
+ throw new Error('useBatchMutation must be used within EdgeBaseProvider');
11
+ }
12
+ const { authManager, syncEngine } = context;
13
+ const [isLoading, setIsLoading] = useState(false);
14
+ const [error, setError] = useState(null);
15
+ const [result, setResult] = useState(null);
16
+ const [progress, setProgress] = useState({ current: 0, total: 0 });
17
+ const abortControllerRef = useRef(null);
18
+ /**
19
+ * Execute batch mutation
20
+ */
21
+ const mutate = useCallback(async (options) => {
22
+ setError(null);
23
+ setIsLoading(true);
24
+ setProgress({ current: 0, total: 0 });
25
+ try {
26
+ const accessToken = authManager.getAccessToken();
27
+ if (!accessToken) {
28
+ throw new Error('Not authenticated');
29
+ }
30
+ // Get API URL from context or construct from window location
31
+ const apiUrl = typeof window !== 'undefined' ? window.location.origin : 'http://localhost:3000';
32
+ // Set total count for progress tracking
33
+ const totalOps = (options.create?.length || 0) + (options.update?.length || 0) + (options.delete?.length || 0);
34
+ setProgress({ current: 0, total: totalOps });
35
+ // Create abort controller for cancellation
36
+ abortControllerRef.current = new AbortController();
37
+ // Send batch request to server
38
+ const response = await fetch(`${apiUrl}/sync/batch`, {
39
+ method: 'POST',
40
+ headers: {
41
+ 'Content-Type': 'application/json',
42
+ Authorization: `Bearer ${accessToken}`,
43
+ },
44
+ body: JSON.stringify(options),
45
+ signal: abortControllerRef.current.signal,
46
+ });
47
+ if (!response.ok) {
48
+ const errorData = await response.json().catch(() => ({}));
49
+ throw new Error(errorData.error || `Batch mutation failed with status ${response.status}`);
50
+ }
51
+ const batchResult = await response.json();
52
+ // Update local sync state with applied changes
53
+ if (syncEngine && batchResult.applied.length > 0) {
54
+ for (const change of batchResult.applied) {
55
+ const operation = change.operation;
56
+ await syncEngine.addChange(change.entity, operation, change.id, change.data || {});
57
+ setProgress((prev) => ({ ...prev, current: prev.current + 1 }));
58
+ }
59
+ }
60
+ setResult(batchResult);
61
+ return batchResult;
62
+ }
63
+ catch (err) {
64
+ const error = err instanceof Error ? err : new Error('Batch mutation failed');
65
+ setError(error);
66
+ throw error;
67
+ }
68
+ finally {
69
+ setIsLoading(false);
70
+ abortControllerRef.current = null;
71
+ }
72
+ }, [authManager, syncEngine]);
73
+ /**
74
+ * Reset mutation state
75
+ */
76
+ const reset = useCallback(() => {
77
+ setError(null);
78
+ setResult(null);
79
+ setProgress({ current: 0, total: 0 });
80
+ if (abortControllerRef.current) {
81
+ abortControllerRef.current.abort();
82
+ abortControllerRef.current = null;
83
+ }
84
+ }, []);
85
+ return {
86
+ mutate,
87
+ isLoading,
88
+ error,
89
+ result,
90
+ progress,
91
+ reset,
92
+ };
93
+ }
94
+ export default useBatchMutation;
95
+ //# sourceMappingURL=use-batch-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-batch-mutation.js","sourceRoot":"","sources":["../../../../src/hooks/use-batch-mutation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Hooks for managing field-level encryption
3
+ */
4
+ export interface EncryptionConfig {
5
+ entity: string;
6
+ enabled: boolean;
7
+ fields: string[];
8
+ algorithm?: string;
9
+ keyRotation?: boolean;
10
+ }
11
+ export interface ConfigureEncryptionOptions {
12
+ entity: string;
13
+ fields: string[];
14
+ algorithm?: 'AES-GCM' | 'AES-CBC';
15
+ keyRotation?: boolean;
16
+ }
17
+ export interface UseEncryptionConfigResult {
18
+ config: EncryptionConfig | null;
19
+ isLoading: boolean;
20
+ error: Error | null;
21
+ refetch: () => Promise<void>;
22
+ }
23
+ export interface UseConfigureEncryptionResult {
24
+ configure: (options: ConfigureEncryptionOptions) => Promise<EncryptionConfig>;
25
+ isLoading: boolean;
26
+ error: Error | null;
27
+ }
28
+ export interface UseRotateKeyResult {
29
+ rotateKey: (newMasterKey: string) => Promise<void>;
30
+ isLoading: boolean;
31
+ error: Error | null;
32
+ }
33
+ /**
34
+ * Hook to get encryption configuration for an entity
35
+ */
36
+ export declare function useEncryptionConfig(entity: string): UseEncryptionConfigResult;
37
+ /**
38
+ * Hook to configure encryption for an entity
39
+ */
40
+ export declare function useConfigureEncryption(): UseConfigureEncryptionResult;
41
+ /**
42
+ * Hook to rotate encryption key
43
+ */
44
+ export declare function useRotateKey(): UseRotateKeyResult;
45
+ //# sourceMappingURL=use-encryption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-encryption.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-encryption.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAUD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,CA8C7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,4BAA4B,CAiDrE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,CA8CjD"}