@plyaz/db 0.1.0 → 0.1.1

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 (62) hide show
  1. package/README.md +98 -134
  2. package/dist/adapters/drizzle/DrizzleAdapter.d.ts +109 -9
  3. package/dist/adapters/drizzle/DrizzleAdapter.d.ts.map +1 -1
  4. package/dist/adapters/index.d.ts +5 -0
  5. package/dist/adapters/index.d.ts.map +1 -1
  6. package/dist/adapters/mock/MockAdapter.d.ts +88 -0
  7. package/dist/adapters/mock/MockAdapter.d.ts.map +1 -0
  8. package/dist/adapters/sql/SQLAdapter.d.ts +28 -6
  9. package/dist/adapters/sql/SQLAdapter.d.ts.map +1 -1
  10. package/dist/adapters/supabase/SupabaseAdapter.d.ts +9 -2
  11. package/dist/adapters/supabase/SupabaseAdapter.d.ts.map +1 -1
  12. package/dist/advanced/multi-tenancy/TenantRepository.d.ts +1 -7
  13. package/dist/advanced/multi-tenancy/TenantRepository.d.ts.map +1 -1
  14. package/dist/advanced/read-replica/ReadReplicaAdapter.d.ts +3 -2
  15. package/dist/advanced/read-replica/ReadReplicaAdapter.d.ts.map +1 -1
  16. package/dist/cli/index.d.ts +27 -0
  17. package/dist/cli/index.d.ts.map +1 -0
  18. package/dist/cli/index.js +8420 -0
  19. package/dist/cli/index.js.map +1 -0
  20. package/dist/extensions/AuditExtension.d.ts +56 -9
  21. package/dist/extensions/AuditExtension.d.ts.map +1 -1
  22. package/dist/extensions/CachingAdapter.d.ts +5 -4
  23. package/dist/extensions/CachingAdapter.d.ts.map +1 -1
  24. package/dist/extensions/EncryptionExtension.d.ts +5 -4
  25. package/dist/extensions/EncryptionExtension.d.ts.map +1 -1
  26. package/dist/extensions/MultiReadExtension.d.ts +95 -0
  27. package/dist/extensions/MultiReadExtension.d.ts.map +1 -0
  28. package/dist/extensions/MultiWriteExtension.d.ts +67 -0
  29. package/dist/extensions/MultiWriteExtension.d.ts.map +1 -0
  30. package/dist/extensions/ReadReplicaAdapter.d.ts +4 -3
  31. package/dist/extensions/ReadReplicaAdapter.d.ts.map +1 -1
  32. package/dist/extensions/SoftDeleteExtension.d.ts +5 -4
  33. package/dist/extensions/SoftDeleteExtension.d.ts.map +1 -1
  34. package/dist/extensions/index.d.ts +4 -0
  35. package/dist/extensions/index.d.ts.map +1 -1
  36. package/dist/factory/AdapterFactory.d.ts.map +1 -1
  37. package/dist/factory/createDatabaseService.d.ts.map +1 -1
  38. package/dist/index.cjs +3012 -392
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.ts +6 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.mjs +3439 -842
  43. package/dist/index.mjs.map +1 -1
  44. package/dist/migrations/MigrationManager.d.ts +106 -0
  45. package/dist/migrations/MigrationManager.d.ts.map +1 -0
  46. package/dist/migrations/generateDownMigration.d.ts +25 -0
  47. package/dist/migrations/generateDownMigration.d.ts.map +1 -0
  48. package/dist/migrations/index.d.ts +10 -0
  49. package/dist/migrations/index.d.ts.map +1 -0
  50. package/dist/repository/BaseRepository.d.ts +109 -23
  51. package/dist/repository/BaseRepository.d.ts.map +1 -1
  52. package/dist/seeds/SeedManager.d.ts +96 -0
  53. package/dist/seeds/SeedManager.d.ts.map +1 -0
  54. package/dist/seeds/index.d.ts +10 -0
  55. package/dist/seeds/index.d.ts.map +1 -0
  56. package/dist/service/DatabaseService.d.ts +89 -13
  57. package/dist/service/DatabaseService.d.ts.map +1 -1
  58. package/dist/service/EventEmitter.d.ts +3 -14
  59. package/dist/service/EventEmitter.d.ts.map +1 -1
  60. package/dist/service/HealthManager.d.ts +42 -3
  61. package/dist/service/HealthManager.d.ts.map +1 -1
  62. package/package.json +6 -2
@@ -43,7 +43,7 @@ import type { AuditContext, BatchUpdate, CreateInput, DatabaseAdapterType, Datab
43
43
  */
44
44
  export declare class DatabaseService implements DatabaseServiceInterface {
45
45
  private readonly globalConfig;
46
- private readonly adapter;
46
+ readonly adapter: DatabaseAdapterType;
47
47
  private readonly eventHandlers;
48
48
  private readonly eventEmitter;
49
49
  private readonly healthManager;
@@ -54,6 +54,38 @@ export declare class DatabaseService implements DatabaseServiceInterface {
54
54
  globalConfig: DatabaseServiceConfig;
55
55
  eventHandlers?: DatabaseEvents;
56
56
  });
57
+ /**
58
+ * 🔧 Prepare table name and configuration for operation
59
+ *
60
+ * Handles per-operation overrides for:
61
+ * 1. Schema - prepends schema to table name (e.g., "audit.logs")
62
+ * 2. ID Column - temporarily registers table with custom ID column
63
+ *
64
+ * Priority order:
65
+ * - Operation config (highest) - per-query override
66
+ * - TABLE_REGISTRY - global registration
67
+ * - Default (lowest) - 'id' column, 'public' schema
68
+ *
69
+ * @param table Base table name
70
+ * @param operationConfig Optional operation configuration with idColumn/schema
71
+ * @returns Final table name to use (with schema prefix if applicable)
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * // With schema override
76
+ * const tableName = this.prepareTable('logs', { schema: 'audit' });
77
+ * // Returns: 'audit.logs'
78
+ *
79
+ * // With ID column override
80
+ * const tableName = this.prepareTable('feature_flags', { idColumn: 'key' });
81
+ * // Registers table with 'key' as ID column, returns: 'feature_flags'
82
+ *
83
+ * // With both
84
+ * const tableName = this.prepareTable('users', { schema: 'backoffice', idColumn: 'user_id' });
85
+ * // Returns: 'backoffice.users' with 'user_id' as ID column
86
+ * ```
87
+ */
88
+ private prepareTable;
57
89
  /**
58
90
  * 🔍 Get a single record by ID
59
91
  *
@@ -84,34 +116,51 @@ export declare class DatabaseService implements DatabaseServiceInterface {
84
116
  * forceAdapter: 'primary', // Force primary DB
85
117
  * cache: { enabled: false } // Skip cache
86
118
  * });
119
+ *
120
+ * // With custom ID column (per-query override)
121
+ * const flag = await this.db.get('feature_flags', 'my-flag-key', {
122
+ * idColumn: 'key' // Use 'key' instead of 'id' as primary key
123
+ * });
124
+ *
125
+ * // With custom schema
126
+ * const auditLog = await this.db.get('logs', '123', {
127
+ * schema: 'audit' // Query from audit.logs table
128
+ * });
129
+ *
130
+ * // Combining multiple overrides
131
+ * const backofficeUser = await this.db.get('users', 'admin-456', {
132
+ * schema: 'backoffice',
133
+ * idColumn: 'user_id',
134
+ * forceAdapter: 'primary'
135
+ * });
87
136
  * ```
88
137
  */
89
- get<T>(table: TableName, id: string, operationConfig?: OperationConfig): Promise<DatabaseResult<T | null>>;
138
+ get<T extends Record<string, unknown>>(table: TableName, id: string, operationConfig?: OperationConfig): Promise<DatabaseResult<T | null>>;
90
139
  /**
91
140
  * List records with optional filtering, sorting, and pagination
92
141
  * Merges operation config with global config before delegating
93
142
  */
94
- list<T>(table: TableName, options?: QueryOptions, operationConfig?: OperationConfig): Promise<DatabaseResult<PaginatedResult<T>>>;
143
+ list<T extends Record<string, unknown>>(table: TableName, options?: QueryOptions<T>, operationConfig?: OperationConfig): Promise<DatabaseResult<PaginatedResult<T>>>;
95
144
  /**
96
145
  * Create a new record
97
146
  * Merges operation config with global config before delegating
98
147
  */
99
- create<T>(table: TableName, input: CreateInput<T>, operationConfig?: OperationConfig): Promise<DatabaseResult<T>>;
148
+ create<T extends Record<string, unknown>>(table: TableName, input: CreateInput<T>, operationConfig?: OperationConfig): Promise<DatabaseResult<T>>;
100
149
  /**
101
150
  * Update an existing record
102
151
  * Merges operation config with global config before delegating
103
152
  */
104
- update<T>(table: TableName, id: string, input: UpdateInput<T>, operationConfig?: OperationConfig): Promise<DatabaseResult<T>>;
153
+ update<T extends Record<string, unknown>>(table: TableName, id: string, input: UpdateInput<T>, operationConfig?: OperationConfig): Promise<DatabaseResult<T>>;
105
154
  /**
106
155
  * Delete a record
107
156
  * Merges operation config with global config before delegating
108
157
  */
109
158
  delete(table: TableName, id: string, operationConfig?: OperationConfig): Promise<DatabaseResult<void>>;
110
- batchCreate<T>(table: TableName, inputs: CreateInput<T>[], operationConfig?: OperationConfig): Promise<DatabaseResult<T[]>>;
111
- batchUpdate<T>(table: TableName, updates: BatchUpdate<T>[], operationConfig?: OperationConfig): Promise<DatabaseResult<T[]>>;
159
+ batchCreate<T extends Record<string, unknown>>(table: TableName, inputs: CreateInput<T>[], operationConfig?: OperationConfig): Promise<DatabaseResult<T[]>>;
160
+ batchUpdate<T extends Record<string, unknown>>(table: TableName, updates: BatchUpdate<T>[], operationConfig?: OperationConfig): Promise<DatabaseResult<T[]>>;
112
161
  batchDelete(table: TableName, ids: string[], operationConfig?: OperationConfig): Promise<DatabaseResult<void>>;
113
- query<T>(table: TableName, query: QueryOptions, operationConfig?: OperationConfig): Promise<DatabaseResult<PaginatedResult<T>>>;
114
- count(table: TableName, filter?: Filter, operationConfig?: OperationConfig): Promise<DatabaseResult<number>>;
162
+ query<T extends Record<string, unknown>>(table: TableName, query: QueryOptions<T>, operationConfig?: OperationConfig): Promise<DatabaseResult<PaginatedResult<T>>>;
163
+ count<T extends Record<string, unknown> = Record<string, unknown>>(table: TableName, filter?: Filter<T>, operationConfig?: OperationConfig): Promise<DatabaseResult<number>>;
115
164
  transaction<T>(fn: TransactionFn<T>): Promise<DatabaseResult<T>>;
116
165
  setAuditContext(context: AuditContext): Promise<DatabaseResult<void>>;
117
166
  on<T extends DatabaseEvent["type"]>(event: T, handler: (event: Extract<DatabaseEvent, {
@@ -122,15 +171,42 @@ export declare class DatabaseService implements DatabaseServiceInterface {
122
171
  }>) => void | Promise<void>): void;
123
172
  healthCheck(): Promise<DatabaseResult<DatabaseHealthStatus>>;
124
173
  getStatus(): ServiceStatus;
125
- findById<T>(table: string, id: string): Promise<DatabaseResult<T | null>>;
126
- findMany<T>(table: string, options?: QueryOptions): Promise<DatabaseResult<PaginatedResult<T>>>;
174
+ findById<T extends Record<string, unknown>>(table: string, id: string): Promise<DatabaseResult<T | null>>;
175
+ findMany<T extends Record<string, unknown>>(table: string, options?: QueryOptions<T>): Promise<DatabaseResult<PaginatedResult<T>>>;
127
176
  initialize(): Promise<DatabaseResult<void>>;
128
- registerTable(): void;
177
+ /**
178
+ * Registers a table with the underlying adapter.
179
+ *
180
+ * @param name - Logical table name (e.g., 'users')
181
+ * @param table - Physical table name or Drizzle table object
182
+ * @param idColumn - ID column name (defaults to 'id')
183
+ *
184
+ * @example SQL Adapter
185
+ * ```typescript
186
+ * db.registerTable('users', 'users', 'id');
187
+ * db.registerTable('feature_flags', 'feature_flags', 'key');
188
+ * ```
189
+ *
190
+ * @example Drizzle Adapter (requires PgTable objects)
191
+ * ```typescript
192
+ * db.registerTable('users', usersTable, usersTable.id);
193
+ * ```
194
+ */
195
+ registerTable<TTable = string, TIdColumn = string>(name: string, table?: TTable, idColumn?: TIdColumn): void;
129
196
  exists(table: string, id: string): Promise<DatabaseResult<boolean>>;
130
197
  private fireBeforeReadEvent;
131
198
  private fireAfterReadEvent;
132
- findOne<T>(table: TableName, filter: Filter, operationConfig?: OperationConfig): Promise<DatabaseResult<T | null>>;
199
+ findOne<T extends Record<string, unknown>>(table: TableName, filter: Filter<T>, operationConfig?: OperationConfig): Promise<DatabaseResult<T | null>>;
133
200
  softDelete(table: TableName, id: string, operationConfig?: OperationConfig): Promise<DatabaseResult<void>>;
134
201
  get events(): DatabaseEventEmitter;
202
+ /**
203
+ * 🔌 Close the database connection
204
+ *
205
+ * Gracefully shuts down the database connection and releases all resources.
206
+ * Should be called when the service is no longer needed.
207
+ *
208
+ * @returns Promise resolving to DatabaseResult indicating success or failure
209
+ */
210
+ close(): Promise<DatabaseResult<void>>;
135
211
  }
136
212
  //# sourceMappingURL=DatabaseService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseService.d.ts","sourceRoot":"","sources":["../../src/service/DatabaseService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatabaseService.d.ts","sourceRoot":"","sources":["../../src/service/DatabaseService.ts"],"names":[],"mappings":"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"}
@@ -43,19 +43,9 @@
43
43
  * ```
44
44
  *
45
45
  */
46
- import type { ContextType } from "@nestjs/common";
47
46
  import type { DatabaseEvent, DatabaseOperationType, DBEventHandler } from "@plyaz/types";
47
+ import type { EmitQueryErrorOptions, DatabaseExecutionContext } from "@plyaz/types/db";
48
48
  import type { ADAPTERS } from "@plyaz/types";
49
- /**
50
- * Emit a query error event
51
- */
52
- interface EmitQueryErrorOptions {
53
- table: string;
54
- operation: DatabaseOperationType;
55
- error: Error;
56
- params?: Record<string, object>;
57
- context?: ContextType;
58
- }
59
49
  /**
60
50
  * Event emitter for database events that implements the observer pattern.
61
51
  * This class manages event subscriptions and emissions for various database operations,
@@ -83,7 +73,7 @@ export declare class DatabaseEventEmitter implements DatabaseEventEmitter {
83
73
  /**
84
74
  * Emit a before query event
85
75
  */
86
- emitBeforeQuery(table: string, operation: DatabaseOperationType, params?: Record<string, object>, context?: ContextType): void;
76
+ emitBeforeQuery(table: string, operation: DatabaseOperationType, params?: Record<string, object>, context?: DatabaseExecutionContext): void;
87
77
  /**
88
78
  * Emit an after query event
89
79
  */
@@ -92,7 +82,7 @@ export declare class DatabaseEventEmitter implements DatabaseEventEmitter {
92
82
  /**
93
83
  * Emit a before transaction event
94
84
  */
95
- emitBeforeTransaction(transactionId: string, context?: ContextType): void;
85
+ emitBeforeTransaction(transactionId: string, context?: DatabaseExecutionContext): void;
96
86
  /**
97
87
  * Emit an after transaction event
98
88
  */
@@ -106,5 +96,4 @@ export declare class DatabaseEventEmitter implements DatabaseEventEmitter {
106
96
  */
107
97
  emitHealthChange(previousStatus: boolean, currentStatus: boolean, details?: Record<string, string | number | boolean>): void;
108
98
  }
109
- export {};
110
99
  //# sourceMappingURL=EventEmitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../src/service/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAKV,aAAa,EACb,qBAAqB,EACrB,cAAc,EAIf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7C;;GAEG;AACH,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,qBAAqB,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAqB,YAAW,oBAAoB;IAInD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAClB;gBAEiB,OAAO,EAAE,QAAQ;IAa9C;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,aAAa,EACxB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,IAAI;IAuCP;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,aAAa,EACzB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,IAAI;IAQP;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA6BhC;;OAEG;IACH,eAAe,CACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,qBAAqB,EAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,WAAW,GACpB,IAAI;IAaP;;OAEG;IACH,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI;IAaP,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAiCpD;;OAEG;IACH,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAWzE;;OAEG;IACH,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAWnE;;OAEG;IACH,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAWnE;;OAEG;IACH,gBAAgB,CACd,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAClD,IAAI;CAWR"}
1
+ {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../src/service/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAKV,aAAa,EACb,qBAAqB,EACrB,cAAc,EAIf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7C;;;;;;;GAOG;AACH,qBAAa,oBAAqB,YAAW,oBAAoB;IAInD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAClB;gBAEiB,OAAO,EAAE,QAAQ;IAa9C;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,aAAa,EACxB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,IAAI;IAuCP;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,aAAa,EACzB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,IAAI;IAQP;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA6BhC;;OAEG;IACH,eAAe,CACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,qBAAqB,EAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,wBAAwB,GACjC,IAAI;IAaP;;OAEG;IACH,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI;IAaP,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAiCpD;;OAEG;IACH,qBAAqB,CACnB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,IAAI;IAWP;;OAEG;IACH,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAWnE;;OAEG;IACH,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAWnE;;OAEG;IACH,gBAAgB,CACd,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAClD,IAAI;CAWR"}
@@ -10,7 +10,7 @@
10
10
  * soft delete), and advanced features (caching, read replicas, multi-tenancy).
11
11
  *
12
12
  */
13
- import type { DatabaseAdapterType, DatabaseHealthStatus, DatabaseResult } from "@plyaz/types/db";
13
+ import type { DatabaseAdapterType, DatabaseHealthStatus, DatabaseResult, HealthManagerConfig } from "@plyaz/types/db";
14
14
  /**
15
15
  * 🌡️ HEALTH MANAGER - Database Health Monitoring
16
16
  *
@@ -59,10 +59,17 @@ import type { DatabaseAdapterType, DatabaseHealthStatus, DatabaseResult } from "
59
59
  *
60
60
  */
61
61
  export declare class HealthManager {
62
- private readonly adapter;
63
62
  private lastHealthStatus;
64
63
  private initialized;
65
- constructor(adapter: DatabaseAdapterType);
64
+ private currentAdapter;
65
+ private primaryAdapter;
66
+ private backupAdapters;
67
+ private consecutiveFailures;
68
+ private healthCheckInterval?;
69
+ private failoverThreshold;
70
+ private autoFailover;
71
+ private healthCheckTimer?;
72
+ constructor(config: DatabaseAdapterType | HealthManagerConfig);
66
73
  /**
67
74
  * Initializes the health manager by establishing database connection and performing initial health check
68
75
  *
@@ -149,6 +156,14 @@ export declare class HealthManager {
149
156
  * ```
150
157
  *
151
158
  */
159
+ /**
160
+ * Handle health check result and update internal state
161
+ */
162
+ private handleHealthResult;
163
+ /**
164
+ * Create health status from check result
165
+ */
166
+ private createHealthStatus;
152
167
  checkHealth(): Promise<DatabaseResult<DatabaseHealthStatus>>;
153
168
  /**
154
169
  * Get the last known health status
@@ -158,6 +173,30 @@ export declare class HealthManager {
158
173
  * Check if the database is currently healthy
159
174
  */
160
175
  isHealthy(): boolean;
176
+ /**
177
+ * Get the current active adapter
178
+ */
179
+ getCurrentAdapter(): DatabaseAdapterType;
180
+ /**
181
+ * Try to initialize and verify health of a backup adapter
182
+ */
183
+ private tryBackupAdapter;
184
+ /**
185
+ * Switch to a healthy backup adapter
186
+ */
187
+ private switchToBackup;
188
+ /**
189
+ * Perform failover to next available backup adapter
190
+ */
191
+ private performFailover;
192
+ /**
193
+ * Start periodic health checks
194
+ */
195
+ private startPeriodicHealthChecks;
196
+ /**
197
+ * Stop periodic health checks
198
+ */
199
+ private stopPeriodicHealthChecks;
161
200
  /**
162
201
  * Gracefully shut down the health manager
163
202
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HealthManager.d.ts","sourceRoot":"","sources":["../../src/service/HealthManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACf,MAAM,iBAAiB,CAAC;AAMzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,WAAW,CAAS;gBAEC,OAAO,EAAE,mBAAmB;IAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAsClE;;OAEG;IACH,mBAAmB,IAAI,oBAAoB,GAAG,IAAI;IAIlD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQhC"}
1
+ {"version":3,"file":"HealthManager.d.ts","sourceRoot":"","sources":["../../src/service/HealthManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AASzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,gBAAgB,CAAC,CAA4B;gBAEzC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB;IAmB7D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH;;OAEG;YACW,kBAAkB;IAehC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAapB,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAmClE;;OAEG;IACH,mBAAmB,IAAI,oBAAoB,GAAG,IAAI;IAIlD;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,iBAAiB,IAAI,mBAAmB;IAIxC;;OAEG;YACW,gBAAgB;IAY9B;;OAEG;YACW,cAAc;IAO5B;;OAEG;YACW,eAAe;IA0B7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plyaz/db",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Package description",
5
5
  "type": "module",
6
6
  "keywords": [],
@@ -8,6 +8,9 @@
8
8
  "main": "./dist/index.cjs",
9
9
  "module": "./dist/index.mjs",
10
10
  "types": "./dist/index.d.ts",
11
+ "bin": {
12
+ "plyaz-db": "./dist/cli/index.js"
13
+ },
11
14
  "exports": {
12
15
  ".": {
13
16
  "types": "./dist/index.d.ts",
@@ -38,8 +41,9 @@
38
41
  "@plyaz/errors": "^1.3.5",
39
42
  "@plyaz/logger": "^1.3.2",
40
43
  "@plyaz/testing": "^1.5.1",
41
- "@plyaz/types": "^1.15.13",
44
+ "@plyaz/types": "^1.19.0",
42
45
  "@supabase/supabase-js": "^2.75.0",
46
+ "commander": "^12.1.0",
43
47
  "drizzle-orm": "^0.44.6",
44
48
  "ioredis": "^5.8.1",
45
49
  "next": "15.4.7",