jcc-express-mvc 1.7.7 → 1.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/lib/Jcc-eloquent/lib/BaseModel.d.ts +3 -1
  2. package/lib/Jcc-eloquent/lib/BaseModel.d.ts.map +1 -1
  3. package/lib/Jcc-eloquent/lib/BaseModel.js +64 -38
  4. package/lib/Jcc-eloquent/lib/Builder.d.ts +6 -3
  5. package/lib/Jcc-eloquent/lib/Builder.d.ts.map +1 -1
  6. package/lib/Jcc-eloquent/lib/Builder.js +64 -6
  7. package/lib/Jcc-eloquent/lib/Cast/index.d.ts.map +1 -1
  8. package/lib/Jcc-eloquent/lib/Cast/index.js +13 -1
  9. package/lib/Jcc-eloquent/lib/Constants.d.ts +2 -0
  10. package/lib/Jcc-eloquent/lib/Constants.d.ts.map +1 -0
  11. package/lib/Jcc-eloquent/lib/Constants.js +4 -0
  12. package/lib/Jcc-eloquent/lib/Decorators/ScopedBy.d.ts +3 -0
  13. package/lib/Jcc-eloquent/lib/Decorators/ScopedBy.d.ts.map +1 -0
  14. package/lib/Jcc-eloquent/lib/Decorators/ScopedBy.js +11 -0
  15. package/lib/Jcc-eloquent/lib/Interfaces/Scope.d.ts +9 -0
  16. package/lib/Jcc-eloquent/lib/Interfaces/Scope.d.ts.map +1 -0
  17. package/lib/Jcc-eloquent/lib/Interfaces/Scope.js +2 -0
  18. package/lib/Jcc-eloquent/lib/Model.d.ts +3 -3
  19. package/lib/Jcc-eloquent/lib/Model.d.ts.map +1 -1
  20. package/lib/Jcc-eloquent/lib/Model.js +23 -9
  21. package/lib/Jcc-eloquent/lib/QueryBuilder.d.ts +12 -12
  22. package/lib/Jcc-eloquent/lib/QueryBuilder.d.ts.map +1 -1
  23. package/lib/Jcc-eloquent/lib/QueryBuilder.js +5 -2
  24. package/lib/Jcc-eloquent/lib/Relations/EagerLoading.d.ts +1 -1
  25. package/lib/Jcc-eloquent/lib/Relations/EagerLoading.d.ts.map +1 -1
  26. package/lib/Jcc-eloquent/lib/Relations/EagerLoading.js +41 -27
  27. package/lib/Jcc-eloquent/lib/Relations/Relation.d.ts +1 -1
  28. package/lib/Jcc-eloquent/lib/utils/index.d.ts.map +1 -1
  29. package/lib/Jcc-eloquent/lib/utils/index.js +3 -1
  30. package/package.json +1 -1
@@ -12,6 +12,9 @@ export declare class BaseModel extends QueryBuilder {
12
12
  protected _attributes: Record<string, any>;
13
13
  protected original: Record<string, any>;
14
14
  protected exists: boolean;
15
+ protected appends: string[];
16
+ toJSON(): Record<string, any>;
17
+ static getGlobalScopes(): any[];
15
18
  protected isFillable(key: string): boolean;
16
19
  fill(data: Record<string, any>): void;
17
20
  setAttribute(key: string, value: any): void;
@@ -40,7 +43,6 @@ export declare class BaseModel extends QueryBuilder {
40
43
  * Hide _attributes that should be hidden
41
44
  */
42
45
  makeHidden(): this;
43
- toJSON(): Record<string, any>;
44
46
  protected casts(): Record<string, any>;
45
47
  /**
46
48
  * Define attribute getters and setters from the attributes() method
@@ -1 +1 @@
1
- {"version":3,"file":"BaseModel.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/BaseModel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,qBAAa,SAAU,SAAQ,YAAY;IACzC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAQ;IACpC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAClC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAChC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACpD,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACxD,SAAS,CAAC,UAAU,EAAE,OAAO,CAAQ;IACrC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAS;IAEvC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAChD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAC7C,SAAS,CAAC,MAAM,EAAE,OAAO,CAAS;IAKlC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKnC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAY9B,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAiBpC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAW9B,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI3C,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAQxD,SAAS,CAAC,YAAY,IAAI,IAAI;IAIvB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAatC;;OAEG;IACI,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoBtC,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,KAAK;IA0BZ;;OAEG;IACI,UAAU,IAAI,IAAI;IAKzB;;OAEG;IACI,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAwB3C,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzC;;OAEG;IACI,UAAU,IAAI,IAAI;IAWlB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAwCpC,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAItC;;OAEG;IACH,SAAS,CAAC,eAAe;CAyB1B"}
1
+ {"version":3,"file":"BaseModel.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/BaseModel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,qBAAa,SAAU,SAAQ,YAAY;IACzC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAQ;IACpC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAClC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAChC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACpD,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACxD,SAAS,CAAC,UAAU,EAAE,OAAO,CAAQ;IACrC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAS;IAEvC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAChD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAC7C,SAAS,CAAC,MAAM,EAAE,OAAO,CAAS;IAClC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IAE1B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAuCtB,eAAe,IAAI,GAAG,EAAE;IAOtC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKnC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAY9B,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAiBpC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAY9B,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI3C,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAQxD,SAAS,CAAC,YAAY,IAAI,IAAI;IAIvB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAatC;;OAEG;IACI,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoBtC,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,KAAK;IAwDZ;;OAEG;IACI,UAAU,IAAI,IAAI;IAKzB;;OAEG;IACI,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAwB3C,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzC;;OAEG;IACI,UAAU,IAAI,IAAI;IAWzB,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAItC;;OAEG;IACH,SAAS,CAAC,eAAe;CAyB1B"}
@@ -5,6 +5,7 @@ const Cast_1 = require("./Cast");
5
5
  const QueryBuilder_1 = require("./QueryBuilder");
6
6
  const Date_1 = require("../../Date");
7
7
  const utils_1 = require("./utils");
8
+ const Constants_1 = require("./Constants");
8
9
  class BaseModel extends QueryBuilder_1.QueryBuilder {
9
10
  constructor() {
10
11
  super(...arguments);
@@ -17,6 +18,46 @@ class BaseModel extends QueryBuilder_1.QueryBuilder {
17
18
  this._attributes = {};
18
19
  this.original = {};
19
20
  this.exists = false;
21
+ this.appends = [];
22
+ }
23
+ toJSON() {
24
+ const data = {};
25
+ // Add non-hidden _attributes
26
+ for (const key in this._attributes) {
27
+ if (!this.hidden.includes(key)) {
28
+ data[key] = this.getAttribute(key);
29
+ }
30
+ }
31
+ // Add appends
32
+ for (const key of this.appends) {
33
+ if (!this.hidden.includes(key)) {
34
+ data[key] = this.getAttribute(key);
35
+ }
36
+ }
37
+ // Add loaded relations
38
+ for (const key in this.relations) {
39
+ if (!this.hidden.includes(key)) {
40
+ const relation = this.relations[key];
41
+ if (Array.isArray(relation)) {
42
+ data[key] = relation.map((item) => {
43
+ if (item instanceof BaseModel) {
44
+ return item.applyCasts().makeHidden().toJSON();
45
+ }
46
+ return item;
47
+ });
48
+ }
49
+ else if (relation && relation instanceof BaseModel) {
50
+ data[key] = relation.applyCasts().makeHidden().toJSON();
51
+ }
52
+ else if (relation) {
53
+ data[key] = relation;
54
+ }
55
+ }
56
+ }
57
+ return data;
58
+ }
59
+ static getGlobalScopes() {
60
+ return Reflect.getMetadata(Constants_1.SCOPED_BY_KEY, this) || [];
20
61
  }
21
62
  // -----------------
22
63
  // Mass Assignment
@@ -51,6 +92,8 @@ class BaseModel extends QueryBuilder_1.QueryBuilder {
51
92
  }
52
93
  }
53
94
  getAttribute(key) {
95
+ if (typeof key !== "string")
96
+ return undefined;
54
97
  const studlyKey = utils_1.Utils.studlyCase(key);
55
98
  const method = `get${studlyKey}Attribute`;
56
99
  if (typeof this[method] === "function") {
@@ -110,6 +153,16 @@ class BaseModel extends QueryBuilder_1.QueryBuilder {
110
153
  proxy() {
111
154
  return new Proxy(this, {
112
155
  get(target, prop) {
156
+ if (typeof prop === "symbol") {
157
+ return target[prop];
158
+ }
159
+ // If it's an attribute (has accessor or exists in _attributes), prioritized it
160
+ const studlyKey = utils_1.Utils.studlyCase(prop);
161
+ const method = `get${studlyKey}Attribute`;
162
+ if (typeof target[method] === "function" ||
163
+ prop in target._attributes) {
164
+ return target.getAttribute(prop);
165
+ }
113
166
  const descriptor = Object.getOwnPropertyDescriptor(target, prop);
114
167
  if (descriptor && descriptor.get) {
115
168
  return descriptor.get.call(target);
@@ -119,6 +172,17 @@ class BaseModel extends QueryBuilder_1.QueryBuilder {
119
172
  return target.getAttribute(prop);
120
173
  },
121
174
  set(target, prop, value) {
175
+ if (typeof prop === "symbol") {
176
+ target[prop] = value;
177
+ return true;
178
+ }
179
+ const studlyKey = utils_1.Utils.studlyCase(prop);
180
+ const method = `set${studlyKey}Attribute`;
181
+ if (typeof target[method] === "function" ||
182
+ prop in target._attributes) {
183
+ target.setAttribute(prop, value);
184
+ return true;
185
+ }
122
186
  const descriptor = Object.getOwnPropertyDescriptor(target, prop);
123
187
  if (descriptor && descriptor.set) {
124
188
  descriptor.set.call(target, value);
@@ -178,44 +242,6 @@ class BaseModel extends QueryBuilder_1.QueryBuilder {
178
242
  this._attributes = visible;
179
243
  return this;
180
244
  }
181
- toJSON() {
182
- // Apply casts and hide _attributes
183
- // this.applyCasts();
184
- const data = {};
185
- // Add non-hidden _attributes
186
- for (const key in this._attributes) {
187
- if (!this.hidden.includes(key)) {
188
- const descriptor = Object.getOwnPropertyDescriptor(this, key);
189
- if (descriptor && descriptor.get) {
190
- data[key] = this[key];
191
- }
192
- else {
193
- data[key] = this._attributes[key];
194
- }
195
- }
196
- }
197
- // Add loaded relations
198
- for (const key in this.relations) {
199
- if (!this.hidden.includes(key)) {
200
- const relation = this.relations[key];
201
- if (Array.isArray(relation)) {
202
- data[key] = relation.map((item) => {
203
- if (item instanceof BaseModel) {
204
- return item.applyCasts().makeHidden().toJSON();
205
- }
206
- return item;
207
- });
208
- }
209
- else if (relation && relation instanceof BaseModel) {
210
- data[key] = relation.applyCasts().makeHidden().toJSON();
211
- }
212
- else if (relation) {
213
- data[key] = relation;
214
- }
215
- }
216
- }
217
- return data;
218
- }
219
245
  casts() {
220
246
  return {};
221
247
  }
@@ -1,19 +1,22 @@
1
1
  import { Knex } from "knex";
2
2
  import { AggregateInput, JoinCallback, SubJoinCallback, WhereInput } from "./Types";
3
- import { Model } from "./Model";
3
+ import type { Model } from "./Model";
4
4
  import { QueryBuilder } from "./QueryBuilder";
5
5
  export declare class Builder {
6
6
  private tableName;
7
7
  private db;
8
8
  private queryBuilder;
9
9
  private model;
10
- eagerLoad: string[];
10
+ eagerLoad: Record<string, Function | null>;
11
11
  softDelete: boolean;
12
12
  constructor();
13
13
  withTrashed(): this;
14
14
  onlyTrashed(): this;
15
- with(relations: string | string[]): this;
15
+ with(relations: string | string[] | Record<string, Function>): this;
16
16
  setModel(model: typeof Model): this;
17
+ private applyGlobalScopes;
18
+ withoutGlobalScopes(scopes?: any[]): this;
19
+ proxy(): this;
17
20
  newModelInstance(data: Record<string, any>): Model | undefined;
18
21
  has(relation: string, operator?: string, count?: number, boolean?: "and" | "or", callback?: (q: Builder) => void): this;
19
22
  whereHas(relation: string, callback?: (q: Builder) => void, operator?: string, count?: number): this;
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/Builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/Builder.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ class Builder {
9
9
  this.tableName = "";
10
10
  this.queryBuilder = null;
11
11
  this.model = null;
12
- this.eagerLoad = [];
12
+ this.eagerLoad = {};
13
13
  this.softDelete = true; // Default to true (filtering out deleted), set to false to include deleted
14
14
  this.db = Database_1.Database.connect();
15
15
  }
@@ -23,15 +23,73 @@ class Builder {
23
23
  return this;
24
24
  }
25
25
  with(relations) {
26
- if (this.model) {
27
- this.model.eagerLoad = Array.isArray(relations) ? relations : [relations];
26
+ if (typeof relations === "string") {
27
+ this.eagerLoad[relations] = null;
28
+ }
29
+ else if (Array.isArray(relations)) {
30
+ relations.forEach((rel) => {
31
+ this.eagerLoad[rel] = null;
32
+ });
33
+ }
34
+ else if (typeof relations === "object") {
35
+ Object.assign(this.eagerLoad, relations);
28
36
  }
29
37
  return this;
30
38
  }
31
39
  setModel(model) {
32
40
  this.model = model;
41
+ this.applyGlobalScopes();
42
+ return this;
43
+ }
44
+ applyGlobalScopes() {
45
+ if (!this.model)
46
+ return;
47
+ const globalScopes = this.model.getGlobalScopes();
48
+ for (const scope of globalScopes) {
49
+ if (typeof scope === "function") {
50
+ scope(this);
51
+ }
52
+ else if (scope && typeof scope.apply === "function") {
53
+ scope.apply(this, this.model);
54
+ }
55
+ }
56
+ }
57
+ withoutGlobalScopes(scopes) {
58
+ // Basic implementation: reset query builder if we want to remove scopes
59
+ // Usually Laravel handles this by keeping track of scopes.
60
+ // For now, we'll just return this as a placeholder or implement specific logic if needed.
33
61
  return this;
34
62
  }
63
+ proxy() {
64
+ const self = this;
65
+ const proxy = new Proxy(this, {
66
+ get(target, prop) {
67
+ if (typeof prop === "symbol")
68
+ return target[prop];
69
+ if (prop in target) {
70
+ const value = target[prop];
71
+ if (typeof value === "function") {
72
+ return (...args) => {
73
+ const result = value.apply(target, args);
74
+ return result === target ? proxy : result;
75
+ };
76
+ }
77
+ return value;
78
+ }
79
+ if (target.model) {
80
+ const scopeMethod = `scope${utils_1.Utils.studlyCase(prop)}`;
81
+ if (typeof target.model[scopeMethod] === "function") {
82
+ return (...args) => {
83
+ target.model[scopeMethod](target, ...args);
84
+ return proxy;
85
+ };
86
+ }
87
+ }
88
+ return target[prop];
89
+ },
90
+ });
91
+ return proxy;
92
+ }
35
93
  newModelInstance(data) {
36
94
  if (this.model) {
37
95
  return new this.model(data);
@@ -476,7 +534,7 @@ class Builder {
476
534
  const result = await this.getQueryBuilder();
477
535
  this.reset();
478
536
  if (this.model) {
479
- const hydrated = await this.model.hydrate(result);
537
+ const hydrated = await this.model.hydrate(result, this.eagerLoad);
480
538
  return Array.isArray(hydrated) ? hydrated : hydrated ? [hydrated] : [];
481
539
  }
482
540
  return result;
@@ -484,7 +542,7 @@ class Builder {
484
542
  async first() {
485
543
  const result = await this.getQueryBuilder().first();
486
544
  if (this.model) {
487
- return this.model.hydrate(result);
545
+ return this.model.hydrate(result, this.eagerLoad);
488
546
  }
489
547
  this.reset();
490
548
  return result ? result : null;
@@ -495,7 +553,7 @@ class Builder {
495
553
  clone.tableName = this.tableName;
496
554
  clone.model = this.model;
497
555
  clone.db = this.db;
498
- clone.eagerLoad = [...this.eagerLoad];
556
+ clone.eagerLoad = { ...this.eagerLoad };
499
557
  clone.softDelete = this.softDelete;
500
558
  return clone;
501
559
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../Framework/lib/Jcc-eloquent/lib/Cast/index.ts"],"names":[],"mappings":"AAoBA,qBAAa,IAAI;WACD,iBAAiB,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAgBjC;;OAEG;WACW,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAqD1D;;OAEG;WACW,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAmB7D,OAAO,CAAC,MAAM,CAAC,MAAM;IAKrB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAKvB,OAAO,CAAC,MAAM,CAAC,KAAK;IAWpB,OAAO,CAAC,MAAM,CAAC,OAAO;IAKtB,OAAO,CAAC,MAAM,CAAC,OAAO;IAQtB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAU7B;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../Framework/lib/Jcc-eloquent/lib/Cast/index.ts"],"names":[],"mappings":"AAoBA,qBAAa,IAAI;WACD,iBAAiB,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAgBjC;;OAEG;WACW,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAqD1D;;OAEG;WACW,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAmB7D,OAAO,CAAC,MAAM,CAAC,MAAM;IAKrB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAKvB,OAAO,CAAC,MAAM,CAAC,KAAK;IAwBpB,OAAO,CAAC,MAAM,CAAC,OAAO;IAKtB,OAAO,CAAC,MAAM,CAAC,OAAO;IAQtB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAU7B;CACH"}
@@ -101,12 +101,24 @@ class Cast {
101
101
  static array(data) {
102
102
  if (typeof data === "string") {
103
103
  try {
104
- return JSON.parse(data);
104
+ data = JSON.parse(data);
105
105
  }
106
106
  catch {
107
107
  return data;
108
108
  }
109
109
  }
110
+ if (typeof data === "object" && data !== null) {
111
+ if (Array.isArray(data)) {
112
+ return data.map((item) => this.array(item));
113
+ }
114
+ else {
115
+ const result = {};
116
+ for (const key in data) {
117
+ result[key] = this.array(data[key]);
118
+ }
119
+ return result;
120
+ }
121
+ }
110
122
  return data;
111
123
  }
112
124
  static integer(value) {
@@ -0,0 +1,2 @@
1
+ export declare const SCOPED_BY_KEY: unique symbol;
2
+ //# sourceMappingURL=Constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/Constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,eAA0B,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SCOPED_BY_KEY = void 0;
4
+ exports.SCOPED_BY_KEY = Symbol.for("scoped_by");
@@ -0,0 +1,3 @@
1
+ import "reflect-metadata";
2
+ export declare function ScopedBy(scopes: any[]): (target: Function) => void;
3
+ //# sourceMappingURL=ScopedBy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopedBy.d.ts","sourceRoot":"","sources":["../../../../../Framework/lib/Jcc-eloquent/lib/Decorators/ScopedBy.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,IACnB,QAAQ,QAAQ,UAQlC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopedBy = ScopedBy;
4
+ require("reflect-metadata");
5
+ const Constants_1 = require("../Constants");
6
+ function ScopedBy(scopes) {
7
+ return function (target) {
8
+ const existingScopes = Reflect.getMetadata(Constants_1.SCOPED_BY_KEY, target) || [];
9
+ Reflect.defineMetadata(Constants_1.SCOPED_BY_KEY, [...existingScopes, ...scopes], target);
10
+ };
11
+ }
@@ -0,0 +1,9 @@
1
+ import { Builder } from "../Builder";
2
+ import { BaseModel } from "../BaseModel";
3
+ export interface Scope {
4
+ /**
5
+ * Apply the scope to a given Eloquent query builder.
6
+ */
7
+ apply(builder: Builder, model: typeof BaseModel): void;
8
+ }
9
+ //# sourceMappingURL=Scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../../../../Framework/lib/Jcc-eloquent/lib/Interfaces/Scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,WAAW,KAAK;IACpB;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,SAAS,GAAG,IAAI,CAAC;CACxD"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -4,7 +4,6 @@ import { HasOne, HasMany, BelongsTo, BelongsToMany, MorphTo, MorphOne, MorphMany
4
4
  import { Request } from "express";
5
5
  import { Pagination } from "./Interfaces";
6
6
  export declare class Model extends BaseModel {
7
- static eagerLoad: string[];
8
7
  relations: Record<string, any>;
9
8
  constructor(attributes?: Record<string, any>);
10
9
  getTable(): string;
@@ -24,7 +23,8 @@ export declare class Model extends BaseModel {
24
23
  */
25
24
  static find(id: string | number): Promise<Model | null>;
26
25
  static all(): Promise<Model[]>;
27
- static hydrate(items: any | any[]): Promise<Model | Model[] | null>;
26
+ static hydrate(items: any | any[], eagerLoad?: Record<string, Function | null>): Promise<Model | Model[] | null>;
27
+ update(attributes: Record<string, any>): Promise<this>;
28
28
  save(): Promise<this>;
29
29
  saveQuietly(): Promise<this>;
30
30
  delete(): Promise<boolean>;
@@ -42,7 +42,7 @@ export declare class Model extends BaseModel {
42
42
  /**
43
43
  * Load relations on an already hydrated model instance
44
44
  */
45
- load(relations: string | string[]): Promise<this>;
45
+ load(relations: string | string[] | Record<string, Function>): Promise<this>;
46
46
  static eventType(): any;
47
47
  }
48
48
  //# sourceMappingURL=Model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/Model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/Model.ts"],"names":[],"mappings":"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"}
@@ -92,7 +92,7 @@ class Model extends BaseModel_1.BaseModel {
92
92
  static async all() {
93
93
  return this.query().get();
94
94
  }
95
- static async hydrate(items) {
95
+ static async hydrate(items, eagerLoad = {}) {
96
96
  if (!items)
97
97
  return null;
98
98
  if (Array.isArray(items)) {
@@ -104,8 +104,8 @@ class Model extends BaseModel_1.BaseModel {
104
104
  };
105
105
  const models = await Promise.all(items.map(hydrateWithoutRelations));
106
106
  // Then load relations once for all models
107
- if (this.eagerLoad?.length && models.length > 0) {
108
- await EagerLoading_1.EagerLoader.load(models, this.eagerLoad);
107
+ if (Object.keys(eagerLoad).length && models.length > 0) {
108
+ await EagerLoading_1.EagerLoader.load(models, eagerLoad);
109
109
  }
110
110
  return models;
111
111
  }
@@ -114,12 +114,16 @@ class Model extends BaseModel_1.BaseModel {
114
114
  model.exists = true;
115
115
  model.syncOriginal();
116
116
  // Load relations for single model
117
- if (this.eagerLoad?.length) {
118
- await EagerLoading_1.EagerLoader.load(model, this.eagerLoad);
117
+ if (Object.keys(eagerLoad).length) {
118
+ await EagerLoading_1.EagerLoader.load(model, eagerLoad);
119
119
  }
120
120
  return model;
121
121
  }
122
122
  }
123
+ async update(attributes) {
124
+ this.fill(attributes);
125
+ return await this.save();
126
+ }
123
127
  async save() {
124
128
  await ModelEvent_1.ModelEvent.fireEvent(this.constructor, "saving", this);
125
129
  if (this.timestamps) {
@@ -151,7 +155,9 @@ class Model extends BaseModel_1.BaseModel {
151
155
  async saveQuietly() {
152
156
  const query = this.constructor.query();
153
157
  if (this.exists) {
154
- await query.where(this.primaryKey, this.getKey()).update(this.getDirty());
158
+ await query
159
+ .where(this.primaryKey, this.getKey())
160
+ .update(this.getDirtyForSave());
155
161
  }
156
162
  return this;
157
163
  }
@@ -251,8 +257,17 @@ class Model extends BaseModel_1.BaseModel {
251
257
  * Load relations on an already hydrated model instance
252
258
  */
253
259
  async load(relations) {
254
- const relationArray = typeof relations === "string" ? [relations] : relations;
255
- await EagerLoading_1.EagerLoader.load(this, relationArray);
260
+ let relationMap = {};
261
+ if (typeof relations === "string") {
262
+ relationMap[relations] = null;
263
+ }
264
+ else if (Array.isArray(relations)) {
265
+ relations.forEach((rel) => (relationMap[rel] = null));
266
+ }
267
+ else {
268
+ relationMap = relations;
269
+ }
270
+ await EagerLoading_1.EagerLoader.load(this, relationMap);
256
271
  return this;
257
272
  }
258
273
  static eventType() {
@@ -260,4 +275,3 @@ class Model extends BaseModel_1.BaseModel {
260
275
  }
261
276
  }
262
277
  exports.Model = Model;
263
- Model.eagerLoad = [];
@@ -1,4 +1,4 @@
1
- import { Builder } from "./Builder";
1
+ import type { Builder } from "./Builder";
2
2
  import { ModelEvent } from "./Event/ModelEvent";
3
3
  import { Knex } from "knex";
4
4
  import { AggregateInput, JoinCallback, SubJoinCallback, WhereInput } from "./Types";
@@ -14,7 +14,7 @@ export declare class QueryBuilder extends ModelEvent {
14
14
  /**
15
15
  * Return a query builder instance for the model's table.
16
16
  */
17
- static query(): Builder;
17
+ static query(): any;
18
18
  static has(relation: string, operator?: string, count?: number, boolean?: "and" | "or", callback?: (q: Builder) => void): Builder;
19
19
  static whereHas(relation: string, callback?: (q: Builder) => void, operator?: string, count?: number): Builder;
20
20
  static orWhereHas(relation: string, callback?: (q: Builder) => void, operator?: string, count?: number): Builder;
@@ -170,7 +170,7 @@ export declare class QueryBuilder extends ModelEvent {
170
170
  * Add a join clause.
171
171
  */
172
172
  static join(table: string | any, columnOrCallback: JoinCallback, operator?: string, column2?: string): Builder;
173
- static toSQL(): Knex.Sql;
173
+ static toSQL(): any;
174
174
  static joinSub(subQuery: any, alias: string, callback: SubJoinCallback): Builder;
175
175
  /**
176
176
  * Add an inner join clause.
@@ -289,11 +289,11 @@ export declare class QueryBuilder extends ModelEvent {
289
289
  /**
290
290
  * Get SQL string of the query.
291
291
  */
292
- static toSqlCode(): string;
292
+ static toSqlCode(): any;
293
293
  /**
294
294
  * Get maximum value of column.
295
295
  */
296
- static max(columns: AggregateInput): Builder;
296
+ static max(columns: AggregateInput): any;
297
297
  /**
298
298
  * Count rows or column values.
299
299
  */
@@ -316,31 +316,31 @@ export declare class QueryBuilder extends ModelEvent {
316
316
  /**
317
317
  * Get minimum value of column.
318
318
  */
319
- static min(columns: AggregateInput): Builder;
319
+ static min(columns: AggregateInput): any;
320
320
  /**
321
321
  * Sum column values.
322
322
  */
323
- static sum(columns: AggregateInput): Builder;
323
+ static sum(columns: AggregateInput): any;
324
324
  /**
325
325
  * Get average of column values.
326
326
  */
327
- static avg(columns: AggregateInput): Builder;
327
+ static avg(columns: AggregateInput): any;
328
328
  /**
329
329
  * Increment column value(s).
330
330
  */
331
- static increment(column: string | Record<string, number>, amount?: number): Builder;
331
+ static increment(column: string | Record<string, number>, amount?: number): any;
332
332
  /**
333
333
  * Truncate table.
334
334
  */
335
- static truncate(): Builder;
335
+ static truncate(): any;
336
336
  /**
337
337
  * Pluck single column values.
338
338
  */
339
- static plunk(column: string): Builder;
339
+ static plunk(column: string): any;
340
340
  /**
341
341
  * Decrement column value(s).
342
342
  */
343
- static decrement(column: string | Record<string, number>, amount?: number): Builder;
343
+ static decrement(column: string | Record<string, number>, amount?: number): any;
344
344
  /**
345
345
  * Eager load the specified relationships.
346
346
  * @param relations - The relationships to eager load
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/QueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../../Framework/lib/Jcc-eloquent/lib/QueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueryBuilder = void 0;
4
4
  const utils_1 = require("./utils");
5
- const Builder_1 = require("./Builder");
6
5
  const ModelEvent_1 = require("./Event/ModelEvent");
7
6
  class QueryBuilder extends ModelEvent_1.ModelEvent {
8
7
  constructor(data) {
@@ -17,7 +16,11 @@ class QueryBuilder extends ModelEvent_1.ModelEvent {
17
16
  * Return a query builder instance for the model's table.
18
17
  */
19
18
  static query() {
20
- return new Builder_1.Builder().setModel(this).table(this.getTable());
19
+ const { Builder } = require("./Builder");
20
+ return new Builder()
21
+ .table(this.getTable())
22
+ .setModel(this)
23
+ .proxy();
21
24
  }
22
25
  static has(relation, operator = ">=", count = 1, boolean = "and", callback) {
23
26
  return this.query().has(relation, operator, count, boolean, callback);
@@ -3,7 +3,7 @@ export declare class EagerLoader {
3
3
  /**
4
4
  * Load eager relationships for a single model or collection
5
5
  */
6
- static load(models: Model | Model[], relations: string[]): Promise<void>;
6
+ static load(models: Model | Model[], relations: Record<string, Function | null>): Promise<void>;
7
7
  /**
8
8
  * Load a single relation path (supports nested relations like "user.posts")
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EagerLoading.d.ts","sourceRoot":"","sources":["../../../../../Framework/lib/Jcc-eloquent/lib/Relations/EagerLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,qBAAa,WAAW;IACtB;;OAEG;WACU,IAAI,CACf,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,EACvB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;mBACkB,YAAY;IAgCjC;;OAEG;mBACkB,mBAAmB;IA2DxC;;OAEG;mBACkB,qBAAqB;IAiD1C;;OAEG;mBACkB,yBAAyB;IA6D9C;;OAEG;mBACkB,kBAAkB;IAyBvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAGpC"}
1
+ {"version":3,"file":"EagerLoading.d.ts","sourceRoot":"","sources":["../../../../../Framework/lib/Jcc-eloquent/lib/Relations/EagerLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,qBAAa,WAAW;IACtB;;OAEG;WACU,IAAI,CACf,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,EACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;mBACkB,YAAY;IAsCjC;;OAEG;mBACkB,mBAAmB;IA+DxC;;OAEG;mBACkB,qBAAqB;IAwD1C;;OAEG;mBACkB,yBAAyB;IAkE9C;;OAEG;mBACkB,kBAAkB;IAiCvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAGpC"}
@@ -10,17 +10,17 @@ class EagerLoader {
10
10
  const modelArray = Array.isArray(models) ? models : [models];
11
11
  if (modelArray.length === 0)
12
12
  return;
13
- for (const relationPath of relations) {
14
- await this.loadRelation(modelArray, relationPath);
13
+ for (const [relationPath, callback] of Object.entries(relations)) {
14
+ await this.loadRelation(modelArray, relationPath, callback);
15
15
  }
16
16
  }
17
17
  /**
18
18
  * Load a single relation path (supports nested relations like "user.posts")
19
19
  */
20
- static async loadRelation(models, relationPath) {
20
+ static async loadRelation(models, relationPath, callback = null) {
21
21
  const parts = relationPath.split(".");
22
22
  const relation = parts[0];
23
- const nestedRelations = parts.slice(1);
23
+ const nestedPath = parts.slice(1).join(".");
24
24
  const firstModel = models[0];
25
25
  if (typeof firstModel[relation] !== "function") {
26
26
  console.warn(`Relation method '${relation}' not found on ${firstModel.constructor.name}`);
@@ -30,23 +30,23 @@ class EagerLoader {
30
30
  const relationInstance = firstModel[relation]();
31
31
  // Load the relation based on its type
32
32
  if (this.isOneToManyRelation(relationInstance)) {
33
- await this.loadHasManyRelation(models, relation, nestedRelations);
33
+ await this.loadHasManyRelation(models, relation, nestedPath, callback);
34
34
  }
35
35
  else if (this.isManyToOneRelation(relationInstance)) {
36
- await this.loadBelongsToRelation(models, relation, nestedRelations);
36
+ await this.loadBelongsToRelation(models, relation, nestedPath, callback);
37
37
  }
38
38
  else if (this.isManyToManyRelation(relationInstance)) {
39
- await this.loadBelongsToManyRelation(models, relation, nestedRelations);
39
+ await this.loadBelongsToManyRelation(models, relation, nestedPath, callback);
40
40
  }
41
41
  else {
42
42
  // Handle other relation types (HasOne, MorphOne, etc.)
43
- await this.loadSingleRelation(models, relation, nestedRelations);
43
+ await this.loadSingleRelation(models, relation, nestedPath, callback);
44
44
  }
45
45
  }
46
46
  /**
47
47
  * Load HasMany or MorphMany relations
48
48
  */
49
- static async loadHasManyRelation(models, relation, nestedRelations) {
49
+ static async loadHasManyRelation(models, relation, nestedPath, callback = null) {
50
50
  const firstModel = models[0];
51
51
  const relationInstance = firstModel[relation]();
52
52
  // Get foreign key and local key
@@ -62,6 +62,9 @@ class EagerLoader {
62
62
  const relatedModel = relationInstance.relatedModel;
63
63
  // Build query for all related records
64
64
  let query = relatedModel.whereIn(foreignKey, parentKeys);
65
+ // Apply callback
66
+ if (callback)
67
+ callback(query);
65
68
  // Handle morph relations
66
69
  if (relationInstance.morphType) {
67
70
  query = query.where(relationInstance.morphType, relationInstance.type);
@@ -84,14 +87,14 @@ class EagerLoader {
84
87
  model.setRelation(relation, related);
85
88
  }
86
89
  // Load nested relations
87
- if (nestedRelations.length > 0 && results.length > 0) {
88
- await this.load(results, nestedRelations);
90
+ if (nestedPath && results.length > 0) {
91
+ await this.load(results, { [nestedPath]: null });
89
92
  }
90
93
  }
91
94
  /**
92
95
  * Load BelongsTo relations
93
96
  */
94
- static async loadBelongsToRelation(models, relation, nestedRelations) {
97
+ static async loadBelongsToRelation(models, relation, nestedPath, callback = null) {
95
98
  const firstModel = models[0];
96
99
  const relationInstance = firstModel[relation]();
97
100
  // Get foreign key and owner key
@@ -110,8 +113,13 @@ class EagerLoader {
110
113
  }
111
114
  // Get the related model class
112
115
  const relatedModel = relationInstance.relatedModel;
116
+ // Build query
117
+ let query = relatedModel.whereIn(ownerKey, foreignKeys);
118
+ // Apply callback
119
+ if (callback)
120
+ callback(query);
113
121
  // Query for all related records
114
- const results = await relatedModel.whereIn(ownerKey, foreignKeys).get();
122
+ const results = await query.get();
115
123
  // Create a map of owner key to model
116
124
  const resultMap = new Map();
117
125
  for (const result of results) {
@@ -123,14 +131,14 @@ class EagerLoader {
123
131
  model.setRelation(relation, resultMap.get(key) || null);
124
132
  }
125
133
  // Load nested relations
126
- if (nestedRelations.length > 0 && results.length > 0) {
127
- await this.load(results, nestedRelations);
134
+ if (nestedPath && results.length > 0) {
135
+ await this.load(results, { [nestedPath]: null });
128
136
  }
129
137
  }
130
138
  /**
131
139
  * Load BelongsToMany relations
132
140
  */
133
- static async loadBelongsToManyRelation(models, relation, nestedRelations) {
141
+ static async loadBelongsToManyRelation(models, relation, nestedPath, callback = null) {
134
142
  const firstModel = models[0];
135
143
  const relationInstance = firstModel[relation]();
136
144
  const parentKey = relationInstance.parentKey || "id";
@@ -146,12 +154,15 @@ class EagerLoader {
146
154
  return;
147
155
  const relatedModel = relationInstance.relatedModel;
148
156
  const relatedTable = relatedModel.getTable();
149
- // Query with pivot table join
150
- const results = await relatedModel
157
+ // Build query with pivot table join
158
+ let query = relatedModel
151
159
  .select(`${relatedTable}.*`, `${pivotTable}.${foreignPivotKey} as pivot_parent_key`)
152
160
  .join(pivotTable, `${relatedTable}.${relatedKey}`, "=", `${pivotTable}.${relatedPivotKey}`)
153
- .whereIn(`${pivotTable}.${foreignPivotKey}`, parentKeys)
154
- .get();
161
+ .whereIn(`${pivotTable}.${foreignPivotKey}`, parentKeys);
162
+ // Apply callback
163
+ if (callback)
164
+ callback(query);
165
+ const results = await query.get();
155
166
  // Group results by parent key
156
167
  const grouped = new Map();
157
168
  for (const result of results) {
@@ -167,19 +178,22 @@ class EagerLoader {
167
178
  model.setRelation(relation, grouped.get(key) || []);
168
179
  }
169
180
  // Load nested relations
170
- if (nestedRelations.length > 0 && results.length > 0) {
171
- await this.load(results, nestedRelations);
181
+ if (nestedPath && results.length > 0) {
182
+ await this.load(results, { [nestedPath]: null });
172
183
  }
173
184
  }
174
185
  /**
175
186
  * Load single relations (HasOne, MorphOne, MorphTo)
176
187
  */
177
- static async loadSingleRelation(models, relation, nestedRelations) {
178
- // For single relations, we load them individually
179
- // This is less efficient but handles complex cases like MorphTo
188
+ static async loadSingleRelation(models, relation, nestedPath, callback = null) {
180
189
  const relatedModels = [];
181
190
  for (const model of models) {
182
191
  const relationInstance = model[relation]();
192
+ // Apply callback if possible on the internal builder
193
+ if (callback &&
194
+ typeof relationInstance.getQuery === "function") {
195
+ callback(relationInstance.getQuery());
196
+ }
183
197
  const result = await relationInstance.getResults();
184
198
  model.setRelation(relation, result);
185
199
  if (result && result instanceof Model_1.Model) {
@@ -187,8 +201,8 @@ class EagerLoader {
187
201
  }
188
202
  }
189
203
  // Load nested relations
190
- if (nestedRelations.length > 0 && relatedModels.length > 0) {
191
- await this.load(relatedModels, nestedRelations);
204
+ if (nestedPath && relatedModels.length > 0) {
205
+ await this.load(relatedModels, { [nestedPath]: null });
192
206
  }
193
207
  }
194
208
  /**
@@ -18,7 +18,7 @@ export declare abstract class Relation {
18
18
  protected guessForeignKey(): string;
19
19
  abstract getResults(): Promise<any>;
20
20
  addConstraints(parentKey: any): this;
21
- getQuery(): Builder;
21
+ getQuery(): any;
22
22
  get(): Promise<any>;
23
23
  protected parentKey: any;
24
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../Framework/lib/Jcc-eloquent/lib/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,qBAAa,KAAK;IAChB;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKrC;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIvC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQpC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAYrD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAkBjC;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO;IAMzE;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CACzB,cAAc,EAAE,MAAM,GAAG,MAAM,GAC9B,MAAM,GAAG,MAAM;IAUlB;;;;;;OAMG;IACH,MAAM,CAAC,uBAAuB,CAC5B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM;IAalB;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;;;;;;;IAenE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOxC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM;IAkBhD;;;;OAIG;WACU,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC;IAsBnE,MAAM,CAAC,UAAU;CAWlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../Framework/lib/Jcc-eloquent/lib/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,qBAAa,KAAK;IAChB;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKrC;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIvC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQpC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAYrD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAkBjC;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO;IAMzE;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CACzB,cAAc,EAAE,MAAM,GAAG,MAAM,GAC9B,MAAM,GAAG,MAAM;IAUlB;;;;;;OAMG;IACH,MAAM,CAAC,uBAAuB,CAC5B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM;IAalB;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;;;;;;;IAenE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQxC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM;IAmBhD;;;;OAIG;WACU,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC;IAsBnE,MAAM,CAAC,UAAU;CAWlB"}
@@ -177,6 +177,8 @@ class Utils {
177
177
  * Convert a string to StudlyCase (PascalCase).
178
178
  */
179
179
  static studlyCase(value) {
180
+ if (typeof value !== "string")
181
+ return "";
180
182
  return value
181
183
  .split("_")
182
184
  .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
@@ -187,7 +189,7 @@ class Utils {
187
189
  * @param str Input string
188
190
  */
189
191
  static snakeCase(str) {
190
- if (!str)
192
+ if (!str || (typeof str !== "string" && typeof str !== "function"))
191
193
  return "";
192
194
  if (typeof str == "function") {
193
195
  return str.name
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jcc-express-mvc",
3
- "version": "1.7.7",
3
+ "version": "1.7.8",
4
4
  "description": "express mvc structure",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",