@hichchi/nest-crud 0.0.6 → 0.0.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.
@@ -154,7 +154,6 @@ class BaseEntity {
154
154
  _mapUserEntity(user) {
155
155
  return {
156
156
  id: user.id,
157
- tenant: user.tenant,
158
157
  firstName: user.firstName,
159
158
  lastName: user.lastName,
160
159
  fullName: user.fullName,
@@ -1 +1 @@
1
- {"version":3,"file":"base-entity.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/base/base-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-entity.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/base/base-entity.ts"],"names":[],"mappings":"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"}
@@ -358,7 +358,7 @@ export declare class BaseRepository<Entity extends Model | ModelExtension> exten
358
358
  * @see {@link EntityDeepPartial} TypeORM's type for partial entity updates
359
359
  * @see {@link UpdateResult} TypeORM's result type for update operations
360
360
  */
361
- updateOne(where: QueryDeepPartial<Entity>, partialEntity: EntityDeepPartial<Entity>): Promise<UpdateResult>;
361
+ updateOne(where: QueryDeepPartial<Entity> | QueryDeepPartial<Entity>[], partialEntity: EntityDeepPartial<Entity>): Promise<UpdateResult>;
362
362
  /**
363
363
  * Update multiple entities matching the specified criteria
364
364
  *
@@ -731,7 +731,7 @@ export declare class BaseRepository<Entity extends Model | ModelExtension> exten
731
731
  *
732
732
  * Key features:
733
733
  * - Handles nested objects recursively
734
- * - Applies operators to values (like ILike, Not, etc.)
734
+ * - Applies operators to values (like ILike, Not, IsNull)
735
735
  * - Supports string templating with the wrap parameter
736
736
  * - Preserves existing conditions when merging
737
737
  * - Maintains type safety throughout the transformation
@@ -751,6 +751,7 @@ export declare class BaseRepository<Entity extends Model | ModelExtension> exten
751
751
  * @see {@link toFindOptionsWhere} Utility function for type-safe where condition conversion
752
752
  * @see {@link ILike} Example of an operator that can be applied
753
753
  * @see {@link Not} Example of an operator that can be applied
754
+ * @see {@link IsNull} Example of an operator that can be applied
754
755
  */
755
756
  mapAndWhere<T = Entity>(where: FindOptionsWhere<T>, and: QueryDeepPartial<T>, operator?: <V>(value: V | FindOperator<V>) => FindOperator<V>, wrap?: `${string}{}${string}`): FindOptionsWhere<T>;
756
757
  }
@@ -358,12 +358,16 @@ class BaseRepository extends typeorm_1.Repository {
358
358
  * @see {@link UpdateResult} TypeORM's result type for update operations
359
359
  */
360
360
  updateMany(where, partialEntity) {
361
- return this.entityRepository.update(!(where instanceof typeorm_1.ObjectId) &&
362
- !(where instanceof Date) &&
363
- typeof where === "object" &&
364
- !Array.isArray(where)
365
- ? (0, repository_utils_1.toFindOptionsWhere)(where)
366
- : where, partialEntity);
361
+ return this.entityRepository.update(where instanceof typeorm_1.ObjectId || where instanceof Date || typeof where === "string" || typeof where === "number"
362
+ ? where
363
+ : Array.isArray(where)
364
+ ? where.every(w => w instanceof typeorm_1.ObjectId ||
365
+ w instanceof Date ||
366
+ typeof w === "string" ||
367
+ typeof w === "number")
368
+ ? where
369
+ : (0, repository_utils_1.toFindOptionsWhere)(where)
370
+ : (0, repository_utils_1.toFindOptionsWhere)(where), partialEntity);
367
371
  }
368
372
  /**
369
373
  * Update multiple entities by their IDs
@@ -389,7 +393,7 @@ class BaseRepository extends typeorm_1.Repository {
389
393
  * @see {@link UpdateResult} TypeORM's result type for update operations
390
394
  */
391
395
  updateByIds(ids, partialEntity) {
392
- return this.updateMany({ id: ids }, partialEntity);
396
+ return this.updateMany(ids, partialEntity);
393
397
  }
394
398
  /**
395
399
  * Get an entity by ID
@@ -792,7 +796,7 @@ class BaseRepository extends typeorm_1.Repository {
792
796
  *
793
797
  * Key features:
794
798
  * - Handles nested objects recursively
795
- * - Applies operators to values (like ILike, Not, etc.)
799
+ * - Applies operators to values (like ILike, Not, IsNull)
796
800
  * - Supports string templating with the wrap parameter
797
801
  * - Preserves existing conditions when merging
798
802
  * - Maintains type safety throughout the transformation
@@ -812,6 +816,7 @@ class BaseRepository extends typeorm_1.Repository {
812
816
  * @see {@link toFindOptionsWhere} Utility function for type-safe where condition conversion
813
817
  * @see {@link ILike} Example of an operator that can be applied
814
818
  * @see {@link Not} Example of an operator that can be applied
819
+ * @see {@link IsNull} Example of an operator that can be applied
815
820
  */
816
821
  mapAndWhere(where, and, operator, wrap) {
817
822
  // Start with a copy of the base where conditions
@@ -833,6 +838,12 @@ class BaseRepository extends typeorm_1.Repository {
833
838
  whr[key] = nestedResult;
834
839
  }
835
840
  else {
841
+ // Convert explicit null leaf values to SQL IS NULL semantics
842
+ if (value === null) {
843
+ const nullCondition = (0, typeorm_1.IsNull)();
844
+ whr[key] = (operator ? operator(nullCondition) : nullCondition);
845
+ continue;
846
+ }
836
847
  // Handle primitive values and FindOperators
837
848
  let processedValue = value;
838
849
  // Apply string wrapping if specified
@@ -1 +1 @@
1
- {"version":3,"file":"base-repository.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/base/base-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-repository.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/base/base-repository.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { UserInfo } from "@hichchi/nest-connector";
2
2
  import { EntityId, Model } from "@hichchi/nest-connector/crud";
3
- import { AuthProvider, GoogleProfile, TenantSlug } from "@hichchi/nest-connector/auth";
3
+ import { AuthProvider, GoogleProfile, Role, Tenant, TenantSlug, User } from "@hichchi/nest-connector/auth";
4
4
  /**
5
5
  * Base user entity class that provides common user fields and functionality
6
6
  *
@@ -35,7 +35,7 @@ import { AuthProvider, GoogleProfile, TenantSlug } from "@hichchi/nest-connector
35
35
  * @implements {UserInfo} Provides the core user identification properties
36
36
  * @see {@link UserInfo} The interface that defines the required user properties
37
37
  */
38
- export declare class HichchiUserEntity implements UserInfo, Model {
38
+ export declare class HichchiUserEntity implements User, Model {
39
39
  /**
40
40
  * Unique identifier for the entity
41
41
  *
@@ -43,16 +43,6 @@ export declare class HichchiUserEntity implements UserInfo, Model {
43
43
  * It serves as the primary key for the entity in the database.
44
44
  */
45
45
  id: EntityId;
46
- /**
47
- * Represents the tenant associated with the current context.
48
- * The value can either be a tenant-specific identifier (TenantSlug) or null if no tenant is assigned.
49
- *
50
- * A TenantSlug is typically a unique string or slug representing a tenant in multi-tenant applications.
51
- * Null indicates the absence of a tenant in the current context.
52
- *
53
- * This variable is often used to scope application logic and data to a specific tenant.
54
- */
55
- tenant: TenantSlug | null;
56
46
  /**
57
47
  * Timestamp when the entity was created
58
48
  *
@@ -155,11 +145,68 @@ export declare class HichchiUserEntity implements UserInfo, Model {
155
145
  * alternative authentication methods like email-only authentication.
156
146
  */
157
147
  username: string | null;
148
+ /**
149
+ * The user's password (stored in hashed form).
150
+ *
151
+ * This value is excluded from serialized responses and should never contain
152
+ * plaintext credentials. It may be null for users authenticated via external providers.
153
+ */
158
154
  password: string | null;
155
+ /**
156
+ * Indicates whether the user's email address has been verified.
157
+ *
158
+ * Used to enforce verification-dependent flows and prevent unverified
159
+ * accounts from accessing restricted features.
160
+ */
159
161
  emailVerified: boolean;
162
+ /**
163
+ * URL or path to the user's profile avatar image.
164
+ *
165
+ * This field is optional and may be populated from uploaded images or
166
+ * third-party identity providers.
167
+ */
160
168
  avatar: string | null;
169
+ /**
170
+ * Additional profile information associated with the user.
171
+ *
172
+ * Stores provider-specific or extended profile attributes in JSON format.
173
+ */
161
174
  profileData: GoogleProfile | null;
175
+ /**
176
+ * Authentication provider used when the account was created.
177
+ *
178
+ * Determines which sign-in flow and credential requirements apply to the user.
179
+ */
162
180
  signUpType: AuthProvider;
181
+ /**
182
+ * The authorization role assigned to the user.
183
+ *
184
+ * Stores either a role identifier string or a populated role object,
185
+ * depending on how the entity is loaded and mapped.
186
+ */
187
+ role: string | Role | null;
188
+ /**
189
+ * The unique identifier of the user's role.
190
+ *
191
+ * Optional foreign key reference to the role entity for direct relational access.
192
+ */
193
+ roleId?: EntityId | null | undefined;
194
+ /**
195
+ * Represents the tenant associated with the current context.
196
+ * The value can either be a tenant-specific identifier (TenantSlug) or null if no tenant is assigned.
197
+ *
198
+ * A TenantSlug is typically a unique string or slug representing a tenant in multi-tenant applications.
199
+ * Null indicates the absence of a tenant in the current context.
200
+ *
201
+ * This variable is often used to scope application logic and data to a specific tenant.
202
+ */
203
+ tenant: TenantSlug | Tenant | null;
204
+ /**
205
+ * The unique identifier of the user's tenant.
206
+ *
207
+ * Optional foreign key reference used to scope data to a tenant context.
208
+ */
209
+ tenantId?: EntityId | null | undefined;
163
210
  /**
164
211
  * Lifecycle hooks that run before an entity is inserted or updated
165
212
  *
@@ -48,16 +48,6 @@ class HichchiUserEntity {
48
48
  * It serves as the primary key for the entity in the database.
49
49
  */
50
50
  id;
51
- /**
52
- * Represents the tenant associated with the current context.
53
- * The value can either be a tenant-specific identifier (TenantSlug) or null if no tenant is assigned.
54
- *
55
- * A TenantSlug is typically a unique string or slug representing a tenant in multi-tenant applications.
56
- * Null indicates the absence of a tenant in the current context.
57
- *
58
- * This variable is often used to scope application logic and data to a specific tenant.
59
- */
60
- tenant;
61
51
  /**
62
52
  * Timestamp when the entity was created
63
53
  *
@@ -160,11 +150,68 @@ class HichchiUserEntity {
160
150
  * alternative authentication methods like email-only authentication.
161
151
  */
162
152
  username;
153
+ /**
154
+ * The user's password (stored in hashed form).
155
+ *
156
+ * This value is excluded from serialized responses and should never contain
157
+ * plaintext credentials. It may be null for users authenticated via external providers.
158
+ */
163
159
  password;
160
+ /**
161
+ * Indicates whether the user's email address has been verified.
162
+ *
163
+ * Used to enforce verification-dependent flows and prevent unverified
164
+ * accounts from accessing restricted features.
165
+ */
164
166
  emailVerified;
167
+ /**
168
+ * URL or path to the user's profile avatar image.
169
+ *
170
+ * This field is optional and may be populated from uploaded images or
171
+ * third-party identity providers.
172
+ */
165
173
  avatar;
174
+ /**
175
+ * Additional profile information associated with the user.
176
+ *
177
+ * Stores provider-specific or extended profile attributes in JSON format.
178
+ */
166
179
  profileData;
180
+ /**
181
+ * Authentication provider used when the account was created.
182
+ *
183
+ * Determines which sign-in flow and credential requirements apply to the user.
184
+ */
167
185
  signUpType;
186
+ /**
187
+ * The authorization role assigned to the user.
188
+ *
189
+ * Stores either a role identifier string or a populated role object,
190
+ * depending on how the entity is loaded and mapped.
191
+ */
192
+ role;
193
+ /**
194
+ * The unique identifier of the user's role.
195
+ *
196
+ * Optional foreign key reference to the role entity for direct relational access.
197
+ */
198
+ roleId;
199
+ /**
200
+ * Represents the tenant associated with the current context.
201
+ * The value can either be a tenant-specific identifier (TenantSlug) or null if no tenant is assigned.
202
+ *
203
+ * A TenantSlug is typically a unique string or slug representing a tenant in multi-tenant applications.
204
+ * Null indicates the absence of a tenant in the current context.
205
+ *
206
+ * This variable is often used to scope application logic and data to a specific tenant.
207
+ */
208
+ tenant;
209
+ /**
210
+ * The unique identifier of the user's tenant.
211
+ *
212
+ * Optional foreign key reference used to scope data to a tenant context.
213
+ */
214
+ tenantId;
168
215
  /**
169
216
  * Lifecycle hooks that run before an entity is inserted or updated
170
217
  *
@@ -210,7 +257,6 @@ class HichchiUserEntity {
210
257
  _mapUserEntity(user) {
211
258
  return {
212
259
  id: user.id,
213
- tenant: user.tenant,
214
260
  firstName: user.firstName,
215
261
  lastName: user.lastName,
216
262
  fullName: user.fullName,
@@ -222,10 +268,6 @@ tslib_1.__decorate([
222
268
  (0, typeorm_1.PrimaryGeneratedColumn)("uuid"),
223
269
  tslib_1.__metadata("design:type", String)
224
270
  ], HichchiUserEntity.prototype, "id", void 0);
225
- tslib_1.__decorate([
226
- (0, typeorm_1.Column)("varchar", { nullable: true }),
227
- tslib_1.__metadata("design:type", Object)
228
- ], HichchiUserEntity.prototype, "tenant", void 0);
229
271
  tslib_1.__decorate([
230
272
  (0, typeorm_1.Column)("timestamp", { nullable: false, default: () => "CURRENT_TIMESTAMP" }),
231
273
  tslib_1.__metadata("design:type", Date)
@@ -306,6 +348,22 @@ tslib_1.__decorate([
306
348
  (0, typeorm_1.Column)("enum", { enum: auth_1.AuthProvider, nullable: false }),
307
349
  tslib_1.__metadata("design:type", String)
308
350
  ], HichchiUserEntity.prototype, "signUpType", void 0);
351
+ tslib_1.__decorate([
352
+ (0, typeorm_1.Column)("varchar", { nullable: true }),
353
+ tslib_1.__metadata("design:type", Object)
354
+ ], HichchiUserEntity.prototype, "role", void 0);
355
+ tslib_1.__decorate([
356
+ (0, typeorm_1.Column)("uuid", { nullable: true }),
357
+ tslib_1.__metadata("design:type", Object)
358
+ ], HichchiUserEntity.prototype, "roleId", void 0);
359
+ tslib_1.__decorate([
360
+ (0, typeorm_1.Column)("varchar", { nullable: true }),
361
+ tslib_1.__metadata("design:type", Object)
362
+ ], HichchiUserEntity.prototype, "tenant", void 0);
363
+ tslib_1.__decorate([
364
+ (0, typeorm_1.Column)("uuid", { nullable: true }),
365
+ tslib_1.__metadata("design:type", Object)
366
+ ], HichchiUserEntity.prototype, "tenantId", void 0);
309
367
  tslib_1.__decorate([
310
368
  (0, typeorm_1.BeforeInsert)(),
311
369
  (0, typeorm_1.BeforeUpdate)(),
@@ -1 +1 @@
1
- {"version":3,"file":"base-user.entity.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/base/base-user.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-user.entity.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/base/base-user.entity.ts"],"names":[],"mappings":"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"}
package/crud.module.js CHANGED
@@ -195,9 +195,9 @@ let HichchiCrudModule = HichchiCrudModule_1 = class HichchiCrudModule {
195
195
  if (!(0, nest_core_1.hichchiMetadata)().isHichchiEntity(entity)) {
196
196
  throw new nest_core_1.ImplementationException("Invalid entity", `'${entity.name}' must be decorated with '@HichchiEntity()'.`);
197
197
  }
198
- if (Object.getPrototypeOf(entity) !== base_1.BaseEntity &&
199
- Object.getPrototypeOf(entity) !== base_1.BaseEntityExtension &&
200
- Object.getPrototypeOf(entity) !== base_1.HichchiUserEntity) {
198
+ const validBaseClasses = [base_1.BaseEntity, base_1.BaseEntityExtension, base_1.HichchiUserEntity];
199
+ const isValidEntityBase = validBaseClasses.some(base => entity === base || Object.prototype.isPrototypeOf.call(base, entity));
200
+ if (!isValidEntityBase) {
201
201
  throw new nest_core_1.ImplementationException("Invalid entity", `'${entity.name}' must extend 'BaseEntity' or 'BaseEntityExtension' or 'HichchiUserEntity'.`);
202
202
  }
203
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"crud.module.js","sourceRoot":"","sources":["../../../libs/nest-crud/src/crud.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud.module.js","sourceRoot":"","sources":["../../../libs/nest-crud/src/crud.module.ts"],"names":[],"mappings":"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"}
@@ -146,7 +146,7 @@ function HichchiEntity(tableName, unique, skipFkValidation) {
146
146
  const columns = uniques.columns();
147
147
  tableUnique.push(...(typeof columns === "object" ? Object.keys(columns) : []));
148
148
  }
149
- (0, nest_core_1.hichchiMetadata)().addEntity(target, tableName, tableUnique);
149
+ (0, nest_core_1.hichchiMetadata)().addEntity(target, tableName, Array.from(new Set(tableUnique)));
150
150
  }
151
151
  if (!skipFkValidation) {
152
152
  entityRelations.forEach(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"entity.decorator.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/decorators/entity.decorator.ts"],"names":[],"mappings":";AAAA,qCAAqC;;AA4GrC,sCA2HC;AArOD,qCAAiE;AACjE,4CAA4E;AAC5E,kCAAqF;AAGrF,kDAA8E;AAC9E,0CAA6C;AAC7C,sCAAmD;AACnD,oEAA2D;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,SAAgB,aAAa,CACzB,SAAiB,EACjB,MAAmD,EACnD,gBAA0B;IAE1B,OAAO,UAAU,MAA4C;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,mCAAuB,CAC7B,+BAA+B,MAAM,CAAC,IAAI,GAAG,EAC7C,+EAA+E,SAAS,KAAK,EAC7F,sCAAsC,CACzC,CAAC;QACN,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,wBAAiB,IAAI,SAAS,KAAK,+BAAsB,EAAE,CAAC;YAC9F,MAAM,IAAI,mCAAuB,CAC7B,wBAAwB,SAAS,GAAG,EACpC,uEAAuE,SAAS,gBAAgB,EAChG,wEAAwE,+BAAsB,MAAM;gBAChG,uHAAuH,CAC9H,CAAC;QACN,CAAC;QAED,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,YAAY,GAAG,IAAA,gCAAsB,GAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC9F,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACpB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAa,CAAC;oBACnE,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5E,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC/D,IAAA,gBAAM,EAAC,UAAU,UAAU,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;oBACrD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,EAAE;oBACzD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,mCAAuB,CAAC,EAAE,CAAC;wBACjD,MAAM,IAAI,mCAAuB,CAC7B,+BAA+B,cAAc,GAAG,EAChD,gEAAgE,SAAS,KAAK,EAC9E,0EAA0E,CAC7E,CAAC;oBACN,CAAC;oBACD,IAAA,gBAAM,EAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC7E,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,MAAM,KAAK,wBAAiB,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAE9E,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,OAAO,OAAO,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC;YAED,IAAA,2BAAe,GAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzB,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CACnD,QAAQ,CAAC,EAAE,CACP,QAAQ,CAAC,MAAM,KAAK,MAAM;oBAC1B,CAAC,QAAQ,CAAC,YAAY,KAAK,aAAa,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC,CAC1F,CAAC;gBAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAA8B,EAAE,EAAE;oBACzD,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAC/C,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,CAClG,CAAC;oBAEF,kEAAkE;oBAClE,IACI,CAAC,kCAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC5D,CAAC,QAAQ,CAAC,YAAY,KAAK,aAAa,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC;wBACnF,WAAW,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;wBACC,MAAM,IAAI,mCAAuB,CAC7B,4BAA4B,EAC5B,kCAAkC,QAAQ,CAAC,YAAY,cAAc,QAAQ,CAAC,YAAY,wBAAwB,SAAS,KAAK,EAChI,sFAAsF,CACzF,CAAC;oBACN,CAAC;oBAED,mCAAmC;oBACnC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBAC7B,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAC3C,iCAAY,CAAC,mBAAmB,EAChC,MAAM,CAAC,SAAiB,EACxB,UAAU,CAAC,YAAY,CACP,CAAC;wBAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;4BACvB,MAAM,IAAI,mCAAuB,CAC7B,4BAA4B,EAC5B,qCAAqC,UAAU,CAAC,YAAY,wBAAwB,SAAS,KAAK,EAClG,wGAAwG,CAC3G,CAAC;wBACN,CAAC;wBAED,oCAAoC;wBACpC,MAAM,wBAAwB,GAAG,UAAU,CAAC,wBAAwB,CAAC;wBACrE,IAAI,wBAAwB,IAAI,CAAC,+BAAmB,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;4BAClF,MAAM,IAAI,mCAAuB,CAC7B,oCAAoC,wBAAwB,GAAG,EAC/D,wEAAwE;gCACpE,iBAAiB,UAAU,CAAC,YAAY,wBAAwB,SAAS,KAAK,EAClF,4EAA4E,CAC/E,CAAC;wBACN,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"entity.decorator.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/decorators/entity.decorator.ts"],"names":[],"mappings":";AAAA,qCAAqC;;AA4GrC,sCA2HC;AArOD,qCAAiE;AACjE,4CAA4E;AAC5E,kCAAqF;AAGrF,kDAA8E;AAC9E,0CAA6C;AAC7C,sCAAmD;AACnD,oEAA2D;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,SAAgB,aAAa,CACzB,SAAiB,EACjB,MAAmD,EACnD,gBAA0B;IAE1B,OAAO,UAAU,MAA4C;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,mCAAuB,CAC7B,+BAA+B,MAAM,CAAC,IAAI,GAAG,EAC7C,+EAA+E,SAAS,KAAK,EAC7F,sCAAsC,CACzC,CAAC;QACN,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,wBAAiB,IAAI,SAAS,KAAK,+BAAsB,EAAE,CAAC;YAC9F,MAAM,IAAI,mCAAuB,CAC7B,wBAAwB,SAAS,GAAG,EACpC,uEAAuE,SAAS,gBAAgB,EAChG,wEAAwE,+BAAsB,MAAM;gBAChG,uHAAuH,CAC9H,CAAC;QACN,CAAC;QAED,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,YAAY,GAAG,IAAA,gCAAsB,GAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC9F,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACpB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAa,CAAC;oBACnE,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5E,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC/D,IAAA,gBAAM,EAAC,UAAU,UAAU,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;oBACrD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,EAAE;oBACzD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,mCAAuB,CAAC,EAAE,CAAC;wBACjD,MAAM,IAAI,mCAAuB,CAC7B,+BAA+B,cAAc,GAAG,EAChD,gEAAgE,SAAS,KAAK,EAC9E,0EAA0E,CAC7E,CAAC;oBACN,CAAC;oBACD,IAAA,gBAAM,EAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC7E,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,MAAM,KAAK,wBAAiB,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAE9E,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,OAAO,OAAO,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC;YAED,IAAA,2BAAe,GAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzB,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CACnD,QAAQ,CAAC,EAAE,CACP,QAAQ,CAAC,MAAM,KAAK,MAAM;oBAC1B,CAAC,QAAQ,CAAC,YAAY,KAAK,aAAa,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC,CAC1F,CAAC;gBAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAA8B,EAAE,EAAE;oBACzD,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAC/C,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,CAClG,CAAC;oBAEF,kEAAkE;oBAClE,IACI,CAAC,kCAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC5D,CAAC,QAAQ,CAAC,YAAY,KAAK,aAAa,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC;wBACnF,WAAW,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;wBACC,MAAM,IAAI,mCAAuB,CAC7B,4BAA4B,EAC5B,kCAAkC,QAAQ,CAAC,YAAY,cAAc,QAAQ,CAAC,YAAY,wBAAwB,SAAS,KAAK,EAChI,sFAAsF,CACzF,CAAC;oBACN,CAAC;oBAED,mCAAmC;oBACnC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBAC7B,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAC3C,iCAAY,CAAC,mBAAmB,EAChC,MAAM,CAAC,SAAiB,EACxB,UAAU,CAAC,YAAY,CACP,CAAC;wBAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;4BACvB,MAAM,IAAI,mCAAuB,CAC7B,4BAA4B,EAC5B,qCAAqC,UAAU,CAAC,YAAY,wBAAwB,SAAS,KAAK,EAClG,wGAAwG,CAC3G,CAAC;wBACN,CAAC;wBAED,oCAAoC;wBACpC,MAAM,wBAAwB,GAAG,UAAU,CAAC,wBAAwB,CAAC;wBACrE,IAAI,wBAAwB,IAAI,CAAC,+BAAmB,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;4BAClF,MAAM,IAAI,mCAAuB,CAC7B,oCAAoC,wBAAwB,GAAG,EAC/D,wEAAwE;gCACpE,iBAAiB,UAAU,CAAC,YAAY,wBAAwB,SAAS,KAAK,EAClF,4EAA4E,CAC/E,CAAC;wBACN,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
@@ -1,10 +1,58 @@
1
1
  import { PaginationOptions } from "@hichchi/nest-connector/crud";
2
2
  /**
3
- * Extracts pagination from `req.query.page` and `req.query.limit`.
3
+ * Pagination parameter decorator overload for query-driven pagination.
4
+ *
5
+ * This overload reads `page` and `limit` directly from `req.query` and returns
6
+ * a normalized {@link Pagination} object with `page`, `limit`, `take`, and `skip`.
7
+ *
8
+ * Behavior:
9
+ * 1. Uses request query values only
10
+ * 2. Parses both values as numbers
11
+ * 3. Falls back to `1` for invalid page and {@link DEFAULT_ITEMS_PER_PAGE} for invalid limit
12
+ * 4. Removes `page` and `limit` from `req.query` after extraction
13
+ * 5. Returns `undefined` when either query key is missing
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * @Get()
18
+ * list(@Pager() pagination?: Pagination) {
19
+ * return pagination ? this.service.findPaginated(pagination) : this.service.findAll();
20
+ * }
21
+ * ```
22
+ *
23
+ * @returns {ParameterDecorator} A decorator that injects pagination from query params
24
+ *
25
+ * @see {@link Pagination} Pagination structure returned by this overload
26
+ * @see {@link DEFAULT_ITEMS_PER_PAGE} Default page size used for invalid limits
4
27
  */
5
28
  export declare function Pager(): ParameterDecorator;
6
29
  /**
7
- * Extracts pagination and falls back to provided defaults when parsed values are invalid.
30
+ * Pagination parameter decorator overload with numeric fallback defaults.
31
+ *
32
+ * This overload reads `page` and `limit` from `req.query`, and when those values
33
+ * are present but invalid, applies the provided numeric defaults.
34
+ *
35
+ * Behavior:
36
+ * 1. Parses request query values for `page` and `limit`
37
+ * 2. Uses supplied defaults for invalid numeric values
38
+ * 3. Computes `skip` using `(page - 1) * take`
39
+ * 4. Removes `page` and `limit` from `req.query` after extraction
40
+ * 5. Returns `undefined` when either query key is missing
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * @Get()
45
+ * list(@Pager(1, 25) pagination?: Pagination) {
46
+ * return pagination ? this.service.findPaginated(pagination) : this.service.findAll();
47
+ * }
48
+ * ```
49
+ *
50
+ * @param {number} page - Default page number when query `page` is invalid
51
+ * @param {number} limit - Default page size when query `limit` is invalid
52
+ * @returns {ParameterDecorator} A decorator that injects pagination with numeric defaults
53
+ *
54
+ * @see {@link Pagination} Pagination structure returned by this overload
55
+ * @see {@link DEFAULT_ITEMS_PER_PAGE} Built-in fallback page size
8
56
  */
9
57
  export declare function Pager(page: number, limit: number): ParameterDecorator;
10
58
  /**
@@ -5,14 +5,26 @@ exports.Pager = Pager;
5
5
  const common_1 = require("@nestjs/common");
6
6
  const nest_connector_1 = require("@hichchi/nest-connector");
7
7
  /**
8
- * Implementation overload for extracting pagination from request query params.
8
+ * Implementation signature for all `Pager` overload variants.
9
+ *
10
+ * Accepts either:
11
+ * - a `PaginationOptions` object, or
12
+ * - numeric `page` and `limit` defaults.
13
+ *
14
+ * It extracts pagination from the current HTTP request query and returns
15
+ * a normalized {@link Pagination} object when both `page` and `limit`
16
+ * query parameters are present.
17
+ *
18
+ * @param {PaginationOptions | number} [input] - Object defaults or numeric page fallback
19
+ * @param {number} [limit] - Numeric limit fallback when `input` is numeric
20
+ * @returns {ParameterDecorator} A NestJS parameter decorator for pagination extraction
9
21
  */
10
22
  function Pager(input, limit) {
11
23
  return (0, common_1.createParamDecorator)((_data, ctx) => {
12
24
  const req = ctx.switchToHttp().getRequest();
13
- if (req.query?.page && req.query?.limit) {
25
+ if (req.query?.page || req.query?.limit || typeof input === "number" || input?.page || input?.limit || limit) {
14
26
  const p = Number(req.query.page || (typeof input === "number" ? input : input?.page));
15
- const l = Number(req.query.limit || (typeof input === "number" ? input : input?.limit) || limit);
27
+ const l = Number(req.query.limit || (typeof input === "number" ? limit : input?.limit));
16
28
  const page = p ? p : 1;
17
29
  const take = l ? l : nest_connector_1.DEFAULT_ITEMS_PER_PAGE;
18
30
  delete req.query.page;
@@ -1 +1 @@
1
- {"version":3,"file":"page.decorator.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/decorators/page.decorator.ts"],"names":[],"mappings":";AAAA,qCAAqC;;AA2HrC,sBAgBC;AAzID,2CAAwE;AAExE,4DAAiE;AAoHjE;;GAEG;AACH,SAAgB,KAAK,CAAC,KAAkC,EAAE,KAAc;IACpE,OAAO,IAAA,6BAAoB,EAAC,CAAC,KAAc,EAAE,GAAqB,EAA0B,EAAE;QAC1F,MAAM,GAAG,GAA0C,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEnF,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;YACjG,MAAM,IAAI,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAsB,CAAC;YACpD,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;QAChE,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"page.decorator.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/decorators/page.decorator.ts"],"names":[],"mappings":";AAAA,qCAAqC;;AAuLrC,sBAgBC;AArMD,2CAAwE;AAExE,4DAAiE;AAoKjE;;;;;;;;;;;;;;GAcG;AACH,SAAgB,KAAK,CAAC,KAAkC,EAAE,KAAc;IACpE,OAAO,IAAA,6BAAoB,EAAC,CAAC,KAAc,EAAE,GAAqB,EAA0B,EAAE;QAC1F,MAAM,GAAG,GAA0C,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEnF,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC;YAC3G,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACxF,MAAM,IAAI,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAsB,CAAC;YACpD,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;QAChE,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
@@ -1,4 +1,4 @@
1
- import { EntityManager, FindOneOptions, SaveOptions } from "typeorm";
1
+ import { EntityManager, FindOneOptions, FindOptionsRelations, SaveOptions } from "typeorm";
2
2
  import { SortOptions } from "../types";
3
3
  import { EntityId, Pagination, QueryDeepPartial } from "@hichchi/nest-connector/crud";
4
4
  /**
@@ -41,10 +41,18 @@ export interface QueryOptions<Entity> {
41
41
  * This is transformed into TypeORM's relations option internally.
42
42
  *
43
43
  * @example
44
- * // Load user with their profile and posts
44
+ * // Array-style relations
45
45
  * relations: ['profile', 'posts']
46
+ *
47
+ * @example
48
+ * // FindOptionsRelations<Entity> object-style relations
49
+ * relations: { profile: true, posts: true }
50
+ *
51
+ * @example
52
+ * // Nested FindOptionsRelations<Entity> object-style relations
53
+ * relations: { profile: true, posts: { author: true, comments: true } }
46
54
  */
47
- relations?: (keyof Entity | `${keyof Entity}.${string}`)[];
55
+ relations?: FindOptionsRelations<Entity> | (keyof Entity | `${keyof Entity}.${string}`)[];
48
56
  /**
49
57
  * Additional TypeORM find options excluding 'where' and 'relations'.
50
58
  *
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hichchi/nest-crud",
3
3
  "description": "NestJS CRUD extension library that extends @hichchi/nest-core functionality with comprehensive TypeORM-based CRUD operations, BaseEntity classes, advanced repositories, query builders, audit trails, soft delete, and enterprise-grade features - cannot be used independently, requires nest-core as foundation",
4
- "version": "0.0.6",
4
+ "version": "0.0.8",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -35,9 +35,9 @@
35
35
  "winston-transport": "4.9.0"
36
36
  },
37
37
  "peerDependencies": {
38
- "@hichchi/nest-connector": "0.0.6",
39
- "@hichchi/nest-core": "0.0.6",
40
- "@hichchi/utils": "0.0.6",
38
+ "@hichchi/nest-connector": "0.0.8",
39
+ "@hichchi/nest-core": "0.0.8",
40
+ "@hichchi/utils": "0.0.8",
41
41
  "@nestjs/common": "^11.1.13",
42
42
  "@nestjs/core": "^11.1.13",
43
43
  "@nestjs/typeorm": "^11.0.0",
package/readme-top.md CHANGED
@@ -300,7 +300,7 @@ npm install mongodb
300
300
 
301
301
  ### 🏗️ Ready-to-Use Base Classes
302
302
  - 🗂️ **BaseEntity** - Pre-configured entity with common fields (id, createdAt, updatedAt, etc.)
303
- - 👤 **BaseUserEntity** - Extended entity with user-specific fields and relationships
303
+ - 👤 **BaseUserEntity** - Extended entity with user-specific fields, role/tenant references, and relationships
304
304
  - 🔧 **BaseEntityExtension** - Flexible entity extension for custom requirements
305
305
  - 📦 **BaseRepository** - Comprehensive repository with advanced CRUD operations
306
306
 
@@ -380,6 +380,10 @@ export class UserEntity extends HichchiUserEntity {
380
380
  // - fullName: string (automatically generated)
381
381
  // - email: string | null
382
382
  // - username: string | null
383
+ // - role: string | Role | null
384
+ // - roleId: EntityId | null
385
+ // - tenant: TenantSlug | Tenant | null
386
+ // - tenantId: EntityId | null
383
387
  // Plus all BaseEntity fields
384
388
 
385
389
  // Overriding email as only string if