fauxbase 0.5.8 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +649 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +176 -6
- package/dist/index.d.ts +176 -6
- package/dist/index.js +649 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -67,7 +67,32 @@ interface HttpDriverConfig {
|
|
|
67
67
|
};
|
|
68
68
|
headers?: Record<string, string>;
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
interface SyncDriverConfig$1 {
|
|
71
|
+
type: 'sync';
|
|
72
|
+
local: {
|
|
73
|
+
persist?: 'localStorage' | 'indexeddb';
|
|
74
|
+
dbName?: string;
|
|
75
|
+
};
|
|
76
|
+
remote: {
|
|
77
|
+
baseUrl: string;
|
|
78
|
+
preset?: string;
|
|
79
|
+
timeout?: number;
|
|
80
|
+
retry?: {
|
|
81
|
+
maxRetries?: number;
|
|
82
|
+
baseDelay?: number;
|
|
83
|
+
};
|
|
84
|
+
headers?: Record<string, string>;
|
|
85
|
+
};
|
|
86
|
+
sync?: {
|
|
87
|
+
interval?: number;
|
|
88
|
+
retryDelay?: number;
|
|
89
|
+
maxRetries?: number;
|
|
90
|
+
conflictStrategy?: 'last-write-wins' | 'server-wins' | 'client-wins';
|
|
91
|
+
resources?: string[];
|
|
92
|
+
pingUrl?: string;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
type DriverConfig = LocalDriverConfig | HttpDriverConfig | SyncDriverConfig$1;
|
|
71
96
|
interface SeedDefinition<T = any> {
|
|
72
97
|
entityName: string;
|
|
73
98
|
entityClass: any;
|
|
@@ -244,7 +269,7 @@ declare abstract class Service<T extends Entity> {
|
|
|
244
269
|
private runHooks;
|
|
245
270
|
}
|
|
246
271
|
|
|
247
|
-
type AuthProvider$
|
|
272
|
+
type AuthProvider$2 = () => {
|
|
248
273
|
token: string;
|
|
249
274
|
} | null;
|
|
250
275
|
interface HttpDriverOptions extends HttpDriverConfig {
|
|
@@ -266,7 +291,7 @@ declare class HttpDriver implements Driver {
|
|
|
266
291
|
private authProvider;
|
|
267
292
|
private onUnauthorized;
|
|
268
293
|
constructor(config: HttpDriverOptions);
|
|
269
|
-
setAuthProvider(provider: AuthProvider$
|
|
294
|
+
setAuthProvider(provider: AuthProvider$2): void;
|
|
270
295
|
/** @internal — set callback to refresh token on 401 */
|
|
271
296
|
setOnUnauthorized(handler: () => Promise<boolean>): void;
|
|
272
297
|
registerEndpoint(resource: string, endpoint: string): void;
|
|
@@ -397,7 +422,7 @@ interface StorageBackend {
|
|
|
397
422
|
getMeta(key: string): string | null;
|
|
398
423
|
setMeta(key: string, value: string): void;
|
|
399
424
|
}
|
|
400
|
-
type AuthProvider = () => {
|
|
425
|
+
type AuthProvider$1 = () => {
|
|
401
426
|
userId: string;
|
|
402
427
|
userName?: string;
|
|
403
428
|
} | null;
|
|
@@ -414,7 +439,7 @@ declare class LocalDriver implements Driver {
|
|
|
414
439
|
private getLatency;
|
|
415
440
|
get ready(): Promise<void>;
|
|
416
441
|
get isReady(): boolean;
|
|
417
|
-
setAuthProvider(provider: AuthProvider): void;
|
|
442
|
+
setAuthProvider(provider: AuthProvider$1): void;
|
|
418
443
|
getStorageBackend(): StorageBackend;
|
|
419
444
|
registerEntity(resource: string, entityClass: Function): void;
|
|
420
445
|
list<T>(resource: string, query: QueryParams): Promise<PagedResponse<T>>;
|
|
@@ -443,6 +468,151 @@ declare class LocalDriver implements Driver {
|
|
|
443
468
|
clear(resource: string): void;
|
|
444
469
|
}
|
|
445
470
|
|
|
471
|
+
interface SyncDriverConfig {
|
|
472
|
+
type: 'sync';
|
|
473
|
+
local: {
|
|
474
|
+
persist?: 'localStorage' | 'indexeddb';
|
|
475
|
+
dbName?: string;
|
|
476
|
+
};
|
|
477
|
+
remote: {
|
|
478
|
+
baseUrl: string;
|
|
479
|
+
preset?: string;
|
|
480
|
+
timeout?: number;
|
|
481
|
+
retry?: {
|
|
482
|
+
maxRetries?: number;
|
|
483
|
+
baseDelay?: number;
|
|
484
|
+
};
|
|
485
|
+
headers?: Record<string, string>;
|
|
486
|
+
};
|
|
487
|
+
sync?: {
|
|
488
|
+
interval?: number;
|
|
489
|
+
retryDelay?: number;
|
|
490
|
+
maxRetries?: number;
|
|
491
|
+
conflictStrategy?: 'last-write-wins' | 'server-wins' | 'client-wins';
|
|
492
|
+
resources?: string[];
|
|
493
|
+
pingUrl?: string;
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
interface QueueEntry {
|
|
497
|
+
id: string;
|
|
498
|
+
resource: string;
|
|
499
|
+
action: 'create' | 'update' | 'delete';
|
|
500
|
+
entityId: string;
|
|
501
|
+
data: Record<string, any> | null;
|
|
502
|
+
timestamp: number;
|
|
503
|
+
status: 'pending' | 'syncing' | 'failed';
|
|
504
|
+
retries: number;
|
|
505
|
+
error?: string;
|
|
506
|
+
}
|
|
507
|
+
interface SyncState {
|
|
508
|
+
isOnline: boolean;
|
|
509
|
+
isSyncing: boolean;
|
|
510
|
+
pendingCount: number;
|
|
511
|
+
lastSynced: number | null;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
declare class SyncQueue {
|
|
515
|
+
private db;
|
|
516
|
+
private cache;
|
|
517
|
+
private _ready;
|
|
518
|
+
constructor(dbName?: string);
|
|
519
|
+
get ready(): Promise<void>;
|
|
520
|
+
private open;
|
|
521
|
+
private loadAll;
|
|
522
|
+
private persist;
|
|
523
|
+
private removeFromDb;
|
|
524
|
+
enqueue(entry: Omit<QueueEntry, 'id' | 'status' | 'retries'>): Promise<void>;
|
|
525
|
+
getPending(): QueueEntry[];
|
|
526
|
+
getPendingCount(): number;
|
|
527
|
+
markSyncing(id: string): Promise<void>;
|
|
528
|
+
remove(id: string): Promise<void>;
|
|
529
|
+
markFailed(id: string, error: string): Promise<void>;
|
|
530
|
+
getDeadLetters(maxRetries: number): QueueEntry[];
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
declare class SyncEngine {
|
|
534
|
+
private localDriver;
|
|
535
|
+
private httpDriver;
|
|
536
|
+
private queue;
|
|
537
|
+
private config;
|
|
538
|
+
private eventBus;
|
|
539
|
+
private online;
|
|
540
|
+
private syncing;
|
|
541
|
+
private pullTimer;
|
|
542
|
+
private pushTimer;
|
|
543
|
+
private lastSynced;
|
|
544
|
+
private registeredResources;
|
|
545
|
+
private _syncPromise;
|
|
546
|
+
constructor(localDriver: LocalDriver, httpDriver: HttpDriver, queue: SyncQueue, syncConfig?: SyncDriverConfig['sync']);
|
|
547
|
+
setEventBus(bus: EventBus): void;
|
|
548
|
+
registerResource(resource: string, endpoint: string): void;
|
|
549
|
+
start(): void;
|
|
550
|
+
stop(): void;
|
|
551
|
+
sync(): Promise<{
|
|
552
|
+
pushed: number;
|
|
553
|
+
pulled: number;
|
|
554
|
+
}>;
|
|
555
|
+
private _doSync;
|
|
556
|
+
private push;
|
|
557
|
+
private pull;
|
|
558
|
+
private pullResource;
|
|
559
|
+
private handleConflict;
|
|
560
|
+
private setupConnectivityListeners;
|
|
561
|
+
private checkOnline;
|
|
562
|
+
private handleOnline;
|
|
563
|
+
private handleOffline;
|
|
564
|
+
getSyncState(): SyncState;
|
|
565
|
+
private emitEvent;
|
|
566
|
+
private emitSyncState;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
type AuthProvider = () => {
|
|
570
|
+
token: string;
|
|
571
|
+
} | null;
|
|
572
|
+
declare class SyncDriver implements Driver {
|
|
573
|
+
private localDriver;
|
|
574
|
+
private httpDriver;
|
|
575
|
+
private queue;
|
|
576
|
+
private _syncEngine;
|
|
577
|
+
private _ready;
|
|
578
|
+
private _isReady;
|
|
579
|
+
constructor(config: SyncDriverConfig);
|
|
580
|
+
get ready(): Promise<void>;
|
|
581
|
+
get isReady(): boolean;
|
|
582
|
+
get syncEngine(): SyncEngine;
|
|
583
|
+
/** @internal — exposed for createClient auth wiring */
|
|
584
|
+
get _httpDriver(): HttpDriver;
|
|
585
|
+
list<T>(resource: string, query: QueryParams): Promise<PagedResponse<T>>;
|
|
586
|
+
get<T>(resource: string, id: string): Promise<ApiResponse<T>>;
|
|
587
|
+
count(resource: string, filter?: Record<string, any>): Promise<number>;
|
|
588
|
+
create<T>(resource: string, data: Partial<T>): Promise<ApiResponse<T>>;
|
|
589
|
+
update<T>(resource: string, id: string, data: Partial<T>): Promise<ApiResponse<T>>;
|
|
590
|
+
delete<T>(resource: string, id: string): Promise<ApiResponse<T>>;
|
|
591
|
+
bulkCreate<T>(resource: string, data: Array<Partial<T>>): Promise<ApiResponse<T[]>>;
|
|
592
|
+
bulkUpdate<T>(resource: string, updates: Array<{
|
|
593
|
+
id: string;
|
|
594
|
+
data: Partial<T>;
|
|
595
|
+
}>): Promise<ApiResponse<T[]>>;
|
|
596
|
+
bulkDelete(resource: string, ids: string[]): Promise<ApiResponse<{
|
|
597
|
+
count: number;
|
|
598
|
+
}>>;
|
|
599
|
+
request<R = any>(resource: string, path: string, options?: {
|
|
600
|
+
method?: string;
|
|
601
|
+
body?: any;
|
|
602
|
+
query?: Record<string, string>;
|
|
603
|
+
local?: () => R | Promise<R>;
|
|
604
|
+
}): Promise<R>;
|
|
605
|
+
seed(resource: string, data: Array<Record<string, any>>, entityClass: Function): void;
|
|
606
|
+
getSeedVersion(): string | null;
|
|
607
|
+
setSeedVersion(version: string): void;
|
|
608
|
+
clear(resource: string): void;
|
|
609
|
+
setAuthProvider(provider: AuthProvider): void;
|
|
610
|
+
setOnUnauthorized(handler: () => Promise<boolean>): void;
|
|
611
|
+
registerEndpoint(resource: string, endpoint: string): void;
|
|
612
|
+
registerEntity(resource: string, entityClass: Function): void;
|
|
613
|
+
getStorageBackend(): ReturnType<LocalDriver['getStorageBackend']>;
|
|
614
|
+
}
|
|
615
|
+
|
|
446
616
|
type FilterStyle = 'django' | 'dot' | 'bracket' | 'nestjs';
|
|
447
617
|
interface Preset {
|
|
448
618
|
name: string;
|
|
@@ -502,4 +672,4 @@ declare const expressPreset: Preset;
|
|
|
502
672
|
|
|
503
673
|
declare function getPreset(name: string): Preset;
|
|
504
674
|
|
|
505
|
-
export { type ApiResponse, type AuthContext, AuthService, type AuthState, type BaseFields, ConflictError, type Driver, type DriverConfig, Entity, type EventAction, EventBus, type EventHandler, type EventHandlersConfig, type EventSourceAdapter, type EventSourceConfig, type EventsConfig, FauxbaseError, type FauxbaseErrorPayload, type FauxbaseEvent, type FieldOptions, type FilterOperator, type FilterStyle, ForbiddenError, type HookType, HttpDriver, type HttpDriverConfig, HttpError, LocalDriver, type LocalDriverConfig, type LoginCredentials, NetworkError, NotFoundError, type PageMeta, type PagedResponse, type Preset, type QueryParams, type SSEConfig, type STOMPConfig, type SeedDefinition, Service, type SortParams, TimeoutError, ValidationError, afterCreate, afterUpdate, beforeCreate, beforeUpdate, computed, createClient, defaultPreset, definePreset, djangoPreset, expressPreset, field, getPreset, laravelPreset, nestjsPreset, relation, seed, springBootPreset };
|
|
675
|
+
export { type ApiResponse, type AuthContext, AuthService, type AuthState, type BaseFields, ConflictError, type Driver, type DriverConfig, Entity, type EventAction, EventBus, type EventHandler, type EventHandlersConfig, type EventSourceAdapter, type EventSourceConfig, type EventsConfig, FauxbaseError, type FauxbaseErrorPayload, type FauxbaseEvent, type FieldOptions, type FilterOperator, type FilterStyle, ForbiddenError, type HookType, HttpDriver, type HttpDriverConfig, HttpError, LocalDriver, type LocalDriverConfig, type LoginCredentials, NetworkError, NotFoundError, type PageMeta, type PagedResponse, type Preset, type QueryParams, type QueueEntry, type SSEConfig, type STOMPConfig, type SeedDefinition, Service, type SortParams, SyncDriver, type SyncDriverConfig$1 as SyncDriverConfig, type SyncState, TimeoutError, ValidationError, afterCreate, afterUpdate, beforeCreate, beforeUpdate, computed, createClient, defaultPreset, definePreset, djangoPreset, expressPreset, field, getPreset, laravelPreset, nestjsPreset, relation, seed, springBootPreset };
|
package/dist/index.d.ts
CHANGED
|
@@ -67,7 +67,32 @@ interface HttpDriverConfig {
|
|
|
67
67
|
};
|
|
68
68
|
headers?: Record<string, string>;
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
interface SyncDriverConfig$1 {
|
|
71
|
+
type: 'sync';
|
|
72
|
+
local: {
|
|
73
|
+
persist?: 'localStorage' | 'indexeddb';
|
|
74
|
+
dbName?: string;
|
|
75
|
+
};
|
|
76
|
+
remote: {
|
|
77
|
+
baseUrl: string;
|
|
78
|
+
preset?: string;
|
|
79
|
+
timeout?: number;
|
|
80
|
+
retry?: {
|
|
81
|
+
maxRetries?: number;
|
|
82
|
+
baseDelay?: number;
|
|
83
|
+
};
|
|
84
|
+
headers?: Record<string, string>;
|
|
85
|
+
};
|
|
86
|
+
sync?: {
|
|
87
|
+
interval?: number;
|
|
88
|
+
retryDelay?: number;
|
|
89
|
+
maxRetries?: number;
|
|
90
|
+
conflictStrategy?: 'last-write-wins' | 'server-wins' | 'client-wins';
|
|
91
|
+
resources?: string[];
|
|
92
|
+
pingUrl?: string;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
type DriverConfig = LocalDriverConfig | HttpDriverConfig | SyncDriverConfig$1;
|
|
71
96
|
interface SeedDefinition<T = any> {
|
|
72
97
|
entityName: string;
|
|
73
98
|
entityClass: any;
|
|
@@ -244,7 +269,7 @@ declare abstract class Service<T extends Entity> {
|
|
|
244
269
|
private runHooks;
|
|
245
270
|
}
|
|
246
271
|
|
|
247
|
-
type AuthProvider$
|
|
272
|
+
type AuthProvider$2 = () => {
|
|
248
273
|
token: string;
|
|
249
274
|
} | null;
|
|
250
275
|
interface HttpDriverOptions extends HttpDriverConfig {
|
|
@@ -266,7 +291,7 @@ declare class HttpDriver implements Driver {
|
|
|
266
291
|
private authProvider;
|
|
267
292
|
private onUnauthorized;
|
|
268
293
|
constructor(config: HttpDriverOptions);
|
|
269
|
-
setAuthProvider(provider: AuthProvider$
|
|
294
|
+
setAuthProvider(provider: AuthProvider$2): void;
|
|
270
295
|
/** @internal — set callback to refresh token on 401 */
|
|
271
296
|
setOnUnauthorized(handler: () => Promise<boolean>): void;
|
|
272
297
|
registerEndpoint(resource: string, endpoint: string): void;
|
|
@@ -397,7 +422,7 @@ interface StorageBackend {
|
|
|
397
422
|
getMeta(key: string): string | null;
|
|
398
423
|
setMeta(key: string, value: string): void;
|
|
399
424
|
}
|
|
400
|
-
type AuthProvider = () => {
|
|
425
|
+
type AuthProvider$1 = () => {
|
|
401
426
|
userId: string;
|
|
402
427
|
userName?: string;
|
|
403
428
|
} | null;
|
|
@@ -414,7 +439,7 @@ declare class LocalDriver implements Driver {
|
|
|
414
439
|
private getLatency;
|
|
415
440
|
get ready(): Promise<void>;
|
|
416
441
|
get isReady(): boolean;
|
|
417
|
-
setAuthProvider(provider: AuthProvider): void;
|
|
442
|
+
setAuthProvider(provider: AuthProvider$1): void;
|
|
418
443
|
getStorageBackend(): StorageBackend;
|
|
419
444
|
registerEntity(resource: string, entityClass: Function): void;
|
|
420
445
|
list<T>(resource: string, query: QueryParams): Promise<PagedResponse<T>>;
|
|
@@ -443,6 +468,151 @@ declare class LocalDriver implements Driver {
|
|
|
443
468
|
clear(resource: string): void;
|
|
444
469
|
}
|
|
445
470
|
|
|
471
|
+
interface SyncDriverConfig {
|
|
472
|
+
type: 'sync';
|
|
473
|
+
local: {
|
|
474
|
+
persist?: 'localStorage' | 'indexeddb';
|
|
475
|
+
dbName?: string;
|
|
476
|
+
};
|
|
477
|
+
remote: {
|
|
478
|
+
baseUrl: string;
|
|
479
|
+
preset?: string;
|
|
480
|
+
timeout?: number;
|
|
481
|
+
retry?: {
|
|
482
|
+
maxRetries?: number;
|
|
483
|
+
baseDelay?: number;
|
|
484
|
+
};
|
|
485
|
+
headers?: Record<string, string>;
|
|
486
|
+
};
|
|
487
|
+
sync?: {
|
|
488
|
+
interval?: number;
|
|
489
|
+
retryDelay?: number;
|
|
490
|
+
maxRetries?: number;
|
|
491
|
+
conflictStrategy?: 'last-write-wins' | 'server-wins' | 'client-wins';
|
|
492
|
+
resources?: string[];
|
|
493
|
+
pingUrl?: string;
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
interface QueueEntry {
|
|
497
|
+
id: string;
|
|
498
|
+
resource: string;
|
|
499
|
+
action: 'create' | 'update' | 'delete';
|
|
500
|
+
entityId: string;
|
|
501
|
+
data: Record<string, any> | null;
|
|
502
|
+
timestamp: number;
|
|
503
|
+
status: 'pending' | 'syncing' | 'failed';
|
|
504
|
+
retries: number;
|
|
505
|
+
error?: string;
|
|
506
|
+
}
|
|
507
|
+
interface SyncState {
|
|
508
|
+
isOnline: boolean;
|
|
509
|
+
isSyncing: boolean;
|
|
510
|
+
pendingCount: number;
|
|
511
|
+
lastSynced: number | null;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
declare class SyncQueue {
|
|
515
|
+
private db;
|
|
516
|
+
private cache;
|
|
517
|
+
private _ready;
|
|
518
|
+
constructor(dbName?: string);
|
|
519
|
+
get ready(): Promise<void>;
|
|
520
|
+
private open;
|
|
521
|
+
private loadAll;
|
|
522
|
+
private persist;
|
|
523
|
+
private removeFromDb;
|
|
524
|
+
enqueue(entry: Omit<QueueEntry, 'id' | 'status' | 'retries'>): Promise<void>;
|
|
525
|
+
getPending(): QueueEntry[];
|
|
526
|
+
getPendingCount(): number;
|
|
527
|
+
markSyncing(id: string): Promise<void>;
|
|
528
|
+
remove(id: string): Promise<void>;
|
|
529
|
+
markFailed(id: string, error: string): Promise<void>;
|
|
530
|
+
getDeadLetters(maxRetries: number): QueueEntry[];
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
declare class SyncEngine {
|
|
534
|
+
private localDriver;
|
|
535
|
+
private httpDriver;
|
|
536
|
+
private queue;
|
|
537
|
+
private config;
|
|
538
|
+
private eventBus;
|
|
539
|
+
private online;
|
|
540
|
+
private syncing;
|
|
541
|
+
private pullTimer;
|
|
542
|
+
private pushTimer;
|
|
543
|
+
private lastSynced;
|
|
544
|
+
private registeredResources;
|
|
545
|
+
private _syncPromise;
|
|
546
|
+
constructor(localDriver: LocalDriver, httpDriver: HttpDriver, queue: SyncQueue, syncConfig?: SyncDriverConfig['sync']);
|
|
547
|
+
setEventBus(bus: EventBus): void;
|
|
548
|
+
registerResource(resource: string, endpoint: string): void;
|
|
549
|
+
start(): void;
|
|
550
|
+
stop(): void;
|
|
551
|
+
sync(): Promise<{
|
|
552
|
+
pushed: number;
|
|
553
|
+
pulled: number;
|
|
554
|
+
}>;
|
|
555
|
+
private _doSync;
|
|
556
|
+
private push;
|
|
557
|
+
private pull;
|
|
558
|
+
private pullResource;
|
|
559
|
+
private handleConflict;
|
|
560
|
+
private setupConnectivityListeners;
|
|
561
|
+
private checkOnline;
|
|
562
|
+
private handleOnline;
|
|
563
|
+
private handleOffline;
|
|
564
|
+
getSyncState(): SyncState;
|
|
565
|
+
private emitEvent;
|
|
566
|
+
private emitSyncState;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
type AuthProvider = () => {
|
|
570
|
+
token: string;
|
|
571
|
+
} | null;
|
|
572
|
+
declare class SyncDriver implements Driver {
|
|
573
|
+
private localDriver;
|
|
574
|
+
private httpDriver;
|
|
575
|
+
private queue;
|
|
576
|
+
private _syncEngine;
|
|
577
|
+
private _ready;
|
|
578
|
+
private _isReady;
|
|
579
|
+
constructor(config: SyncDriverConfig);
|
|
580
|
+
get ready(): Promise<void>;
|
|
581
|
+
get isReady(): boolean;
|
|
582
|
+
get syncEngine(): SyncEngine;
|
|
583
|
+
/** @internal — exposed for createClient auth wiring */
|
|
584
|
+
get _httpDriver(): HttpDriver;
|
|
585
|
+
list<T>(resource: string, query: QueryParams): Promise<PagedResponse<T>>;
|
|
586
|
+
get<T>(resource: string, id: string): Promise<ApiResponse<T>>;
|
|
587
|
+
count(resource: string, filter?: Record<string, any>): Promise<number>;
|
|
588
|
+
create<T>(resource: string, data: Partial<T>): Promise<ApiResponse<T>>;
|
|
589
|
+
update<T>(resource: string, id: string, data: Partial<T>): Promise<ApiResponse<T>>;
|
|
590
|
+
delete<T>(resource: string, id: string): Promise<ApiResponse<T>>;
|
|
591
|
+
bulkCreate<T>(resource: string, data: Array<Partial<T>>): Promise<ApiResponse<T[]>>;
|
|
592
|
+
bulkUpdate<T>(resource: string, updates: Array<{
|
|
593
|
+
id: string;
|
|
594
|
+
data: Partial<T>;
|
|
595
|
+
}>): Promise<ApiResponse<T[]>>;
|
|
596
|
+
bulkDelete(resource: string, ids: string[]): Promise<ApiResponse<{
|
|
597
|
+
count: number;
|
|
598
|
+
}>>;
|
|
599
|
+
request<R = any>(resource: string, path: string, options?: {
|
|
600
|
+
method?: string;
|
|
601
|
+
body?: any;
|
|
602
|
+
query?: Record<string, string>;
|
|
603
|
+
local?: () => R | Promise<R>;
|
|
604
|
+
}): Promise<R>;
|
|
605
|
+
seed(resource: string, data: Array<Record<string, any>>, entityClass: Function): void;
|
|
606
|
+
getSeedVersion(): string | null;
|
|
607
|
+
setSeedVersion(version: string): void;
|
|
608
|
+
clear(resource: string): void;
|
|
609
|
+
setAuthProvider(provider: AuthProvider): void;
|
|
610
|
+
setOnUnauthorized(handler: () => Promise<boolean>): void;
|
|
611
|
+
registerEndpoint(resource: string, endpoint: string): void;
|
|
612
|
+
registerEntity(resource: string, entityClass: Function): void;
|
|
613
|
+
getStorageBackend(): ReturnType<LocalDriver['getStorageBackend']>;
|
|
614
|
+
}
|
|
615
|
+
|
|
446
616
|
type FilterStyle = 'django' | 'dot' | 'bracket' | 'nestjs';
|
|
447
617
|
interface Preset {
|
|
448
618
|
name: string;
|
|
@@ -502,4 +672,4 @@ declare const expressPreset: Preset;
|
|
|
502
672
|
|
|
503
673
|
declare function getPreset(name: string): Preset;
|
|
504
674
|
|
|
505
|
-
export { type ApiResponse, type AuthContext, AuthService, type AuthState, type BaseFields, ConflictError, type Driver, type DriverConfig, Entity, type EventAction, EventBus, type EventHandler, type EventHandlersConfig, type EventSourceAdapter, type EventSourceConfig, type EventsConfig, FauxbaseError, type FauxbaseErrorPayload, type FauxbaseEvent, type FieldOptions, type FilterOperator, type FilterStyle, ForbiddenError, type HookType, HttpDriver, type HttpDriverConfig, HttpError, LocalDriver, type LocalDriverConfig, type LoginCredentials, NetworkError, NotFoundError, type PageMeta, type PagedResponse, type Preset, type QueryParams, type SSEConfig, type STOMPConfig, type SeedDefinition, Service, type SortParams, TimeoutError, ValidationError, afterCreate, afterUpdate, beforeCreate, beforeUpdate, computed, createClient, defaultPreset, definePreset, djangoPreset, expressPreset, field, getPreset, laravelPreset, nestjsPreset, relation, seed, springBootPreset };
|
|
675
|
+
export { type ApiResponse, type AuthContext, AuthService, type AuthState, type BaseFields, ConflictError, type Driver, type DriverConfig, Entity, type EventAction, EventBus, type EventHandler, type EventHandlersConfig, type EventSourceAdapter, type EventSourceConfig, type EventsConfig, FauxbaseError, type FauxbaseErrorPayload, type FauxbaseEvent, type FieldOptions, type FilterOperator, type FilterStyle, ForbiddenError, type HookType, HttpDriver, type HttpDriverConfig, HttpError, LocalDriver, type LocalDriverConfig, type LoginCredentials, NetworkError, NotFoundError, type PageMeta, type PagedResponse, type Preset, type QueryParams, type QueueEntry, type SSEConfig, type STOMPConfig, type SeedDefinition, Service, type SortParams, SyncDriver, type SyncDriverConfig$1 as SyncDriverConfig, type SyncState, TimeoutError, ValidationError, afterCreate, afterUpdate, beforeCreate, beforeUpdate, computed, createClient, defaultPreset, definePreset, djangoPreset, expressPreset, field, getPreset, laravelPreset, nestjsPreset, relation, seed, springBootPreset };
|