@orchestr-sh/orchestr 1.5.9 → 1.5.11
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/README.md +275 -977
- package/dist/Database/Ensemble/Concerns/HasDynamicRelationGetters.d.ts +27 -0
- package/dist/Database/Ensemble/Concerns/HasDynamicRelationGetters.d.ts.map +1 -0
- package/dist/Database/Ensemble/Concerns/HasDynamicRelationGetters.js +109 -0
- package/dist/Database/Ensemble/Concerns/HasDynamicRelationGetters.js.map +1 -0
- package/dist/Database/Ensemble/Concerns/HasDynamicRelations.d.ts +59 -3
- package/dist/Database/Ensemble/Concerns/HasDynamicRelations.d.ts.map +1 -1
- package/dist/Database/Ensemble/Concerns/HasDynamicRelations.js +159 -31
- package/dist/Database/Ensemble/Concerns/HasDynamicRelations.js.map +1 -1
- package/dist/Database/Ensemble/Concerns/HasRelationships.d.ts +20 -0
- package/dist/Database/Ensemble/Concerns/HasRelationships.d.ts.map +1 -1
- package/dist/Database/Ensemble/Concerns/HasRelationships.js +57 -0
- package/dist/Database/Ensemble/Concerns/HasRelationships.js.map +1 -1
- package/dist/Database/Ensemble/Ensemble.d.ts.map +1 -1
- package/dist/Database/Ensemble/Ensemble.js +0 -4
- package/dist/Database/Ensemble/Ensemble.js.map +1 -1
- package/dist/Database/Ensemble/EnsembleBuilder.d.ts +1 -1
- package/dist/Database/Ensemble/EnsembleBuilder.d.ts.map +1 -1
- package/dist/Database/Ensemble/EnsembleBuilder.js +7 -10
- package/dist/Database/Ensemble/EnsembleBuilder.js.map +1 -1
- package/dist/Database/Ensemble/Relations/BelongsTo.d.ts +5 -0
- package/dist/Database/Ensemble/Relations/BelongsTo.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/BelongsTo.js +8 -0
- package/dist/Database/Ensemble/Relations/BelongsTo.js.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphMany.d.ts +97 -0
- package/dist/Database/Ensemble/Relations/MorphMany.d.ts.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphMany.js +189 -0
- package/dist/Database/Ensemble/Relations/MorphMany.js.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphMap.d.ts +59 -0
- package/dist/Database/Ensemble/Relations/MorphMap.d.ts.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphMap.js +84 -0
- package/dist/Database/Ensemble/Relations/MorphMap.js.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphOne.d.ts +93 -0
- package/dist/Database/Ensemble/Relations/MorphOne.d.ts.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphOne.js +179 -0
- package/dist/Database/Ensemble/Relations/MorphOne.js.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphTo.d.ts +98 -0
- package/dist/Database/Ensemble/Relations/MorphTo.d.ts.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphTo.js +214 -0
- package/dist/Database/Ensemble/Relations/MorphTo.js.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphToMany.d.ts +73 -0
- package/dist/Database/Ensemble/Relations/MorphToMany.d.ts.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphToMany.js +164 -0
- package/dist/Database/Ensemble/Relations/MorphToMany.js.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphedByMany.d.ts +29 -0
- package/dist/Database/Ensemble/Relations/MorphedByMany.d.ts.map +1 -0
- package/dist/Database/Ensemble/Relations/MorphedByMany.js +58 -0
- package/dist/Database/Ensemble/Relations/MorphedByMany.js.map +1 -0
- package/dist/Database/Ensemble/Relations/index.d.ts +6 -0
- package/dist/Database/Ensemble/Relations/index.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/index.js +14 -1
- package/dist/Database/Ensemble/Relations/index.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MorphTo.js","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/MorphTo.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAKH,yCAAsC;AACtC,yCAAsC;AAEtC,MAAa,OAAkC,SAAQ,mBAA2B;IAChF;;OAEG;IACO,UAAU,CAAS;IAE7B;;OAEG;IACO,SAAS,CAAS;IAE5B;;OAEG;IACO,QAAQ,CAAS;IAE3B;;OAEG;IACO,YAAY,CAAS;IAE/B;;OAEG;IACO,UAAU,GAAoC,IAAI,GAAG,EAAE,CAAC;IAElE;;OAEG;IACO,MAAM,GAA4B,IAAI,GAAG,EAAE,CAAC;IAEtD;;OAEG;IACH,YACE,KAAgC,EAChC,MAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,QAAgB,EAChB,YAAoB;QAEpB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,mFAAmF;IACrF,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,uCAAuC;QACvC,kDAAkD;IACpD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAAiB;QACnC,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,MAAiB;QACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE/C,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC/C,SAAS;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAW,CAAC,CAAC,CAAC,yCAAyC;QAC1E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAiB,EAAE,QAAgB;QAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAiB,EAAE,OAAqC,EAAE,QAAgB;QAC9E,2CAA2C;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE/C,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC/C,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,gCAAgC,IAAI,+CAA+C,CAAC,CAAC;gBAClG,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,QAAQ;iBAC1B,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC9C,GAAG,EAAE,CAAC;YAET,mCAAmC;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,gCAAgC,IAAI,+CAA+C,CAAC,CAAC;YAClG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QAClC,OAAO,QAAQ;aACZ,QAAQ,EAAE;aACV,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;aAC7B,KAAK,EAAE,CAAC;IACb,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAsB;QAC9B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACO,kBAAkB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACO,iBAAiB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAvPD,0BAuPC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MorphToMany Relationship
|
|
3
|
+
*
|
|
4
|
+
* Represents a polymorphic many-to-many relationship from the parent side
|
|
5
|
+
* Example: Post has many Tags (where Tag can belong to many types via taggables table)
|
|
6
|
+
*/
|
|
7
|
+
import { Ensemble } from '../Ensemble';
|
|
8
|
+
import { EnsembleBuilder } from '../EnsembleBuilder';
|
|
9
|
+
import { BelongsToMany } from './BelongsToMany';
|
|
10
|
+
export declare class MorphToMany<TRelated extends Ensemble, TParent extends Ensemble> extends BelongsToMany<TRelated, TParent> {
|
|
11
|
+
/**
|
|
12
|
+
* The morph type column (e.g., 'taggable_type')
|
|
13
|
+
*/
|
|
14
|
+
protected morphType: string;
|
|
15
|
+
/**
|
|
16
|
+
* The morph class name or alias
|
|
17
|
+
*/
|
|
18
|
+
protected morphClass: string;
|
|
19
|
+
/**
|
|
20
|
+
* Whether this is the inverse of the relation
|
|
21
|
+
*/
|
|
22
|
+
protected inverse: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Create a new morph to many relationship instance
|
|
25
|
+
*/
|
|
26
|
+
constructor(query: EnsembleBuilder<TRelated>, parent: TParent, name: string, table: string, foreignPivotKey: string, relatedPivotKey: string, morphType: string, parentKey: string, relatedKey: string, relationName?: string, inverse?: boolean);
|
|
27
|
+
/**
|
|
28
|
+
* Set the join clause for the relation query
|
|
29
|
+
* Adds the morph type constraint
|
|
30
|
+
*/
|
|
31
|
+
protected performJoin(query?: EnsembleBuilder<TRelated>): void;
|
|
32
|
+
/**
|
|
33
|
+
* Set the where clause for eager loading
|
|
34
|
+
*/
|
|
35
|
+
protected addWhereConstraints(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get the morph class for the parent during initialization
|
|
38
|
+
*/
|
|
39
|
+
protected getMorphClass(): string;
|
|
40
|
+
/**
|
|
41
|
+
* Get the morph type name
|
|
42
|
+
*/
|
|
43
|
+
getMorphType(): string;
|
|
44
|
+
/**
|
|
45
|
+
* Get the morph class value
|
|
46
|
+
*/
|
|
47
|
+
getMorphClassValue(): string;
|
|
48
|
+
/**
|
|
49
|
+
* Set the morph class (used for inverse relations)
|
|
50
|
+
*/
|
|
51
|
+
setMorphClass(morphClass: string): this;
|
|
52
|
+
/**
|
|
53
|
+
* Attach models to the parent with morph type
|
|
54
|
+
*/
|
|
55
|
+
attach(ids: any | any[], attributes?: Record<string, any>, touch?: boolean): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Detach models from the parent with morph type constraint
|
|
58
|
+
*/
|
|
59
|
+
detach(ids?: any | any[]): Promise<number>;
|
|
60
|
+
/**
|
|
61
|
+
* Sync the intermediate tables with morph type
|
|
62
|
+
*/
|
|
63
|
+
sync(ids: any[], detaching?: boolean): Promise<{
|
|
64
|
+
attached: any[];
|
|
65
|
+
detached: any[];
|
|
66
|
+
updated: any[];
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* Create a new pivot query
|
|
70
|
+
*/
|
|
71
|
+
protected newPivotQuery(): EnsembleBuilder<any>;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=MorphToMany.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MorphToMany.d.ts","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/MorphToMany.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,WAAW,CAAC,QAAQ,SAAS,QAAQ,EAAE,OAAO,SAAS,QAAQ,CAAE,SAAQ,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;IACpH;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAE3B;;OAEG;gBAED,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,EAChC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,OAAe;IAS1B;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI;IAkB9D;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAarC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAUjC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKvC;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAChB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EACpC,KAAK,GAAE,OAAc,GACpB,OAAO,CAAC,IAAI,CAAC;IAmBhB;;OAEG;IACG,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBhD;;OAEG;IACG,IAAI,CACR,GAAG,EAAE,GAAG,EAAE,EACV,SAAS,GAAE,OAAc,GACxB,OAAO,CAAC;QAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAsChE;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,eAAe,CAAC,GAAG,CAAC;CAIhD"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MorphToMany Relationship
|
|
4
|
+
*
|
|
5
|
+
* Represents a polymorphic many-to-many relationship from the parent side
|
|
6
|
+
* Example: Post has many Tags (where Tag can belong to many types via taggables table)
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.MorphToMany = void 0;
|
|
10
|
+
const BelongsToMany_1 = require("./BelongsToMany");
|
|
11
|
+
const MorphMap_1 = require("./MorphMap");
|
|
12
|
+
class MorphToMany extends BelongsToMany_1.BelongsToMany {
|
|
13
|
+
/**
|
|
14
|
+
* The morph type column (e.g., 'taggable_type')
|
|
15
|
+
*/
|
|
16
|
+
morphType;
|
|
17
|
+
/**
|
|
18
|
+
* The morph class name or alias
|
|
19
|
+
*/
|
|
20
|
+
morphClass;
|
|
21
|
+
/**
|
|
22
|
+
* Whether this is the inverse of the relation
|
|
23
|
+
*/
|
|
24
|
+
inverse;
|
|
25
|
+
/**
|
|
26
|
+
* Create a new morph to many relationship instance
|
|
27
|
+
*/
|
|
28
|
+
constructor(query, parent, name, table, foreignPivotKey, relatedPivotKey, morphType, parentKey, relatedKey, relationName, inverse = false) {
|
|
29
|
+
super(query, parent, table, foreignPivotKey, relatedPivotKey, parentKey, relatedKey, relationName);
|
|
30
|
+
this.morphType = morphType;
|
|
31
|
+
this.morphClass = this.getMorphClass();
|
|
32
|
+
this.inverse = inverse;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Set the join clause for the relation query
|
|
36
|
+
* Adds the morph type constraint
|
|
37
|
+
*/
|
|
38
|
+
performJoin(query) {
|
|
39
|
+
query = query || this.query;
|
|
40
|
+
// Join the pivot table with morph type constraint
|
|
41
|
+
query
|
|
42
|
+
.join(this.table, `${this.getQualifiedRelatedKeyName()}`, '=', `${this.getQualifiedRelatedPivotKeyName()}`)
|
|
43
|
+
.where(`${this.table}.${this.morphType}`, '=', this.morphClass);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Set the where clause for eager loading
|
|
47
|
+
*/
|
|
48
|
+
addWhereConstraints() {
|
|
49
|
+
const parentKeyValue = this.parent.getAttribute(this.parentKey);
|
|
50
|
+
// Only add constraint if parent key value exists
|
|
51
|
+
if (parentKeyValue !== null && parentKeyValue !== undefined) {
|
|
52
|
+
this.query.where(this.getQualifiedForeignPivotKeyName(), '=', parentKeyValue);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get the morph class for the parent during initialization
|
|
57
|
+
*/
|
|
58
|
+
getMorphClass() {
|
|
59
|
+
if (this.inverse) {
|
|
60
|
+
// For inverse relations, we don't set the morph class on parent
|
|
61
|
+
// It will be set per attach/sync operation
|
|
62
|
+
return '';
|
|
63
|
+
}
|
|
64
|
+
return MorphMap_1.MorphMap.getMorphedModel(this.parent);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get the morph type name
|
|
68
|
+
*/
|
|
69
|
+
getMorphType() {
|
|
70
|
+
return this.morphType;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get the morph class value
|
|
74
|
+
*/
|
|
75
|
+
getMorphClassValue() {
|
|
76
|
+
return this.morphClass;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Set the morph class (used for inverse relations)
|
|
80
|
+
*/
|
|
81
|
+
setMorphClass(morphClass) {
|
|
82
|
+
this.morphClass = morphClass;
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Attach models to the parent with morph type
|
|
87
|
+
*/
|
|
88
|
+
async attach(ids, attributes = {}, touch = true) {
|
|
89
|
+
const idsArray = Array.isArray(ids) ? ids : [ids];
|
|
90
|
+
const parentKey = this.parent.getAttribute(this.parentKey);
|
|
91
|
+
if (!parentKey) {
|
|
92
|
+
throw new Error('Parent key must be set before attaching');
|
|
93
|
+
}
|
|
94
|
+
const records = idsArray.map((id) => ({
|
|
95
|
+
[this.foreignPivotKey]: parentKey,
|
|
96
|
+
[this.relatedPivotKey]: id,
|
|
97
|
+
[this.morphType]: this.morphClass,
|
|
98
|
+
...attributes,
|
|
99
|
+
}));
|
|
100
|
+
const connection = this.parent.getConnection();
|
|
101
|
+
await connection.table(this.table).insert(records);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Detach models from the parent with morph type constraint
|
|
105
|
+
*/
|
|
106
|
+
async detach(ids) {
|
|
107
|
+
const query = this.newPivotQuery();
|
|
108
|
+
const parentKey = this.parent.getAttribute(this.parentKey);
|
|
109
|
+
if (!parentKey) {
|
|
110
|
+
return 0;
|
|
111
|
+
}
|
|
112
|
+
query
|
|
113
|
+
.where(this.foreignPivotKey, '=', parentKey)
|
|
114
|
+
.where(this.morphType, '=', this.morphClass);
|
|
115
|
+
if (ids) {
|
|
116
|
+
const idsArray = Array.isArray(ids) ? ids : [ids];
|
|
117
|
+
query.whereIn(this.relatedPivotKey, idsArray);
|
|
118
|
+
}
|
|
119
|
+
return query.delete();
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Sync the intermediate tables with morph type
|
|
123
|
+
*/
|
|
124
|
+
async sync(ids, detaching = true) {
|
|
125
|
+
const changes = {
|
|
126
|
+
attached: [],
|
|
127
|
+
detached: [],
|
|
128
|
+
updated: [],
|
|
129
|
+
};
|
|
130
|
+
const parentKey = this.parent.getAttribute(this.parentKey);
|
|
131
|
+
if (!parentKey) {
|
|
132
|
+
return changes;
|
|
133
|
+
}
|
|
134
|
+
// Get current IDs
|
|
135
|
+
const current = await this.newPivotQuery()
|
|
136
|
+
.where(this.foreignPivotKey, '=', parentKey)
|
|
137
|
+
.where(this.morphType, '=', this.morphClass)
|
|
138
|
+
.select(this.relatedPivotKey)
|
|
139
|
+
.get();
|
|
140
|
+
const currentIds = current.map((record) => record[this.relatedPivotKey]);
|
|
141
|
+
const idsToAttach = ids.filter((id) => !currentIds.includes(id));
|
|
142
|
+
const idsToDetach = detaching ? currentIds.filter((id) => !ids.includes(id)) : [];
|
|
143
|
+
// Detach old records
|
|
144
|
+
if (idsToDetach.length > 0) {
|
|
145
|
+
await this.detach(idsToDetach);
|
|
146
|
+
changes.detached = idsToDetach;
|
|
147
|
+
}
|
|
148
|
+
// Attach new records
|
|
149
|
+
if (idsToAttach.length > 0) {
|
|
150
|
+
await this.attach(idsToAttach);
|
|
151
|
+
changes.attached = idsToAttach;
|
|
152
|
+
}
|
|
153
|
+
return changes;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Create a new pivot query
|
|
157
|
+
*/
|
|
158
|
+
newPivotQuery() {
|
|
159
|
+
const connection = this.parent.getConnection();
|
|
160
|
+
return connection.table(this.table);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.MorphToMany = MorphToMany;
|
|
164
|
+
//# sourceMappingURL=MorphToMany.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MorphToMany.js","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/MorphToMany.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MorphedByMany Relationship
|
|
3
|
+
*
|
|
4
|
+
* Represents the inverse of a polymorphic many-to-many relationship
|
|
5
|
+
* Example: Tag has many Posts (where Post morphs to many Tags)
|
|
6
|
+
*/
|
|
7
|
+
import { Ensemble } from '../Ensemble';
|
|
8
|
+
import { EnsembleBuilder } from '../EnsembleBuilder';
|
|
9
|
+
import { MorphToMany } from './MorphToMany';
|
|
10
|
+
export declare class MorphedByMany<TRelated extends Ensemble, TParent extends Ensemble> extends MorphToMany<TRelated, TParent> {
|
|
11
|
+
/**
|
|
12
|
+
* Create a new morphed by many relationship instance
|
|
13
|
+
*/
|
|
14
|
+
constructor(query: EnsembleBuilder<TRelated>, parent: TParent, name: string, table: string, foreignPivotKey: string, relatedPivotKey: string, morphType: string, parentKey: string, relatedKey: string, relationName?: string);
|
|
15
|
+
/**
|
|
16
|
+
* Get the morph class for the related model
|
|
17
|
+
*/
|
|
18
|
+
protected getMorphClassForRelated(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Set the join clause for the relation query
|
|
21
|
+
* For inverse relations, we need to adjust the constraints
|
|
22
|
+
*/
|
|
23
|
+
protected performJoin(query?: EnsembleBuilder<TRelated>): void;
|
|
24
|
+
/**
|
|
25
|
+
* Set the where clause for the relation query
|
|
26
|
+
*/
|
|
27
|
+
protected addWhereConstraints(): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=MorphedByMany.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MorphedByMany.d.ts","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/MorphedByMany.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,qBAAa,aAAa,CAAC,QAAQ,SAAS,QAAQ,EAAE,OAAO,SAAS,QAAQ,CAAE,SAAQ,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IACpH;;OAEG;gBAED,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,EAChC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM;IAqBvB;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM;IAO3C;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI;IAmB9D;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;CAYtC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MorphedByMany Relationship
|
|
4
|
+
*
|
|
5
|
+
* Represents the inverse of a polymorphic many-to-many relationship
|
|
6
|
+
* Example: Tag has many Posts (where Post morphs to many Tags)
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.MorphedByMany = void 0;
|
|
10
|
+
const MorphToMany_1 = require("./MorphToMany");
|
|
11
|
+
const MorphMap_1 = require("./MorphMap");
|
|
12
|
+
class MorphedByMany extends MorphToMany_1.MorphToMany {
|
|
13
|
+
/**
|
|
14
|
+
* Create a new morphed by many relationship instance
|
|
15
|
+
*/
|
|
16
|
+
constructor(query, parent, name, table, foreignPivotKey, relatedPivotKey, morphType, parentKey, relatedKey, relationName) {
|
|
17
|
+
// Call parent with inverse flag set to true
|
|
18
|
+
super(query, parent, name, table, foreignPivotKey, relatedPivotKey, morphType, parentKey, relatedKey, relationName, true // inverse
|
|
19
|
+
);
|
|
20
|
+
// Set the morph class based on the related model
|
|
21
|
+
this.morphClass = this.getMorphClassForRelated();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get the morph class for the related model
|
|
25
|
+
*/
|
|
26
|
+
getMorphClassForRelated() {
|
|
27
|
+
// The morph class is based on the related model's type
|
|
28
|
+
// This will be the type stored in the pivot table
|
|
29
|
+
const instance = new this.related.constructor();
|
|
30
|
+
return MorphMap_1.MorphMap.getMorphedModel(instance);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Set the join clause for the relation query
|
|
34
|
+
* For inverse relations, we need to adjust the constraints
|
|
35
|
+
*/
|
|
36
|
+
performJoin(query) {
|
|
37
|
+
query = query || this.query;
|
|
38
|
+
// Join the pivot table with morph type constraint
|
|
39
|
+
// The difference from MorphToMany is that we're joining from the related side
|
|
40
|
+
query
|
|
41
|
+
.join(this.table, `${this.getQualifiedRelatedKeyName()}`, '=', `${this.getQualifiedForeignPivotKeyName()}` // Swapped for inverse
|
|
42
|
+
)
|
|
43
|
+
.where(`${this.table}.${this.morphType}`, '=', this.morphClass);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Set the where clause for the relation query
|
|
47
|
+
*/
|
|
48
|
+
addWhereConstraints() {
|
|
49
|
+
const parentKeyValue = this.parent.getAttribute(this.parentKey);
|
|
50
|
+
// Only add constraint if parent key value exists
|
|
51
|
+
if (parentKeyValue !== null && parentKeyValue !== undefined) {
|
|
52
|
+
this.query.where(this.getQualifiedRelatedPivotKeyName(), // Swapped for inverse
|
|
53
|
+
'=', parentKeyValue);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.MorphedByMany = MorphedByMany;
|
|
58
|
+
//# sourceMappingURL=MorphedByMany.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MorphedByMany.js","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/MorphedByMany.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH,+CAA4C;AAC5C,yCAAsC;AAEtC,MAAa,aAAmE,SAAQ,yBAA8B;IACpH;;OAEG;IACH,YACE,KAAgC,EAChC,MAAe,EACf,IAAY,EACZ,KAAa,EACb,eAAuB,EACvB,eAAuB,EACvB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,YAAqB;QAErB,4CAA4C;QAC5C,KAAK,CACH,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,eAAe,EACf,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,UAAU;SAChB,CAAC;QAEF,iDAAiD;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACO,uBAAuB;QAC/B,uDAAuD;QACvD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAK,IAAI,CAAC,OAAO,CAAC,WAAkC,EAAE,CAAC;QACxE,OAAO,mBAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACO,WAAW,CAAC,KAAiC;QACrD,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAE5B,kDAAkD;QAClD,8EAA8E;QAC9E,KAAK;aACF,IAAI,CACH,IAAI,CAAC,KAAK,EACV,GAAG,IAAI,CAAC,0BAA0B,EAAE,EAAE,EACtC,GAAG,EACH,GAAG,IAAI,CAAC,+BAA+B,EAAE,EAAE,CAAC,sBAAsB;SACnE;aACA,KAAK,CACJ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,EACjC,GAAG,EACH,IAAI,CAAC,UAAU,CAChB,CAAC;IACN,CAAC;IAED;;OAEG;IACO,mBAAmB;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,iDAAiD;QACjD,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,IAAI,CAAC,+BAA+B,EAAE,EAAE,sBAAsB;YAC9D,GAAG,EACH,cAAc,CACf,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAnFD,sCAmFC"}
|
|
@@ -8,4 +8,10 @@ export { HasOne } from './HasOne';
|
|
|
8
8
|
export { HasMany } from './HasMany';
|
|
9
9
|
export { BelongsTo } from './BelongsTo';
|
|
10
10
|
export { BelongsToMany } from './BelongsToMany';
|
|
11
|
+
export { MorphMap } from './MorphMap';
|
|
12
|
+
export { MorphOne } from './MorphOne';
|
|
13
|
+
export { MorphMany } from './MorphMany';
|
|
14
|
+
export { MorphTo } from './MorphTo';
|
|
15
|
+
export { MorphToMany } from './MorphToMany';
|
|
16
|
+
export { MorphedByMany } from './MorphedByMany';
|
|
11
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Export all relationship classes
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.BelongsToMany = exports.BelongsTo = exports.HasMany = exports.HasOne = exports.Relation = void 0;
|
|
8
|
+
exports.MorphedByMany = exports.MorphToMany = exports.MorphTo = exports.MorphMany = exports.MorphOne = exports.MorphMap = exports.BelongsToMany = exports.BelongsTo = exports.HasMany = exports.HasOne = exports.Relation = void 0;
|
|
9
9
|
var Relation_1 = require("./Relation");
|
|
10
10
|
Object.defineProperty(exports, "Relation", { enumerable: true, get: function () { return Relation_1.Relation; } });
|
|
11
11
|
var HasOne_1 = require("./HasOne");
|
|
@@ -16,4 +16,17 @@ var BelongsTo_1 = require("./BelongsTo");
|
|
|
16
16
|
Object.defineProperty(exports, "BelongsTo", { enumerable: true, get: function () { return BelongsTo_1.BelongsTo; } });
|
|
17
17
|
var BelongsToMany_1 = require("./BelongsToMany");
|
|
18
18
|
Object.defineProperty(exports, "BelongsToMany", { enumerable: true, get: function () { return BelongsToMany_1.BelongsToMany; } });
|
|
19
|
+
// Polymorphic Relations
|
|
20
|
+
var MorphMap_1 = require("./MorphMap");
|
|
21
|
+
Object.defineProperty(exports, "MorphMap", { enumerable: true, get: function () { return MorphMap_1.MorphMap; } });
|
|
22
|
+
var MorphOne_1 = require("./MorphOne");
|
|
23
|
+
Object.defineProperty(exports, "MorphOne", { enumerable: true, get: function () { return MorphOne_1.MorphOne; } });
|
|
24
|
+
var MorphMany_1 = require("./MorphMany");
|
|
25
|
+
Object.defineProperty(exports, "MorphMany", { enumerable: true, get: function () { return MorphMany_1.MorphMany; } });
|
|
26
|
+
var MorphTo_1 = require("./MorphTo");
|
|
27
|
+
Object.defineProperty(exports, "MorphTo", { enumerable: true, get: function () { return MorphTo_1.MorphTo; } });
|
|
28
|
+
var MorphToMany_1 = require("./MorphToMany");
|
|
29
|
+
Object.defineProperty(exports, "MorphToMany", { enumerable: true, get: function () { return MorphToMany_1.MorphToMany; } });
|
|
30
|
+
var MorphedByMany_1 = require("./MorphedByMany");
|
|
31
|
+
Object.defineProperty(exports, "MorphedByMany", { enumerable: true, get: function () { return MorphedByMany_1.MorphedByMany; } });
|
|
19
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Database/Ensemble/Relations/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,wBAAwB;AACxB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -36,8 +36,11 @@ export { Ensemble } from './Database/Ensemble/Ensemble';
|
|
|
36
36
|
export { EnsembleBuilder } from './Database/Ensemble/EnsembleBuilder';
|
|
37
37
|
export { EnsembleCollection } from './Database/Ensemble/EnsembleCollection';
|
|
38
38
|
export { softDeletes } from './Database/Ensemble/SoftDeletes';
|
|
39
|
-
export { Relation, HasOne, HasMany, BelongsTo } from './Database/Ensemble/Relations';
|
|
39
|
+
export { Relation, HasOne, HasMany, BelongsTo, BelongsToMany } from './Database/Ensemble/Relations';
|
|
40
|
+
export { MorphMap, MorphOne, MorphMany, MorphTo, MorphToMany, MorphedByMany } from './Database/Ensemble/Relations';
|
|
40
41
|
export { HasRelationshipsMixin } from './Database/Ensemble/Concerns/HasRelationships';
|
|
42
|
+
export { DynamicRelation, defineDynamicRelation } from './Database/Ensemble/Concerns/HasDynamicRelations';
|
|
43
|
+
export type { DynamicRelationAccessor, BelongsToAccessor, HasOneAccessor, HasManyAccessor, BelongsToManyAccessor, MorphOneAccessor, MorphManyAccessor, MorphToAccessor, MorphToManyAccessor, MorphedByManyAccessor } from './Database/Ensemble/Concerns/HasDynamicRelations';
|
|
41
44
|
export type { HasAttributes, CastType, AttributeMutator, AttributeAccessor } from './Database/Ensemble/Concerns/HasAttributes';
|
|
42
45
|
export type { HasTimestamps } from './Database/Ensemble/Concerns/HasTimestamps';
|
|
43
46
|
export type { SoftDeletes } from './Database/Ensemble/SoftDeletes';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACzG,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAGlF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Main exports
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.HasRelationshipsMixin = exports.BelongsTo = exports.HasMany = exports.HasOne = exports.Relation = exports.softDeletes = exports.EnsembleCollection = exports.EnsembleBuilder = exports.Ensemble = exports.DB = exports.DrizzleAdapter = exports.raw = exports.Expression = exports.QueryBuilder = exports.Connection = exports.DatabaseManager = exports.DatabaseServiceProvider = exports.RouteServiceProvider = exports.config = exports.ValidateRequest = exports.Injectable = exports.routes_path = exports.base_path = exports.loadRoutes = exports.Config = exports.Route = exports.Facade = exports.Controller = exports.Response = exports.Request = exports.RouteClass = exports.Router = exports.Container = exports.ConfigServiceProvider = exports.ConfigClass = exports.Validator = exports.ValidationException = exports.FormRequest = exports.Kernel = exports.ServiceProvider = exports.Application = void 0;
|
|
7
|
+
exports.defineDynamicRelation = exports.DynamicRelation = exports.HasRelationshipsMixin = exports.MorphedByMany = exports.MorphToMany = exports.MorphTo = exports.MorphMany = exports.MorphOne = exports.MorphMap = exports.BelongsToMany = exports.BelongsTo = exports.HasMany = exports.HasOne = exports.Relation = exports.softDeletes = exports.EnsembleCollection = exports.EnsembleBuilder = exports.Ensemble = exports.DB = exports.DrizzleAdapter = exports.raw = exports.Expression = exports.QueryBuilder = exports.Connection = exports.DatabaseManager = exports.DatabaseServiceProvider = exports.RouteServiceProvider = exports.config = exports.ValidateRequest = exports.Injectable = exports.routes_path = exports.base_path = exports.loadRoutes = exports.Config = exports.Route = exports.Facade = exports.Controller = exports.Response = exports.Request = exports.RouteClass = exports.Router = exports.Container = exports.ConfigServiceProvider = exports.ConfigClass = exports.Validator = exports.ValidationException = exports.FormRequest = exports.Kernel = exports.ServiceProvider = exports.Application = void 0;
|
|
8
8
|
// Foundation
|
|
9
9
|
var Application_1 = require("./Foundation/Application");
|
|
10
10
|
Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return Application_1.Application; } });
|
|
@@ -91,7 +91,19 @@ Object.defineProperty(exports, "Relation", { enumerable: true, get: function ()
|
|
|
91
91
|
Object.defineProperty(exports, "HasOne", { enumerable: true, get: function () { return Relations_1.HasOne; } });
|
|
92
92
|
Object.defineProperty(exports, "HasMany", { enumerable: true, get: function () { return Relations_1.HasMany; } });
|
|
93
93
|
Object.defineProperty(exports, "BelongsTo", { enumerable: true, get: function () { return Relations_1.BelongsTo; } });
|
|
94
|
+
Object.defineProperty(exports, "BelongsToMany", { enumerable: true, get: function () { return Relations_1.BelongsToMany; } });
|
|
95
|
+
// Polymorphic Relations
|
|
96
|
+
var Relations_2 = require("./Database/Ensemble/Relations");
|
|
97
|
+
Object.defineProperty(exports, "MorphMap", { enumerable: true, get: function () { return Relations_2.MorphMap; } });
|
|
98
|
+
Object.defineProperty(exports, "MorphOne", { enumerable: true, get: function () { return Relations_2.MorphOne; } });
|
|
99
|
+
Object.defineProperty(exports, "MorphMany", { enumerable: true, get: function () { return Relations_2.MorphMany; } });
|
|
100
|
+
Object.defineProperty(exports, "MorphTo", { enumerable: true, get: function () { return Relations_2.MorphTo; } });
|
|
101
|
+
Object.defineProperty(exports, "MorphToMany", { enumerable: true, get: function () { return Relations_2.MorphToMany; } });
|
|
102
|
+
Object.defineProperty(exports, "MorphedByMany", { enumerable: true, get: function () { return Relations_2.MorphedByMany; } });
|
|
94
103
|
// Ensemble Concerns
|
|
95
104
|
var HasRelationships_1 = require("./Database/Ensemble/Concerns/HasRelationships");
|
|
96
105
|
Object.defineProperty(exports, "HasRelationshipsMixin", { enumerable: true, get: function () { return HasRelationships_1.HasRelationshipsMixin; } });
|
|
106
|
+
var HasDynamicRelations_1 = require("./Database/Ensemble/Concerns/HasDynamicRelations");
|
|
107
|
+
Object.defineProperty(exports, "DynamicRelation", { enumerable: true, get: function () { return HasDynamicRelations_1.DynamicRelation; } });
|
|
108
|
+
Object.defineProperty(exports, "defineDynamicRelation", { enumerable: true, get: function () { return HasDynamicRelations_1.defineDynamicRelation; } });
|
|
97
109
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,aAAa;AACb,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,gEAA+D;AAAtD,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gGAAA,MAAM,OAAA;AACf,6DAA4D;AAAnD,0GAAA,WAAW,OAAA;AACpB,6EAA4E;AAAnE,0HAAA,mBAAmB,OAAA;AAC5B,yDAAwD;AAA/C,sGAAA,SAAS,OAAA;AAElB,qDAAmE;AAA1D,qGAAA,MAAM,OAAe;AAC9B,mFAAkF;AAAzE,8HAAA,qBAAqB,OAAA;AAE9B,YAAY;AACZ,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAElB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAsD;AAA7C,mGAAA,KAAK,OAAc;AAC5B,6CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA;AACjB,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AAEnB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,8FAAA,KAAK,OAAA;AACd,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AAEf,UAAU;AACV,6CAAuE;AAA9D,qGAAA,UAAU,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAE3C,aAAa;AACb,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AACnB,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AAExB,6BAA6B;AAC7B,6CAA2C;AAAlC,iGAAA,MAAM,OAAA;AAEf,YAAY;AACZ,yEAAwE;AAA/D,4HAAA,oBAAoB,OAAA;AAC7B,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAEhC,WAAW;AACX,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,oDAAmE;AAA1D,uGAAA,OAAO,OAAgB;AAChC,0DAA8D;AAArD,wGAAA,UAAU,OAAA;AAAE,iGAAA,GAAG,OAAA;AACxB,qEAAoE;AAA3D,gHAAA,cAAc,OAAA;AAEvB,mBAAmB;AACnB,mCAAkC;AAAzB,wFAAA,EAAE,OAAA;AAEX,eAAe;AACf,yDAAwD;AAA/C,oGAAA,QAAQ,OAAA;AACjB,uEAAsE;AAA7D,kHAAA,eAAe,OAAA;AACxB,6EAA4E;AAAnE,wHAAA,kBAAkB,OAAA;AAC3B,+DAA8D;AAArD,0GAAA,WAAW,OAAA;AAEpB,qBAAqB;AACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,aAAa;AACb,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,gEAA+D;AAAtD,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gGAAA,MAAM,OAAA;AACf,6DAA4D;AAAnD,0GAAA,WAAW,OAAA;AACpB,6EAA4E;AAAnE,0HAAA,mBAAmB,OAAA;AAC5B,yDAAwD;AAA/C,sGAAA,SAAS,OAAA;AAElB,qDAAmE;AAA1D,qGAAA,MAAM,OAAe;AAC9B,mFAAkF;AAAzE,8HAAA,qBAAqB,OAAA;AAE9B,YAAY;AACZ,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAElB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAsD;AAA7C,mGAAA,KAAK,OAAc;AAC5B,6CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA;AACjB,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AAEnB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,8FAAA,KAAK,OAAA;AACd,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AAEf,UAAU;AACV,6CAAuE;AAA9D,qGAAA,UAAU,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAE3C,aAAa;AACb,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AACnB,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AAExB,6BAA6B;AAC7B,6CAA2C;AAAlC,iGAAA,MAAM,OAAA;AAEf,YAAY;AACZ,yEAAwE;AAA/D,4HAAA,oBAAoB,OAAA;AAC7B,8EAA6E;AAApE,kIAAA,uBAAuB,OAAA;AAEhC,WAAW;AACX,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,oDAAmD;AAA1C,wGAAA,UAAU,OAAA;AACnB,oDAAmE;AAA1D,uGAAA,OAAO,OAAgB;AAChC,0DAA8D;AAArD,wGAAA,UAAU,OAAA;AAAE,iGAAA,GAAG,OAAA;AACxB,qEAAoE;AAA3D,gHAAA,cAAc,OAAA;AAEvB,mBAAmB;AACnB,mCAAkC;AAAzB,wFAAA,EAAE,OAAA;AAEX,eAAe;AACf,yDAAwD;AAA/C,oGAAA,QAAQ,OAAA;AACjB,uEAAsE;AAA7D,kHAAA,eAAe,OAAA;AACxB,6EAA4E;AAAnE,wHAAA,kBAAkB,OAAA;AAC3B,+DAA8D;AAArD,0GAAA,WAAW,OAAA;AAEpB,qBAAqB;AACrB,2DAAoG;AAA3F,qGAAA,QAAQ,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,0GAAA,aAAa,OAAA;AAE5D,wBAAwB;AACxB,2DAAmH;AAA1G,qGAAA,QAAQ,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,0GAAA,aAAa,OAAA;AAE3E,oBAAoB;AACpB,kFAAsF;AAA7E,yHAAA,qBAAqB,OAAA;AAC9B,wFAA0G;AAAjG,sHAAA,eAAe,OAAA;AAAE,4HAAA,qBAAqB,OAAA"}
|
package/package.json
CHANGED