@warlock.js/cascade 4.0.92 → 4.0.93
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 +118 -0
- package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
- package/cjs/contracts/migration-driver.contract.d.ts +14 -0
- package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
- package/cjs/contracts/query-builder.contract.d.ts +410 -1
- package/cjs/contracts/query-builder.contract.d.ts.map +1 -1
- package/cjs/data-source/data-source-registry.d.ts +4 -0
- package/cjs/data-source/data-source-registry.d.ts.map +1 -1
- package/cjs/data-source/data-source-registry.js +7 -0
- package/cjs/data-source/data-source-registry.js.map +1 -1
- package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-blueprint.js.map +1 -0
- package/{esm/drivers/mongo → cjs/drivers/mongodb}/mongodb-driver.d.ts +49 -0
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
- package/cjs/drivers/{mongo → mongodb}/mongodb-driver.js +125 -8
- package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
- package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
- package/cjs/drivers/mongodb/mongodb-id-generator.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +220 -14
- package/cjs/drivers/mongodb/mongodb-query-builder.js.map +1 -0
- package/{esm/drivers/mongo/mongo-query-operations.d.ts → cjs/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
- package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
- package/cjs/drivers/mongodb/mongodb-query-operations.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
- package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
- package/cjs/drivers/mongodb/mongodb-query-parser.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
- package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
- package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
- package/{esm/drivers/mongo → cjs/drivers/mongodb}/types.d.ts +2 -2
- package/cjs/drivers/mongodb/types.d.ts.map +1 -0
- package/cjs/drivers/postgres/index.d.ts +16 -0
- package/cjs/drivers/postgres/index.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-blueprint.d.ts +64 -0
- package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-blueprint.js +121 -0
- package/cjs/drivers/postgres/postgres-blueprint.js.map +1 -0
- package/cjs/drivers/postgres/postgres-dialect.d.ts +135 -0
- package/cjs/drivers/postgres/postgres-dialect.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-dialect.js +245 -0
- package/cjs/drivers/postgres/postgres-dialect.js.map +1 -0
- package/cjs/drivers/postgres/postgres-driver.d.ts +360 -0
- package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-driver.js +763 -0
- package/cjs/drivers/postgres/postgres-driver.js.map +1 -0
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts +297 -0
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-migration-driver.js +578 -0
- package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -0
- package/cjs/drivers/postgres/postgres-query-builder.d.ts +824 -0
- package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-query-builder.js +1800 -0
- package/cjs/drivers/postgres/postgres-query-builder.js.map +1 -0
- package/cjs/drivers/postgres/postgres-query-parser.d.ts +308 -0
- package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-query-parser.js +706 -0
- package/cjs/drivers/postgres/postgres-query-parser.js.map +1 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.js +197 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.js.map +1 -0
- package/cjs/drivers/postgres/types.d.ts +142 -0
- package/cjs/drivers/postgres/types.d.ts.map +1 -0
- package/cjs/drivers/sql/index.d.ts +10 -0
- package/cjs/drivers/sql/index.d.ts.map +1 -0
- package/cjs/drivers/sql/sql-dialect.contract.d.ts +203 -0
- package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
- package/cjs/drivers/sql/sql-types.d.ts +202 -0
- package/cjs/drivers/sql/sql-types.d.ts.map +1 -0
- package/cjs/index.d.ts +9 -6
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +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 +236 -1
- package/cjs/model/model.d.ts.map +1 -1
- package/cjs/model/model.js +203 -4
- package/cjs/model/model.js.map +1 -1
- package/cjs/relations/helpers.d.ts +156 -0
- package/cjs/relations/helpers.d.ts.map +1 -0
- package/cjs/relations/helpers.js +197 -0
- package/cjs/relations/helpers.js.map +1 -0
- package/cjs/relations/index.d.ts +33 -0
- package/cjs/relations/index.d.ts.map +1 -0
- package/cjs/relations/pivot-operations.d.ts +160 -0
- package/cjs/relations/pivot-operations.d.ts.map +1 -0
- package/cjs/relations/pivot-operations.js +293 -0
- package/cjs/relations/pivot-operations.js.map +1 -0
- package/cjs/relations/relation-loader.d.ts +194 -0
- package/cjs/relations/relation-loader.d.ts.map +1 -0
- package/cjs/relations/relation-loader.js +466 -0
- package/cjs/relations/relation-loader.js.map +1 -0
- package/cjs/relations/types.d.ts +280 -0
- package/cjs/relations/types.d.ts.map +1 -0
- package/cjs/sync/model-sync-operation.js +1 -1
- package/cjs/sync/model-sync-operation.js.map +1 -1
- package/cjs/utils/connect-to-database.d.ts.map +1 -1
- package/cjs/utils/connect-to-database.js +15 -3
- package/cjs/utils/connect-to-database.js.map +1 -1
- package/cjs/utils/define-model.d.ts +51 -29
- package/cjs/utils/define-model.d.ts.map +1 -1
- package/cjs/validation/rules/database-model-rule.js +1 -1
- package/cjs/validation/rules/database-model-rule.js.map +1 -1
- package/esm/contracts/database-driver.contract.d.ts +118 -0
- package/esm/contracts/database-driver.contract.d.ts.map +1 -1
- package/esm/contracts/migration-driver.contract.d.ts +14 -0
- package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
- package/esm/contracts/query-builder.contract.d.ts +410 -1
- package/esm/contracts/query-builder.contract.d.ts.map +1 -1
- package/esm/data-source/data-source-registry.d.ts +4 -0
- package/esm/data-source/data-source-registry.d.ts.map +1 -1
- package/esm/data-source/data-source-registry.js +7 -0
- package/esm/data-source/data-source-registry.js.map +1 -1
- package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-blueprint.js.map +1 -0
- package/{cjs/drivers/mongo → esm/drivers/mongodb}/mongodb-driver.d.ts +49 -0
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
- package/esm/drivers/{mongo → mongodb}/mongodb-driver.js +121 -4
- package/esm/drivers/mongodb/mongodb-driver.js.map +1 -0
- package/esm/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
- package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
- package/esm/drivers/mongodb/mongodb-id-generator.js.map +1 -0
- package/esm/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
- package/esm/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +218 -12
- package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -0
- package/{cjs/drivers/mongo/mongo-query-operations.d.ts → esm/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
- package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
- package/esm/drivers/mongodb/mongodb-query-operations.js.map +1 -0
- package/esm/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
- package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
- package/esm/drivers/mongodb/mongodb-query-parser.js.map +1 -0
- package/esm/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
- package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
- package/{cjs/drivers/mongo → esm/drivers/mongodb}/types.d.ts +2 -2
- package/esm/drivers/mongodb/types.d.ts.map +1 -0
- package/esm/drivers/postgres/index.d.ts +16 -0
- package/esm/drivers/postgres/index.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-blueprint.d.ts +64 -0
- package/esm/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-blueprint.js +121 -0
- package/esm/drivers/postgres/postgres-blueprint.js.map +1 -0
- package/esm/drivers/postgres/postgres-dialect.d.ts +135 -0
- package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-dialect.js +245 -0
- package/esm/drivers/postgres/postgres-dialect.js.map +1 -0
- package/esm/drivers/postgres/postgres-driver.d.ts +360 -0
- package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-driver.js +763 -0
- package/esm/drivers/postgres/postgres-driver.js.map +1 -0
- package/esm/drivers/postgres/postgres-migration-driver.d.ts +297 -0
- package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-migration-driver.js +578 -0
- package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -0
- package/esm/drivers/postgres/postgres-query-builder.d.ts +824 -0
- package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-query-builder.js +1800 -0
- package/esm/drivers/postgres/postgres-query-builder.js.map +1 -0
- package/esm/drivers/postgres/postgres-query-parser.d.ts +308 -0
- package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-query-parser.js +706 -0
- package/esm/drivers/postgres/postgres-query-parser.js.map +1 -0
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-sync-adapter.js +197 -0
- package/esm/drivers/postgres/postgres-sync-adapter.js.map +1 -0
- package/esm/drivers/postgres/types.d.ts +142 -0
- package/esm/drivers/postgres/types.d.ts.map +1 -0
- package/esm/drivers/sql/index.d.ts +10 -0
- package/esm/drivers/sql/index.d.ts.map +1 -0
- package/esm/drivers/sql/sql-dialect.contract.d.ts +203 -0
- package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
- package/esm/drivers/sql/sql-types.d.ts +202 -0
- package/esm/drivers/sql/sql-types.d.ts.map +1 -0
- package/esm/index.d.ts +9 -6
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +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 +236 -1
- package/esm/model/model.d.ts.map +1 -1
- package/esm/model/model.js +203 -4
- package/esm/model/model.js.map +1 -1
- package/esm/relations/helpers.d.ts +156 -0
- package/esm/relations/helpers.d.ts.map +1 -0
- package/esm/relations/helpers.js +197 -0
- package/esm/relations/helpers.js.map +1 -0
- package/esm/relations/index.d.ts +33 -0
- package/esm/relations/index.d.ts.map +1 -0
- package/esm/relations/pivot-operations.d.ts +160 -0
- package/esm/relations/pivot-operations.d.ts.map +1 -0
- package/esm/relations/pivot-operations.js +293 -0
- package/esm/relations/pivot-operations.js.map +1 -0
- package/esm/relations/relation-loader.d.ts +194 -0
- package/esm/relations/relation-loader.d.ts.map +1 -0
- package/esm/relations/relation-loader.js +466 -0
- package/esm/relations/relation-loader.js.map +1 -0
- package/esm/relations/types.d.ts +280 -0
- package/esm/relations/types.d.ts.map +1 -0
- package/esm/sync/model-sync-operation.js +1 -1
- package/esm/sync/model-sync-operation.js.map +1 -1
- package/esm/utils/connect-to-database.d.ts.map +1 -1
- package/esm/utils/connect-to-database.js +15 -3
- package/esm/utils/connect-to-database.js.map +1 -1
- package/esm/utils/define-model.d.ts +51 -29
- package/esm/utils/define-model.d.ts.map +1 -1
- package/esm/validation/rules/database-model-rule.js +1 -1
- package/esm/validation/rules/database-model-rule.js.map +1 -1
- package/package.json +4 -4
- package/cjs/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-id-generator.js.map +0 -1
- package/cjs/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-migration-driver.js.map +0 -1
- package/cjs/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-query-builder.js.map +0 -1
- package/cjs/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-query-operations.js.map +0 -1
- package/cjs/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-query-parser.js.map +0 -1
- package/cjs/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-sync-adapter.js.map +0 -1
- package/cjs/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongodb-blueprint.js.map +0 -1
- package/cjs/drivers/mongo/mongodb-driver.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongodb-driver.js.map +0 -1
- package/cjs/drivers/mongo/types.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-id-generator.js.map +0 -1
- package/esm/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-migration-driver.js.map +0 -1
- package/esm/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-query-builder.js.map +0 -1
- package/esm/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-query-operations.js.map +0 -1
- package/esm/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-query-parser.js.map +0 -1
- package/esm/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-sync-adapter.js.map +0 -1
- package/esm/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
- package/esm/drivers/mongo/mongodb-blueprint.js.map +0 -1
- package/esm/drivers/mongo/mongodb-driver.d.ts.map +0 -1
- package/esm/drivers/mongo/mongodb-driver.js.map +0 -1
- package/esm/drivers/mongo/types.d.ts.map +0 -1
- /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
- /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
- /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
- /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
package/esm/model/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sources":["../../src/model/model.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sources":["../../src/model/model.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Helper functions for defining model relationships.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a clean, intuitive API for defining relationships
|
|
5
|
+
* between models using helper functions instead of raw configuration objects.
|
|
6
|
+
*
|
|
7
|
+
* @module @warlock.js/cascade/relations/helpers
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { hasMany, belongsTo, belongsToMany, hasOne } from "@warlock.js/cascade";
|
|
12
|
+
*
|
|
13
|
+
* class User extends Model {
|
|
14
|
+
* static relations = {
|
|
15
|
+
* posts: hasMany("Post"),
|
|
16
|
+
* profile: hasOne("Profile"),
|
|
17
|
+
* organization: belongsTo("Organization", { foreignKey: "organizationId" }),
|
|
18
|
+
* roles: belongsToMany("Role", { pivot: "user_roles" }),
|
|
19
|
+
* };
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
import type { BelongsToManyOptions, BelongsToOptions, HasManyOptions, HasOneOptions, RelationDefinition } from "./types";
|
|
24
|
+
/**
|
|
25
|
+
* Defines a one-to-many relationship.
|
|
26
|
+
*
|
|
27
|
+
* Use this when the current model owns many instances of another model.
|
|
28
|
+
* The foreign key is stored on the related model.
|
|
29
|
+
*
|
|
30
|
+
* @param model - The name of the related model in the registry
|
|
31
|
+
* @param options - Optional configuration for the relationship
|
|
32
|
+
* @returns A relation definition object
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // User has many Posts
|
|
37
|
+
* // The Post model has a userId column referencing User.id
|
|
38
|
+
* static relations = {
|
|
39
|
+
* posts: hasMany("Post"),
|
|
40
|
+
* };
|
|
41
|
+
*
|
|
42
|
+
* // With custom foreign key
|
|
43
|
+
* static relations = {
|
|
44
|
+
* comments: hasMany("Comment", { foreignKey: "authorId" }),
|
|
45
|
+
* };
|
|
46
|
+
*
|
|
47
|
+
* // Usage
|
|
48
|
+
* const user = await User.query().with("posts").find(1);
|
|
49
|
+
* console.log(user.posts); // Post[]
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function hasMany(model: string, options?: HasManyOptions): RelationDefinition;
|
|
53
|
+
/**
|
|
54
|
+
* Defines a one-to-one relationship where the foreign key is on the related model.
|
|
55
|
+
*
|
|
56
|
+
* Use this when the current model owns exactly one instance of another model.
|
|
57
|
+
* The foreign key is stored on the related model.
|
|
58
|
+
*
|
|
59
|
+
* @param model - The name of the related model in the registry
|
|
60
|
+
* @param options - Optional configuration for the relationship
|
|
61
|
+
* @returns A relation definition object
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* // User has one Profile
|
|
66
|
+
* // The Profile model has a userId column referencing User.id
|
|
67
|
+
* static relations = {
|
|
68
|
+
* profile: hasOne("Profile"),
|
|
69
|
+
* };
|
|
70
|
+
*
|
|
71
|
+
* // With custom keys
|
|
72
|
+
* static relations = {
|
|
73
|
+
* settings: hasOne("UserSettings", {
|
|
74
|
+
* foreignKey: "ownerId",
|
|
75
|
+
* localKey: "id",
|
|
76
|
+
* }),
|
|
77
|
+
* };
|
|
78
|
+
*
|
|
79
|
+
* // Usage
|
|
80
|
+
* const user = await User.query().with("profile").find(1);
|
|
81
|
+
* console.log(user.profile); // Profile | null
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function hasOne(model: string, options?: HasOneOptions): RelationDefinition;
|
|
85
|
+
/**
|
|
86
|
+
* Defines a many-to-one (inverse) relationship.
|
|
87
|
+
*
|
|
88
|
+
* Use this when the current model belongs to another model.
|
|
89
|
+
* The foreign key is stored on this model.
|
|
90
|
+
*
|
|
91
|
+
* @param model - The name of the related model in the registry
|
|
92
|
+
* @param options - Optional configuration for the relationship
|
|
93
|
+
* @returns A relation definition object
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* // Post belongs to User (author)
|
|
98
|
+
* // The Post model has a userId column referencing User.id
|
|
99
|
+
* static relations = {
|
|
100
|
+
* author: belongsTo("User", { foreignKey: "userId" }),
|
|
101
|
+
* };
|
|
102
|
+
*
|
|
103
|
+
* // Category self-reference (parent category)
|
|
104
|
+
* static relations = {
|
|
105
|
+
* parent: belongsTo("Category", { foreignKey: "parentId" }),
|
|
106
|
+
* };
|
|
107
|
+
*
|
|
108
|
+
* // Usage
|
|
109
|
+
* const post = await Post.query().with("author").find(1);
|
|
110
|
+
* console.log(post.author); // User | null
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export declare function belongsTo(model: string, options?: BelongsToOptions): RelationDefinition;
|
|
114
|
+
/**
|
|
115
|
+
* Defines a many-to-many relationship through a pivot table.
|
|
116
|
+
*
|
|
117
|
+
* Use this when both models can have many of each other.
|
|
118
|
+
* A pivot (junction) table connects the two models.
|
|
119
|
+
*
|
|
120
|
+
* @param model - The name of the related model in the registry
|
|
121
|
+
* @param options - Configuration for the relationship including the pivot table
|
|
122
|
+
* @returns A relation definition object
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* // Post belongs to many Tags through post_tags pivot table
|
|
127
|
+
* // Pivot table: post_tags (postId, tagId)
|
|
128
|
+
* static relations = {
|
|
129
|
+
* tags: belongsToMany("Tag", {
|
|
130
|
+
* pivot: "post_tags",
|
|
131
|
+
* localKey: "postId", // Column in pivot referencing this model
|
|
132
|
+
* foreignKey: "tagId", // Column in pivot referencing related model
|
|
133
|
+
* }),
|
|
134
|
+
* };
|
|
135
|
+
*
|
|
136
|
+
* // User has many Roles through user_roles pivot
|
|
137
|
+
* static relations = {
|
|
138
|
+
* roles: belongsToMany("Role", {
|
|
139
|
+
* pivot: "user_roles",
|
|
140
|
+
* localKey: "userId",
|
|
141
|
+
* foreignKey: "roleId",
|
|
142
|
+
* }),
|
|
143
|
+
* };
|
|
144
|
+
*
|
|
145
|
+
* // Usage
|
|
146
|
+
* const post = await Post.query().with("tags").find(1);
|
|
147
|
+
* console.log(post.tags); // Tag[]
|
|
148
|
+
*
|
|
149
|
+
* // Pivot operations
|
|
150
|
+
* await post.attach("tags", [1, 2, 3]);
|
|
151
|
+
* await post.detach("tags", [2]);
|
|
152
|
+
* await post.sync("tags", [1, 3, 5]);
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export declare function belongsToMany(model: string, options: BelongsToManyOptions): RelationDefinition;
|
|
156
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/relations/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAOnF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB,CAOjF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,CAOvF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CAU9F"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Helper functions for defining model relationships.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a clean, intuitive API for defining relationships
|
|
5
|
+
* between models using helper functions instead of raw configuration objects.
|
|
6
|
+
*
|
|
7
|
+
* @module @warlock.js/cascade/relations/helpers
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { hasMany, belongsTo, belongsToMany, hasOne } from "@warlock.js/cascade";
|
|
12
|
+
*
|
|
13
|
+
* class User extends Model {
|
|
14
|
+
* static relations = {
|
|
15
|
+
* posts: hasMany("Post"),
|
|
16
|
+
* profile: hasOne("Profile"),
|
|
17
|
+
* organization: belongsTo("Organization", { foreignKey: "organizationId" }),
|
|
18
|
+
* roles: belongsToMany("Role", { pivot: "user_roles" }),
|
|
19
|
+
* };
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// HAS MANY
|
|
25
|
+
// ============================================================================
|
|
26
|
+
/**
|
|
27
|
+
* Defines a one-to-many relationship.
|
|
28
|
+
*
|
|
29
|
+
* Use this when the current model owns many instances of another model.
|
|
30
|
+
* The foreign key is stored on the related model.
|
|
31
|
+
*
|
|
32
|
+
* @param model - The name of the related model in the registry
|
|
33
|
+
* @param options - Optional configuration for the relationship
|
|
34
|
+
* @returns A relation definition object
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* // User has many Posts
|
|
39
|
+
* // The Post model has a userId column referencing User.id
|
|
40
|
+
* static relations = {
|
|
41
|
+
* posts: hasMany("Post"),
|
|
42
|
+
* };
|
|
43
|
+
*
|
|
44
|
+
* // With custom foreign key
|
|
45
|
+
* static relations = {
|
|
46
|
+
* comments: hasMany("Comment", { foreignKey: "authorId" }),
|
|
47
|
+
* };
|
|
48
|
+
*
|
|
49
|
+
* // Usage
|
|
50
|
+
* const user = await User.query().with("posts").find(1);
|
|
51
|
+
* console.log(user.posts); // Post[]
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
function hasMany(model, options) {
|
|
55
|
+
return {
|
|
56
|
+
type: "hasMany",
|
|
57
|
+
model,
|
|
58
|
+
foreignKey: options?.foreignKey,
|
|
59
|
+
localKey: options?.localKey ?? "id",
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// ============================================================================
|
|
63
|
+
// HAS ONE
|
|
64
|
+
// ============================================================================
|
|
65
|
+
/**
|
|
66
|
+
* Defines a one-to-one relationship where the foreign key is on the related model.
|
|
67
|
+
*
|
|
68
|
+
* Use this when the current model owns exactly one instance of another model.
|
|
69
|
+
* The foreign key is stored on the related model.
|
|
70
|
+
*
|
|
71
|
+
* @param model - The name of the related model in the registry
|
|
72
|
+
* @param options - Optional configuration for the relationship
|
|
73
|
+
* @returns A relation definition object
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* // User has one Profile
|
|
78
|
+
* // The Profile model has a userId column referencing User.id
|
|
79
|
+
* static relations = {
|
|
80
|
+
* profile: hasOne("Profile"),
|
|
81
|
+
* };
|
|
82
|
+
*
|
|
83
|
+
* // With custom keys
|
|
84
|
+
* static relations = {
|
|
85
|
+
* settings: hasOne("UserSettings", {
|
|
86
|
+
* foreignKey: "ownerId",
|
|
87
|
+
* localKey: "id",
|
|
88
|
+
* }),
|
|
89
|
+
* };
|
|
90
|
+
*
|
|
91
|
+
* // Usage
|
|
92
|
+
* const user = await User.query().with("profile").find(1);
|
|
93
|
+
* console.log(user.profile); // Profile | null
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
function hasOne(model, options) {
|
|
97
|
+
return {
|
|
98
|
+
type: "hasOne",
|
|
99
|
+
model,
|
|
100
|
+
foreignKey: options?.foreignKey,
|
|
101
|
+
localKey: options?.localKey ?? "id",
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
// ============================================================================
|
|
105
|
+
// BELONGS TO
|
|
106
|
+
// ============================================================================
|
|
107
|
+
/**
|
|
108
|
+
* Defines a many-to-one (inverse) relationship.
|
|
109
|
+
*
|
|
110
|
+
* Use this when the current model belongs to another model.
|
|
111
|
+
* The foreign key is stored on this model.
|
|
112
|
+
*
|
|
113
|
+
* @param model - The name of the related model in the registry
|
|
114
|
+
* @param options - Optional configuration for the relationship
|
|
115
|
+
* @returns A relation definition object
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* // Post belongs to User (author)
|
|
120
|
+
* // The Post model has a userId column referencing User.id
|
|
121
|
+
* static relations = {
|
|
122
|
+
* author: belongsTo("User", { foreignKey: "userId" }),
|
|
123
|
+
* };
|
|
124
|
+
*
|
|
125
|
+
* // Category self-reference (parent category)
|
|
126
|
+
* static relations = {
|
|
127
|
+
* parent: belongsTo("Category", { foreignKey: "parentId" }),
|
|
128
|
+
* };
|
|
129
|
+
*
|
|
130
|
+
* // Usage
|
|
131
|
+
* const post = await Post.query().with("author").find(1);
|
|
132
|
+
* console.log(post.author); // User | null
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
function belongsTo(model, options) {
|
|
136
|
+
return {
|
|
137
|
+
type: "belongsTo",
|
|
138
|
+
model,
|
|
139
|
+
foreignKey: options?.foreignKey,
|
|
140
|
+
localKey: options?.ownerKey ?? "id",
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
// ============================================================================
|
|
144
|
+
// BELONGS TO MANY
|
|
145
|
+
// ============================================================================
|
|
146
|
+
/**
|
|
147
|
+
* Defines a many-to-many relationship through a pivot table.
|
|
148
|
+
*
|
|
149
|
+
* Use this when both models can have many of each other.
|
|
150
|
+
* A pivot (junction) table connects the two models.
|
|
151
|
+
*
|
|
152
|
+
* @param model - The name of the related model in the registry
|
|
153
|
+
* @param options - Configuration for the relationship including the pivot table
|
|
154
|
+
* @returns A relation definition object
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* // Post belongs to many Tags through post_tags pivot table
|
|
159
|
+
* // Pivot table: post_tags (postId, tagId)
|
|
160
|
+
* static relations = {
|
|
161
|
+
* tags: belongsToMany("Tag", {
|
|
162
|
+
* pivot: "post_tags",
|
|
163
|
+
* localKey: "postId", // Column in pivot referencing this model
|
|
164
|
+
* foreignKey: "tagId", // Column in pivot referencing related model
|
|
165
|
+
* }),
|
|
166
|
+
* };
|
|
167
|
+
*
|
|
168
|
+
* // User has many Roles through user_roles pivot
|
|
169
|
+
* static relations = {
|
|
170
|
+
* roles: belongsToMany("Role", {
|
|
171
|
+
* pivot: "user_roles",
|
|
172
|
+
* localKey: "userId",
|
|
173
|
+
* foreignKey: "roleId",
|
|
174
|
+
* }),
|
|
175
|
+
* };
|
|
176
|
+
*
|
|
177
|
+
* // Usage
|
|
178
|
+
* const post = await Post.query().with("tags").find(1);
|
|
179
|
+
* console.log(post.tags); // Tag[]
|
|
180
|
+
*
|
|
181
|
+
* // Pivot operations
|
|
182
|
+
* await post.attach("tags", [1, 2, 3]);
|
|
183
|
+
* await post.detach("tags", [2]);
|
|
184
|
+
* await post.sync("tags", [1, 3, 5]);
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
function belongsToMany(model, options) {
|
|
188
|
+
return {
|
|
189
|
+
type: "belongsToMany",
|
|
190
|
+
model,
|
|
191
|
+
pivot: options.pivot,
|
|
192
|
+
localKey: options.localKey,
|
|
193
|
+
foreignKey: options.foreignKey,
|
|
194
|
+
pivotLocalKey: options.pivotLocalKey ?? "id",
|
|
195
|
+
pivotForeignKey: options.pivotForeignKey ?? "id",
|
|
196
|
+
};
|
|
197
|
+
}export{belongsTo,belongsToMany,hasMany,hasOne};//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../src/relations/helpers.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;AAqBG;AAUH;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACa,SAAA,OAAO,CAAC,KAAa,EAAE,OAAwB,EAAA;IAC7D,OAAO;AACL,QAAA,IAAI,EAAE,SAAS;QACf,KAAK;QACL,UAAU,EAAE,OAAO,EAAE,UAAU;AAC/B,QAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;AACa,SAAA,MAAM,CAAC,KAAa,EAAE,OAAuB,EAAA;IAC3D,OAAO;AACL,QAAA,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,UAAU,EAAE,OAAO,EAAE,UAAU;AAC/B,QAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACa,SAAA,SAAS,CAAC,KAAa,EAAE,OAA0B,EAAA;IACjE,OAAO;AACL,QAAA,IAAI,EAAE,WAAW;QACjB,KAAK;QACL,UAAU,EAAE,OAAO,EAAE,UAAU;AAC/B,QAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCG;AACa,SAAA,aAAa,CAAC,KAAa,EAAE,OAA6B,EAAA;IACxE,OAAO;AACL,QAAA,IAAI,EAAE,eAAe;QACrB,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,QAAA,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;AAC5C,QAAA,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;KACjD,CAAC;AACJ"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Relations module for the Cascade ORM.
|
|
3
|
+
*
|
|
4
|
+
* This module exports all the types, helper functions, and classes
|
|
5
|
+
* needed for defining and loading model relationships.
|
|
6
|
+
*
|
|
7
|
+
* @module @warlock.js/cascade/relations
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import {
|
|
12
|
+
* hasMany,
|
|
13
|
+
* belongsTo,
|
|
14
|
+
* belongsToMany,
|
|
15
|
+
* hasOne,
|
|
16
|
+
* RelationLoader,
|
|
17
|
+
* type RelationDefinition,
|
|
18
|
+
* } from "@warlock.js/cascade";
|
|
19
|
+
*
|
|
20
|
+
* class User extends Model {
|
|
21
|
+
* static relations = {
|
|
22
|
+
* posts: hasMany("Post"),
|
|
23
|
+
* organization: belongsTo("Organization"),
|
|
24
|
+
* roles: belongsToMany("Role", { pivot: "user_roles" }),
|
|
25
|
+
* };
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export type { BelongsToManyOptions, BelongsToOptions, HasManyOptions, HasOneOptions, LoadedRelationResult, LoadedRelationsMap, PivotData, PivotIds, RelationConstraintCallback, RelationConstraints, RelationDefinition, RelationDefinitions, RelationType, } from "./types";
|
|
30
|
+
export { belongsTo, belongsToMany, hasMany, hasOne } from "./helpers";
|
|
31
|
+
export { RelationLoader } from "./relation-loader";
|
|
32
|
+
export { PivotOperations, createPivotOperations } from "./pivot-operations";
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/relations/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Pivot table operations for many-to-many relationships.
|
|
3
|
+
*
|
|
4
|
+
* This module provides methods for managing the pivot table in
|
|
5
|
+
* belongsToMany relationships: attach, detach, sync, and toggle.
|
|
6
|
+
*
|
|
7
|
+
* @module @warlock.js/cascade/relations/pivot-operations
|
|
8
|
+
*/
|
|
9
|
+
import type { ChildModel, Model } from "../model/model";
|
|
10
|
+
import type { PivotData, PivotIds, RelationDefinition } from "./types";
|
|
11
|
+
/**
|
|
12
|
+
* Manages pivot table operations for many-to-many relationships.
|
|
13
|
+
*
|
|
14
|
+
* Provides attach, detach, sync, and toggle operations for managing
|
|
15
|
+
* the connections between two models through a pivot table.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const pivotOps = new PivotOperations(post, "tags", tagsDefinition);
|
|
20
|
+
*
|
|
21
|
+
* // Attach tags
|
|
22
|
+
* await pivotOps.attach([1, 2, 3]);
|
|
23
|
+
*
|
|
24
|
+
* // Attach with pivot data
|
|
25
|
+
* await pivotOps.attach([4], { addedBy: userId });
|
|
26
|
+
*
|
|
27
|
+
* // Detach specific tags
|
|
28
|
+
* await pivotOps.detach([2]);
|
|
29
|
+
*
|
|
30
|
+
* // Sync (replace all)
|
|
31
|
+
* await pivotOps.sync([1, 5, 6]);
|
|
32
|
+
*
|
|
33
|
+
* // Toggle (attach if missing, detach if present)
|
|
34
|
+
* await pivotOps.toggle([1, 7]);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare class PivotOperations {
|
|
38
|
+
/**
|
|
39
|
+
* The model instance performing the pivot operation.
|
|
40
|
+
*/
|
|
41
|
+
private readonly model;
|
|
42
|
+
/**
|
|
43
|
+
* The name of the relation.
|
|
44
|
+
*/
|
|
45
|
+
private readonly relationName;
|
|
46
|
+
/**
|
|
47
|
+
* The relation definition with pivot table configuration.
|
|
48
|
+
*/
|
|
49
|
+
private readonly definition;
|
|
50
|
+
/**
|
|
51
|
+
* The model class of the source model.
|
|
52
|
+
*/
|
|
53
|
+
private readonly modelClass;
|
|
54
|
+
/**
|
|
55
|
+
* Creates a new PivotOperations instance.
|
|
56
|
+
*
|
|
57
|
+
* @param model - The model instance performing the operation
|
|
58
|
+
* @param relationName - The name of the belongsToMany relation
|
|
59
|
+
* @param definition - The relation definition
|
|
60
|
+
* @param modelClass - The model class constructor
|
|
61
|
+
*/
|
|
62
|
+
constructor(model: Model, relationName: string, definition: RelationDefinition, modelClass: ChildModel<Model>);
|
|
63
|
+
/**
|
|
64
|
+
* Attaches one or more related models via the pivot table.
|
|
65
|
+
*
|
|
66
|
+
* Creates new records in the pivot table linking this model to the
|
|
67
|
+
* specified related model IDs. Existing attachments are not duplicated.
|
|
68
|
+
*
|
|
69
|
+
* @param ids - The IDs of the related models to attach
|
|
70
|
+
* @param pivotData - Optional additional data to store in the pivot record
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* // Attach tags to a post
|
|
75
|
+
* await post.attach("tags", [1, 2, 3]);
|
|
76
|
+
*
|
|
77
|
+
* // Attach with additional pivot data
|
|
78
|
+
* await post.attach("tags", [4], { addedBy: currentUserId });
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
attach(ids: PivotIds, pivotData?: PivotData): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Detaches one or more related models from the pivot table.
|
|
84
|
+
*
|
|
85
|
+
* Removes records from the pivot table. If no IDs are specified,
|
|
86
|
+
* all attachments for this model are removed.
|
|
87
|
+
*
|
|
88
|
+
* @param ids - Optional IDs to detach. If omitted, detaches all.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* // Detach specific tags
|
|
93
|
+
* await post.detach("tags", [2, 3]);
|
|
94
|
+
*
|
|
95
|
+
* // Detach all tags
|
|
96
|
+
* await post.detach("tags");
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
detach(ids?: PivotIds): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Synchronizes the pivot table to match the specified IDs.
|
|
102
|
+
*
|
|
103
|
+
* Attaches any new IDs and detaches any IDs not in the list.
|
|
104
|
+
* After sync, the pivot table will contain exactly the specified IDs.
|
|
105
|
+
*
|
|
106
|
+
* @param ids - The IDs that should be attached after sync
|
|
107
|
+
* @param pivotData - Optional data for newly attached records
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* // Set tags to exactly [1, 3, 5], removing any others
|
|
112
|
+
* await post.sync("tags", [1, 3, 5]);
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
sync(ids: PivotIds, pivotData?: PivotData): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Toggles the attachment status of the specified IDs.
|
|
118
|
+
*
|
|
119
|
+
* For each ID: if attached, detaches it; if not attached, attaches it.
|
|
120
|
+
*
|
|
121
|
+
* @param ids - The IDs to toggle
|
|
122
|
+
* @param pivotData - Optional data for newly attached records
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* // Toggle tags - attached become detached, detached become attached
|
|
127
|
+
* await post.toggle("tags", [1, 4]);
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
toggle(ids: PivotIds, pivotData?: PivotData): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Gets the pivot table configuration.
|
|
133
|
+
*
|
|
134
|
+
* @returns The pivot configuration object
|
|
135
|
+
*/
|
|
136
|
+
private getPivotConfig;
|
|
137
|
+
/**
|
|
138
|
+
* Gets all currently attached IDs from the pivot table.
|
|
139
|
+
*
|
|
140
|
+
* @returns A set of attached foreign key values
|
|
141
|
+
*/
|
|
142
|
+
private getExistingPivotIds;
|
|
143
|
+
/**
|
|
144
|
+
* Infers a foreign key name from a model name.
|
|
145
|
+
*
|
|
146
|
+
* @param modelName - The model class name
|
|
147
|
+
* @returns The inferred foreign key (e.g., "User" -> "userId")
|
|
148
|
+
*/
|
|
149
|
+
private inferForeignKey;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Creates a PivotOperations instance for a model and relation.
|
|
153
|
+
*
|
|
154
|
+
* @param model - The model instance
|
|
155
|
+
* @param relationName - The name of the belongsToMany relation
|
|
156
|
+
* @returns A PivotOperations instance
|
|
157
|
+
* @throws Error if the relation is not a belongsToMany or not defined
|
|
158
|
+
*/
|
|
159
|
+
export declare function createPivotOperations(model: Model, relationName: string): PivotOperations;
|
|
160
|
+
//# sourceMappingURL=pivot-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pivot-operations.d.ts","sourceRoot":"","sources":["../../src/relations/pivot-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMvE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAe;IAK1B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAM/C;;;;;;;OAOG;gBAED,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;IAuB/B;;;;;;;;;;;;;;;;;OAiBG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxE;;;;;;;;;;;;;;;;OAgBG;IACU,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD;;;;;;;;;;;;;;OAcG;IACU,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtE;;;;;;;;;;;;;OAaG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BxE;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAwBtB;;;;OAIG;YACW,mBAAmB;IAqBjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAGxB;AAMD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,CAUzF"}
|