@warlock.js/cascade 4.0.93 → 4.0.95
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/cjs/contracts/database-driver.contract.d.ts +71 -0
- package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
- package/cjs/data-source/data-source.d.ts +6 -4
- package/cjs/data-source/data-source.d.ts.map +1 -1
- package/cjs/data-source/data-source.js.map +1 -1
- package/cjs/drivers/mongodb/mongodb-driver.d.ts +36 -0
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
- package/cjs/drivers/mongodb/mongodb-driver.js +69 -0
- package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -1
- package/cjs/drivers/postgres/postgres-driver.d.ts +41 -0
- package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-driver.js +100 -4
- package/cjs/drivers/postgres/postgres-driver.js.map +1 -1
- package/cjs/migration/migration-runner.d.ts.map +1 -1
- package/cjs/migration/migration-runner.js +3 -0
- package/cjs/migration/migration-runner.js.map +1 -1
- package/cjs/model/model.d.ts +71 -13
- package/cjs/model/model.d.ts.map +1 -1
- package/cjs/model/model.js +172 -23
- package/cjs/model/model.js.map +1 -1
- package/cjs/remover/database-remover.d.ts.map +1 -1
- package/cjs/remover/database-remover.js +7 -2
- package/cjs/remover/database-remover.js.map +1 -1
- package/cjs/types.d.ts +244 -0
- package/cjs/types.d.ts.map +1 -1
- package/cjs/utils/connect-to-database.d.ts +42 -45
- package/cjs/utils/connect-to-database.d.ts.map +1 -1
- package/cjs/utils/connect-to-database.js.map +1 -1
- package/cjs/utils/define-model.d.ts +21 -16
- package/cjs/utils/define-model.d.ts.map +1 -1
- package/cjs/writer/database-writer.d.ts +1 -1
- package/cjs/writer/database-writer.d.ts.map +1 -1
- package/cjs/writer/database-writer.js +13 -9
- package/cjs/writer/database-writer.js.map +1 -1
- package/esm/contracts/database-driver.contract.d.ts +71 -0
- package/esm/contracts/database-driver.contract.d.ts.map +1 -1
- package/esm/data-source/data-source.d.ts +6 -4
- package/esm/data-source/data-source.d.ts.map +1 -1
- package/esm/data-source/data-source.js.map +1 -1
- package/esm/drivers/mongodb/mongodb-driver.d.ts +36 -0
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
- package/esm/drivers/mongodb/mongodb-driver.js +69 -0
- package/esm/drivers/mongodb/mongodb-driver.js.map +1 -1
- package/esm/drivers/postgres/postgres-driver.d.ts +41 -0
- package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-driver.js +100 -4
- package/esm/drivers/postgres/postgres-driver.js.map +1 -1
- package/esm/migration/migration-runner.d.ts.map +1 -1
- package/esm/migration/migration-runner.js +3 -0
- package/esm/migration/migration-runner.js.map +1 -1
- package/esm/model/model.d.ts +71 -13
- package/esm/model/model.d.ts.map +1 -1
- package/esm/model/model.js +172 -23
- package/esm/model/model.js.map +1 -1
- package/esm/remover/database-remover.d.ts.map +1 -1
- package/esm/remover/database-remover.js +7 -2
- package/esm/remover/database-remover.js.map +1 -1
- package/esm/types.d.ts +244 -0
- package/esm/types.d.ts.map +1 -1
- package/esm/utils/connect-to-database.d.ts +42 -45
- package/esm/utils/connect-to-database.d.ts.map +1 -1
- package/esm/utils/connect-to-database.js.map +1 -1
- package/esm/utils/define-model.d.ts +21 -16
- package/esm/utils/define-model.d.ts.map +1 -1
- package/esm/writer/database-writer.d.ts +1 -1
- package/esm/writer/database-writer.d.ts.map +1 -1
- package/esm/writer/database-writer.js +13 -9
- package/esm/writer/database-writer.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataSource } from "../data-source/data-source";
|
|
2
|
-
import type { DeleteStrategy,
|
|
2
|
+
import type { DeleteStrategy, ModelDefaults } from "../types";
|
|
3
3
|
/**
|
|
4
4
|
* Supported database driver types.
|
|
5
5
|
*/
|
|
@@ -10,49 +10,18 @@ export type DatabaseDriver = "mongodb" | "postgres" | "mysql";
|
|
|
10
10
|
* These settings will be applied to all models using this data source,
|
|
11
11
|
* unless overridden by individual model static properties.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* This is a re-export of Partial<ModelDefaults> for backward compatibility
|
|
14
|
+
* and to provide clearer naming in the connection config context.
|
|
15
|
+
*
|
|
16
|
+
* The full hierarchy is:
|
|
17
|
+
* 1. Model static property (highest priority)
|
|
18
|
+
* 2. Database config modelDefaults (this type)
|
|
19
|
+
* 3. Driver defaults (e.g., snake_case for PostgreSQL, camelCase for MongoDB)
|
|
20
|
+
* 4. Framework defaults (fallback values)
|
|
21
|
+
*
|
|
22
|
+
* @see ModelDefaults for complete type definition and documentation
|
|
15
23
|
*/
|
|
16
|
-
export type ModelDefaultConfig =
|
|
17
|
-
/**
|
|
18
|
-
* Initial ID value for auto-generated IDs.
|
|
19
|
-
* Can be a number or a function that returns a number.
|
|
20
|
-
* @default 1
|
|
21
|
-
*/
|
|
22
|
-
initialId?: number | (() => number);
|
|
23
|
-
/**
|
|
24
|
-
* Randomly generate the initial ID.
|
|
25
|
-
* - `true`: Random ID between 10000-499999
|
|
26
|
-
* - Function: Custom random ID generator
|
|
27
|
-
* @default false
|
|
28
|
-
*/
|
|
29
|
-
randomInitialId?: boolean | (() => number);
|
|
30
|
-
/**
|
|
31
|
-
* Amount to increment ID by for each new record.
|
|
32
|
-
* @default 1
|
|
33
|
-
*/
|
|
34
|
-
incrementIdBy?: number;
|
|
35
|
-
/**
|
|
36
|
-
* Randomly generate the increment amount.
|
|
37
|
-
* - `true`: Random increment between 1-10
|
|
38
|
-
* - Function: Custom random increment generator
|
|
39
|
-
* @default false
|
|
40
|
-
*/
|
|
41
|
-
randomIncrement?: boolean | (() => number);
|
|
42
|
-
/**
|
|
43
|
-
* Default delete strategy for models.
|
|
44
|
-
* @default undefined (uses data source default or "permanent")
|
|
45
|
-
*/
|
|
46
|
-
deleteStrategy?: DeleteStrategy;
|
|
47
|
-
/**
|
|
48
|
-
* Default validation strict mode.
|
|
49
|
-
* - `"allow"`: Allow unknown fields
|
|
50
|
-
* - `"strip"`: Strip unknown fields
|
|
51
|
-
* - `"fail"`: Fail on unknown fields
|
|
52
|
-
* @default "strip"
|
|
53
|
-
*/
|
|
54
|
-
strictMode?: StrictMode;
|
|
55
|
-
};
|
|
24
|
+
export type ModelDefaultConfig = Partial<ModelDefaults>;
|
|
56
25
|
/**
|
|
57
26
|
* Connection options for establishing a database connection.
|
|
58
27
|
*
|
|
@@ -160,16 +129,44 @@ export type ConnectionOptions<TDriverOptions = any, TClientOptions = any> = {
|
|
|
160
129
|
/**
|
|
161
130
|
* Default model configuration for all models using this data source.
|
|
162
131
|
*
|
|
163
|
-
* These settings
|
|
164
|
-
* static
|
|
132
|
+
* These settings override driver defaults but are overridden by
|
|
133
|
+
* individual model static properties.
|
|
134
|
+
*
|
|
135
|
+
* **Configuration Hierarchy (highest to lowest):**
|
|
136
|
+
* 1. Model static property - `User.createdAtColumn = "creation_date"`
|
|
137
|
+
* 2. **modelOptions (this)** - Database-wide overrides
|
|
138
|
+
* 3. Driver defaults - PostgreSQL: snake_case, MongoDB: camelCase
|
|
139
|
+
* 4. Framework defaults - Fallback values
|
|
165
140
|
*
|
|
166
141
|
* @example
|
|
167
142
|
* ```typescript
|
|
143
|
+
* // PostgreSQL database with custom settings
|
|
168
144
|
* {
|
|
145
|
+
* driver: "postgres",
|
|
169
146
|
* modelOptions: {
|
|
147
|
+
* // Override PostgreSQL default (snake_case) to use camelCase
|
|
148
|
+
* namingConvention: "camelCase",
|
|
149
|
+
* createdAtColumn: "createdAt",
|
|
150
|
+
* updatedAtColumn: "updatedAt",
|
|
151
|
+
*
|
|
152
|
+
* // ID generation settings (for MongoDB)
|
|
170
153
|
* randomIncrement: true,
|
|
171
154
|
* initialId: 1000,
|
|
155
|
+
*
|
|
156
|
+
* // Deletion settings
|
|
172
157
|
* deleteStrategy: "soft",
|
|
158
|
+
* trashTable: "archive", // All models use same trash table
|
|
159
|
+
* }
|
|
160
|
+
* }
|
|
161
|
+
*
|
|
162
|
+
* // MongoDB database with defaults
|
|
163
|
+
* {
|
|
164
|
+
* driver: "mongodb",
|
|
165
|
+
* modelOptions: {
|
|
166
|
+
* // MongoDB already uses camelCase by default
|
|
167
|
+
* randomIncrement: true,
|
|
168
|
+
* initialId: 10000,
|
|
169
|
+
* deleteStrategy: "trash", // Use RecycleBin
|
|
173
170
|
* }
|
|
174
171
|
* }
|
|
175
172
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-to-database.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"connect-to-database.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAc,MAAM,UAAU,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI;IAK1E;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAMjB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAMlC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,EAChF,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,CA2ErB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-to-database.js","sources":["../../src/utils/connect-to-database.ts"],"sourcesContent":[null],"names":["MongoDbDriver","PostgresDriver","dataSource","DataSource","dataSourceRegistry"],"mappings":"+
|
|
1
|
+
{"version":3,"file":"connect-to-database.js","sources":["../../src/utils/connect-to-database.ts"],"sourcesContent":[null],"names":["MongoDbDriver","PostgresDriver","dataSource","DataSource","dataSourceRegistry"],"mappings":"+TAmPA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI,eAAe,iBAAiB,CACrC,OAA0D,EAAA;;AAG1D,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;AAC/C,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACjD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAsB,CAAC;AAE3B,IAAA,QAAQ,UAAU;QAChB,KAAK,SAAS,EAAE;YACd,MAAM,GAAG,IAAIA,2BAAa,CACxB;gBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAoB;AAC5C,aAAA,EACD,OAAO,CAAC,aAAoB,CAC7B,CAAC;YACF,MAAM;AACP,SAAA;QAED,KAAK,UAAU,EAAE;YACf,MAAM,GAAG,IAAIC,6BAAc,CAAC;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,OAAO,CAAC,GAAG;gBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,gBAAA,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;;gBAE1B,GAAI,OAAO,CAAC,aAAwB;AACrC,aAAA,CAAC,CAAC;YACH,MAAM;AACP,SAAA;AAED,QAAA,KAAK,OAAO;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAEvE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,CAAA,8CAAA,CAAgD,CAC/E,CAAC;AACL,KAAA;;AAGD,IAAA,MAAMC,YAAU,GAAG,IAAIC,qBAAU,CAAC;AAChC,QAAA,IAAI,EAAE,cAAc;QACpB,MAAM;QACN,SAAS;QACT,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,YAAY;AACpC,KAAA,CAAC,CAAC;;AAGH,IAAAC,qCAAkB,CAAC,QAAQ,CAACF,YAAU,CAAC,CAAC;;IAGxC,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,cAAc,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CACzG,CAAC;AACH,KAAA;AAED,IAAA,OAAOA,YAAU,CAAC;AACpB"}
|
|
@@ -192,6 +192,7 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
|
|
|
192
192
|
on<TContext_1 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_1>): () => void;
|
|
193
193
|
once<TContext_2 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_2>): () => void;
|
|
194
194
|
off<TContext_3 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_3>): void;
|
|
195
|
+
generateNextId(): Promise<number>;
|
|
195
196
|
destroy(options?: {
|
|
196
197
|
strategy?: DeleteStrategy;
|
|
197
198
|
skipEvents?: boolean;
|
|
@@ -256,6 +257,7 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
|
|
|
256
257
|
on<TContext_1 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_1>): () => void;
|
|
257
258
|
once<TContext_2 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_2>): () => void;
|
|
258
259
|
off<TContext_3 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_3>): void;
|
|
260
|
+
generateNextId(): Promise<number>;
|
|
259
261
|
destroy(options?: {
|
|
260
262
|
strategy?: DeleteStrategy;
|
|
261
263
|
skipEvents?: boolean;
|
|
@@ -316,7 +318,7 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
|
|
|
316
318
|
incrementIdBy?: number;
|
|
317
319
|
createdAtColumn?: string | false;
|
|
318
320
|
updatedAtColumn?: string | false;
|
|
319
|
-
deletedAtColumn: string;
|
|
321
|
+
deletedAtColumn: string | false;
|
|
320
322
|
trashTable?: string;
|
|
321
323
|
globalScopes: Map<string, import("../model/model").GlobalScopeDefinition>;
|
|
322
324
|
localScopes: Map<string, import("../model/model").LocalScopeCallback>;
|
|
@@ -351,27 +353,30 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
|
|
|
351
353
|
increase<TModel_20 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_20>, filter: Record<string, unknown>, field: string, amount: number): Promise<number>;
|
|
352
354
|
decrease<TModel_21 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_21>, filter: Record<string, unknown>, field: string, amount: number): Promise<number>;
|
|
353
355
|
atomic<TModel_22 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_22>, filter: Record<string, unknown>, operations: Record<string, unknown>): Promise<number>;
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
356
|
+
findOneAndUpdate<TModel_23 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_23>, filter: Record<string, unknown>, update: Record<string, unknown>): Promise<TModel_23>;
|
|
357
|
+
delete<TModel_24 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_24>, filter?: Record<string, unknown>): Promise<number>;
|
|
358
|
+
deleteOne<TModel_25 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_25>, filter?: Record<string, unknown>): Promise<number>;
|
|
359
|
+
restore<TModel_26 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_26>, id: string | number, options?: {
|
|
357
360
|
onIdConflict?: "fail" | "assignNew";
|
|
358
361
|
skipEvents?: boolean;
|
|
359
|
-
}): Promise<
|
|
360
|
-
restoreAll<
|
|
362
|
+
}): Promise<TModel_26>;
|
|
363
|
+
restoreAll<TModel_27 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_27>, options?: {
|
|
361
364
|
onIdConflict?: "fail" | "assignNew";
|
|
362
365
|
skipEvents?: boolean;
|
|
363
|
-
}): Promise<
|
|
364
|
-
create<
|
|
365
|
-
createMany<
|
|
366
|
-
findOrCreate<
|
|
367
|
-
|
|
368
|
-
|
|
366
|
+
}): Promise<TModel_27[]>;
|
|
367
|
+
create<TModel_28 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_1 extends ModelSchema = TModel_28 extends Model<infer S extends ModelSchema> ? S : ModelSchema>(this: import("../model/model").ChildModel<TModel_28>, data: Partial<TSchema_1>): Promise<TModel_28>;
|
|
368
|
+
createMany<TModel_29 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_2 extends ModelSchema = TModel_29 extends Model<infer S_1 extends ModelSchema> ? S_1 : ModelSchema>(this: import("../model/model").ChildModel<TModel_29>, data: Partial<TSchema_2>[]): Promise<TModel_29[]>;
|
|
369
|
+
findOrCreate<TModel_30 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_3 extends ModelSchema = TModel_30 extends Model<infer S_2 extends ModelSchema> ? S_2 : ModelSchema>(this: import("../model/model").ChildModel<TModel_30>, filter: Partial<TSchema_3>, data: Partial<TSchema_3>): Promise<TModel_30>;
|
|
370
|
+
upsert<TModel_31 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_4 extends ModelSchema = TModel_31 extends Model<infer S_3 extends ModelSchema> ? S_3 : ModelSchema>(this: import("../model/model").ChildModel<TModel_31>, filter: Partial<TSchema_4>, data: Partial<TSchema_4>, options?: Record<string, unknown>): Promise<TModel_31>;
|
|
371
|
+
updateOrCreate<TModel_32 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_5 extends ModelSchema = TModel_32 extends Model<infer S_4 extends ModelSchema> ? S_4 : ModelSchema>(this: import("../model/model").ChildModel<TModel_32>, filter: Partial<TSchema_5>, data: Partial<TSchema_5>, options?: Record<string, unknown>): Promise<TModel_32>;
|
|
372
|
+
findOneAndDelete<TModel_33 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_33>, filter: Record<string, unknown>, options?: Record<string, unknown>): Promise<TModel_33>;
|
|
373
|
+
events<TModel_34 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_34>): import("..").ModelEvents<TModel_34>;
|
|
369
374
|
$cleanup(): void;
|
|
370
|
-
on<
|
|
371
|
-
once<
|
|
372
|
-
off<
|
|
375
|
+
on<TModel_35 extends Model<ModelSchema> = Model<ModelSchema>, TContext_4 = unknown>(this: import("../model/model").ChildModel<TModel_35>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_35, TContext_4>): () => void;
|
|
376
|
+
once<TModel_36 extends Model<ModelSchema> = Model<ModelSchema>, TContext_5 = unknown>(this: import("../model/model").ChildModel<TModel_36>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_36, TContext_5>): () => void;
|
|
377
|
+
off<TModel_37 extends Model<ModelSchema> = Model<ModelSchema>, TContext_6 = unknown>(this: import("../model/model").ChildModel<TModel_37>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_37, TContext_6>): void;
|
|
373
378
|
globalEvents(): import("..").ModelEvents<Model<ModelSchema>>;
|
|
374
|
-
deserialize<
|
|
379
|
+
deserialize<TModel_38 extends Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_38>, data: any): TModel_38;
|
|
375
380
|
}, "new"> & TStatics;
|
|
376
381
|
/**
|
|
377
382
|
* Type helper to infer the schema type from a defined model.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-model.d.ts","sourceRoot":"","sources":["../../src/utils/define-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,WAAW,IAAI;IAC5D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,WAAW,CACzB,OAAO,SAAS,WAAW,EAC3B,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC5C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAEzC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACpE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;CACtE
|
|
1
|
+
{"version":3,"file":"define-model.d.ts","sourceRoot":"","sources":["../../src/utils/define-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,WAAW,IAAI;IAC5D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,WAAW,CACzB,OAAO,SAAS,WAAW,EAC3B,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC5C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAEzC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACpE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;CACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;oBAC2B,cAAc;IAE5C;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4BN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,KAC1E,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,GACR,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,KAAK,GACP,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-writer.d.ts","sourceRoot":"","sources":["../../src/writer/database-writer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAMxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAkB;IAE1C,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;;;;;;;;;OAWG;gBACgB,KAAK,EAAE,KAAK;IAW/B;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA0DrE;;;;;;;;;OASG;YACW,eAAe;IA8D7B;;;;;;OAMG;YACW,aAAa;
|
|
1
|
+
{"version":3,"file":"database-writer.d.ts","sourceRoot":"","sources":["../../src/writer/database-writer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAMxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAkB;IAE1C,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;;;;;;;;;OAWG;gBACgB,KAAK,EAAE,KAAK;IAW/B;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA0DrE;;;;;;;;;OASG;YACW,eAAe;IA8D7B;;;;;;OAMG;YACW,aAAa;IAwC3B;;;;;;OAMG;YACW,aAAa;IAsC3B;;;;OAIG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;;;OAMG;IACH;;;;;;;;OAQG;YACW,WAAW;CAI1B"}
|
|
@@ -199,16 +199,18 @@ class DatabaseWriter {
|
|
|
199
199
|
*/
|
|
200
200
|
async performInsert(options) {
|
|
201
201
|
// Generate ID if needed (NoSQL only)
|
|
202
|
-
await this.
|
|
202
|
+
await this.generateNextId();
|
|
203
203
|
// Get data to insert (already validated and casted)
|
|
204
204
|
const dataToInsert = this.model.data;
|
|
205
|
-
//
|
|
206
|
-
|
|
207
|
-
|
|
205
|
+
// Add createdAt and updatedAt to the data (using resolved column names)
|
|
206
|
+
// The column names are already resolved through the hierarchy:
|
|
207
|
+
// Model static property > Database config > Driver defaults > undefined
|
|
208
|
+
const createdAtColumn = this.ctor.createdAtColumn;
|
|
209
|
+
if (createdAtColumn !== false && createdAtColumn !== undefined) {
|
|
208
210
|
dataToInsert[createdAtColumn] = new Date();
|
|
209
211
|
}
|
|
210
|
-
const updatedAtColumn = this.ctor.updatedAtColumn
|
|
211
|
-
if (updatedAtColumn) {
|
|
212
|
+
const updatedAtColumn = this.ctor.updatedAtColumn;
|
|
213
|
+
if (updatedAtColumn !== false && updatedAtColumn !== undefined) {
|
|
212
214
|
dataToInsert[updatedAtColumn] = new Date();
|
|
213
215
|
}
|
|
214
216
|
// Emit creating event
|
|
@@ -238,8 +240,10 @@ class DatabaseWriter {
|
|
|
238
240
|
if (!options.skipEvents) {
|
|
239
241
|
await this.model.emitEvent("updating");
|
|
240
242
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
+
// Update the updatedAt timestamp (using resolved column name)
|
|
244
|
+
const updatedAtColumn = this.ctor.updatedAtColumn;
|
|
245
|
+
if (updatedAtColumn !== false && updatedAtColumn !== undefined) {
|
|
246
|
+
this.model.set(updatedAtColumn, new Date());
|
|
243
247
|
}
|
|
244
248
|
if (options.replace) {
|
|
245
249
|
const document = await this.driver.replace(this.table, {
|
|
@@ -262,7 +266,7 @@ class DatabaseWriter {
|
|
|
262
266
|
*
|
|
263
267
|
* @private
|
|
264
268
|
*/
|
|
265
|
-
async
|
|
269
|
+
async generateNextId() {
|
|
266
270
|
if (!this.ctor.autoGenerateId || this.model.get("id")) {
|
|
267
271
|
return;
|
|
268
272
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-writer.js","sources":["../../src/writer/database-writer.ts"],"sourcesContent":[null],"names":["v","getSealConfig","DatabaseWriterValidationError","events","getModelUpdatedEvent"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"database-writer.js","sources":["../../src/writer/database-writer.ts"],"sourcesContent":[null],"names":["v","getSealConfig","DatabaseWriterValidationError","events","getModelUpdatedEvent"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ModelDefaults } from "../types";
|
|
1
2
|
import { DriverBlueprintContract } from "./driver-blueprint.contract";
|
|
2
3
|
import type { MigrationDriverContract } from "./migration-driver.contract";
|
|
3
4
|
import type { QueryBuilderContract } from "./query-builder.contract";
|
|
@@ -79,6 +80,28 @@ export interface DriverContract {
|
|
|
79
80
|
* Database blueprint (Information Schema)
|
|
80
81
|
*/
|
|
81
82
|
readonly blueprint: DriverBlueprintContract;
|
|
83
|
+
/**
|
|
84
|
+
* Driver-specific model defaults.
|
|
85
|
+
*
|
|
86
|
+
* These defaults are applied to all models using this driver,
|
|
87
|
+
* unless overridden by database config or model static properties.
|
|
88
|
+
*
|
|
89
|
+
* Examples:
|
|
90
|
+
* - MongoDB: camelCase naming (createdAt, updatedAt)
|
|
91
|
+
* - PostgreSQL: snake_case naming (created_at, updated_at)
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* // PostgreSQL driver
|
|
96
|
+
* readonly modelDefaults: Partial<ModelDefaults> = {
|
|
97
|
+
* namingConvention: "snake_case",
|
|
98
|
+
* createdAtColumn: "created_at",
|
|
99
|
+
* updatedAtColumn: "updated_at",
|
|
100
|
+
* timestamps: true,
|
|
101
|
+
* };
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
readonly modelDefaults?: Partial<ModelDefaults>;
|
|
82
105
|
/** Whether the underlying connection is currently established. */
|
|
83
106
|
readonly isConnected: boolean;
|
|
84
107
|
/** Establish the underlying database connection/pool. */
|
|
@@ -105,6 +128,54 @@ export interface DriverContract {
|
|
|
105
128
|
updateMany(table: string, filter: Record<string, unknown>, update: UpdateOperations, options?: Record<string, unknown>): Promise<UpdateResult>;
|
|
106
129
|
/** Replace a single document that matches the provided filter. */
|
|
107
130
|
replace<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
|
|
131
|
+
/** Find one and update a single document that matches the provided filter and return the updated document */
|
|
132
|
+
findOneAndUpdate<T = unknown>(table: string, filter: Record<string, unknown>, update: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
|
|
133
|
+
/**
|
|
134
|
+
* Upsert (insert or update) a single document/row.
|
|
135
|
+
*
|
|
136
|
+
* If a document matching the filter exists, it will be updated.
|
|
137
|
+
* If no document matches, a new one will be inserted.
|
|
138
|
+
*
|
|
139
|
+
* @param table - Target table/collection name
|
|
140
|
+
* @param filter - Filter conditions to find existing document
|
|
141
|
+
* @param document - Document data to insert or update
|
|
142
|
+
* @param options - Driver-specific options (conflict columns for SQL, etc.)
|
|
143
|
+
* @returns The upserted document
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* // PostgreSQL: upsert on unique email
|
|
148
|
+
* await driver.upsert('users', { email: 'user@example.com' }, {
|
|
149
|
+
* email: 'user@example.com',
|
|
150
|
+
* name: 'John Doe',
|
|
151
|
+
* updatedAt: new Date()
|
|
152
|
+
* }, { conflictColumns: ['email'] });
|
|
153
|
+
*
|
|
154
|
+
* // MongoDB: upsert by filter
|
|
155
|
+
* await driver.upsert('users', { email: 'user@example.com' }, {
|
|
156
|
+
* email: 'user@example.com',
|
|
157
|
+
* name: 'John Doe'
|
|
158
|
+
* });
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
upsert<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T>;
|
|
162
|
+
/**
|
|
163
|
+
* Find one and delete a single document that matches the provided filter and return the deleted document.
|
|
164
|
+
*
|
|
165
|
+
* @param table - Target table/collection name
|
|
166
|
+
* @param filter - Filter conditions
|
|
167
|
+
* @param options - Optional delete options
|
|
168
|
+
* @returns The deleted document or null if not found
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const deleted = await driver.findOneAndDelete('users', { id: 1 });
|
|
173
|
+
* if (deleted) {
|
|
174
|
+
* console.log('Deleted user:', deleted);
|
|
175
|
+
* }
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
findOneAndDelete<T = unknown>(table: string, filter: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
|
|
108
179
|
/** Delete a single document that matches the provided filter. */
|
|
109
180
|
delete(table: string, filter?: Record<string, unknown>, options?: Record<string, unknown>): Promise<number>;
|
|
110
181
|
/** Delete documents/rows matching the filter. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/database-driver.contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/database-driver.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { DriverContract, IdGeneratorContract } from "../contracts";
|
|
2
|
-
import type { DeleteStrategy } from "../types";
|
|
3
|
-
import type { ModelDefaultConfig } from "../utils/connect-to-database";
|
|
2
|
+
import type { DeleteStrategy, ModelDefaults } from "../types";
|
|
4
3
|
/**
|
|
5
4
|
* Configuration options used when registering a data source.
|
|
6
5
|
*/
|
|
@@ -36,9 +35,12 @@ export type DataSourceOptions = {
|
|
|
36
35
|
/**
|
|
37
36
|
* Default model configuration for all models using this data source.
|
|
38
37
|
*
|
|
38
|
+
* These defaults override driver defaults but are overridden by
|
|
39
|
+
* individual model static properties.
|
|
40
|
+
*
|
|
39
41
|
* @default undefined
|
|
40
42
|
*/
|
|
41
|
-
modelDefaults?:
|
|
43
|
+
modelDefaults?: Partial<ModelDefaults>;
|
|
42
44
|
};
|
|
43
45
|
/**
|
|
44
46
|
* Wrapper that couples a driver with its metadata.
|
|
@@ -78,7 +80,7 @@ export declare class DataSource {
|
|
|
78
80
|
/** Default trash table/collection name for "trash" delete strategy. */
|
|
79
81
|
readonly defaultTrashTable?: string;
|
|
80
82
|
/** Default model configuration for all models using this data source. */
|
|
81
|
-
readonly modelDefaults?:
|
|
83
|
+
readonly modelDefaults?: Partial<ModelDefaults>;
|
|
82
84
|
/**
|
|
83
85
|
* Create a new data source.
|
|
84
86
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-source.d.ts","sourceRoot":"","sources":["../../src/data-source/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"data-source.d.ts","sourceRoot":"","sources":["../../src/data-source/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;IACrB,gDAAgD;IAChD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,6CAA6C;IAC7C,SAAgB,MAAM,EAAE,cAAc,CAAC;IAEvC,+CAA+C;IAC/C,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC,iEAAiE;IACjE,SAAgB,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvD,uEAAuE;IACvE,SAAgB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3C,yEAAyE;IACzE,SAAgB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvD;;;;OAIG;gBACgB,OAAO,EAAE,iBAAiB;IAS7C;;;;;;;;;;;;;;;OAeG;IACH,IAAW,WAAW,IAAI,mBAAmB,GAAG,SAAS,CAOxD;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-source.js","sources":["../../src/data-source/data-source.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-source.js","sources":["../../src/data-source/data-source.ts"],"sourcesContent":[null],"names":[],"mappings":"AAgDA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;MACU,UAAU,CAAA;;AAEL,IAAA,IAAI,CAAS;;AAGb,IAAA,MAAM,CAAiB;;AAGvB,IAAA,SAAS,CAAU;;AAGnB,IAAA,qBAAqB,CAAkB;;AAGvC,IAAA,iBAAiB,CAAU;;AAG3B,IAAA,aAAa,CAA0B;AAEvD;;;;AAIG;AACH,IAAA,WAAA,CAAmB,OAA0B,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;AAC3D,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AACnD,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;KAC5C;AAED;;;;;;;;;;;;;;;AAeG;AACH,IAAA,IAAW,WAAW,GAAA;;AAEpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAa,CAAC;AAClC,QAAA,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU,EAAE;AAC/C,YAAA,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;AAChC,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;AACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ClientSession, Db, MongoClient, MongoClientOptions } from "mongodb";
|
|
2
2
|
import type { DriverBlueprintContract, DriverContract, DriverEvent, DriverEventListener, DriverTransactionContract, IdGeneratorContract, InsertResult, MigrationDriverContract, QueryBuilderContract, SyncAdapterContract, UpdateResult } from "../../contracts";
|
|
3
|
+
import type { ModelDefaults } from "../../types";
|
|
3
4
|
import type { MongoDriverOptions } from "./types";
|
|
4
5
|
/**
|
|
5
6
|
* MongoDB driver implementation that fulfils the Cascade driver contract.
|
|
@@ -24,6 +25,16 @@ export declare class MongoDbDriver implements DriverContract {
|
|
|
24
25
|
* The name of this driver.
|
|
25
26
|
*/
|
|
26
27
|
readonly name = "mongodb";
|
|
28
|
+
/**
|
|
29
|
+
* MongoDB driver model defaults.
|
|
30
|
+
*
|
|
31
|
+
* MongoDB follows NoSQL conventions:
|
|
32
|
+
* - camelCase naming for fields (createdAt, updatedAt, deletedAt)
|
|
33
|
+
* - Manual ID generation (auto-increment id field separate from _id)
|
|
34
|
+
* - Timestamps enabled by default
|
|
35
|
+
* - Trash delete strategy with per-collection trash tables
|
|
36
|
+
*/
|
|
37
|
+
readonly modelDefaults: Partial<ModelDefaults>;
|
|
27
38
|
/**
|
|
28
39
|
* Create a new MongoDB driver using the supplied connection options.
|
|
29
40
|
*
|
|
@@ -102,6 +113,31 @@ export declare class MongoDbDriver implements DriverContract {
|
|
|
102
113
|
* Replace a single document that matches the provided filter.
|
|
103
114
|
*/
|
|
104
115
|
replace<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
|
|
116
|
+
/**
|
|
117
|
+
* Find one and update a single document that matches the provided filter and return the updated document
|
|
118
|
+
*/
|
|
119
|
+
findOneAndUpdate<T = unknown>(table: string, filter: Record<string, unknown>, update: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
|
|
120
|
+
/**
|
|
121
|
+
* Upsert (insert or update) a single document.
|
|
122
|
+
*
|
|
123
|
+
* Uses MongoDB's findOneAndUpdate with upsert option.
|
|
124
|
+
*
|
|
125
|
+
* @param table - Target collection name
|
|
126
|
+
* @param filter - Filter conditions to find existing document
|
|
127
|
+
* @param document - Document data to insert or update
|
|
128
|
+
* @param options - Optional upsert options
|
|
129
|
+
* @returns The upserted document
|
|
130
|
+
*/
|
|
131
|
+
upsert<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T>;
|
|
132
|
+
/**
|
|
133
|
+
* Find one and delete a single document that matches the provided filter and return the deleted document.
|
|
134
|
+
*
|
|
135
|
+
* @param table - Target collection name
|
|
136
|
+
* @param filter - Filter conditions
|
|
137
|
+
* @param options - Optional delete options
|
|
138
|
+
* @returns The deleted document or null if not found
|
|
139
|
+
*/
|
|
140
|
+
findOneAndDelete<T = unknown>(table: string, filter: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
|
|
105
141
|
/**
|
|
106
142
|
* Update multiple documents that match the provided filter.
|
|
107
143
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/mongodb/mongodb-driver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,aAAa,EACb,EAAE,
|
|
1
|
+
{"version":3,"file":"mongodb-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/mongodb/mongodb-driver.ts"],"names":[],"mappings":"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"}
|