@hichchi/nest-crud 0.0.7 → 0.0.9

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
  *
@@ -12,6 +12,7 @@ import { AuthProvider, GoogleProfile, TenantSlug } from "@hichchi/nest-connector
12
12
  * Key features:
13
13
  * - Provides firstName, lastName, and fullName properties required by UserInfo
14
14
  * - Automatically maintains the fullName property based on firstName and lastName
15
+ * - Provides extensibility points for role and tenant features so implementations can add them only when needed, while still aligning with Role Guards and tenant utilities like CurrentTenantId decorators
15
16
  * - Inherits all audit tracking capabilities from BaseEntity
16
17
  *
17
18
  * Application-specific user entities should extend this class and add additional
@@ -35,7 +36,7 @@ import { AuthProvider, GoogleProfile, TenantSlug } from "@hichchi/nest-connector
35
36
  * @implements {UserInfo} Provides the core user identification properties
36
37
  * @see {@link UserInfo} The interface that defines the required user properties
37
38
  */
38
- export declare class HichchiUserEntity implements UserInfo, Model {
39
+ export declare abstract class HichchiUserEntity implements User, Model {
39
40
  /**
40
41
  * Unique identifier for the entity
41
42
  *
@@ -43,16 +44,6 @@ export declare class HichchiUserEntity implements UserInfo, Model {
43
44
  * It serves as the primary key for the entity in the database.
44
45
  */
45
46
  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
47
  /**
57
48
  * Timestamp when the entity was created
58
49
  *
@@ -155,11 +146,68 @@ export declare class HichchiUserEntity implements UserInfo, Model {
155
146
  * alternative authentication methods like email-only authentication.
156
147
  */
157
148
  username: string | null;
149
+ /**
150
+ * The user's password (stored in hashed form).
151
+ *
152
+ * This value is excluded from serialized responses and should never contain
153
+ * plaintext credentials. It may be null for users authenticated via external providers.
154
+ */
158
155
  password: string | null;
156
+ /**
157
+ * Indicates whether the user's email address has been verified.
158
+ *
159
+ * Used to enforce verification-dependent flows and prevent unverified
160
+ * accounts from accessing restricted features.
161
+ */
159
162
  emailVerified: boolean;
163
+ /**
164
+ * URL or path to the user's profile avatar image.
165
+ *
166
+ * This field is optional and may be populated from uploaded images or
167
+ * third-party identity providers.
168
+ */
160
169
  avatar: string | null;
170
+ /**
171
+ * Additional profile information associated with the user.
172
+ *
173
+ * Stores provider-specific or extended profile attributes in JSON format.
174
+ */
161
175
  profileData: GoogleProfile | null;
176
+ /**
177
+ * Authentication provider used when the account was created.
178
+ *
179
+ * Determines which sign-in flow and credential requirements apply to the user.
180
+ */
162
181
  signUpType: AuthProvider;
182
+ /**
183
+ * The authorization role assigned to the user.
184
+ *
185
+ * Stores either a role identifier string or a populated role object,
186
+ * depending on how the entity is loaded and mapped.
187
+ */
188
+ role?: string | Role | null;
189
+ /**
190
+ * The unique identifier of the user's role.
191
+ *
192
+ * Optional foreign key reference to the role entity for direct relational access.
193
+ */
194
+ roleId?: EntityId | null | undefined;
195
+ /**
196
+ * Represents the tenant associated with the current context.
197
+ * The value can either be a tenant-specific identifier (TenantSlug) or null if no tenant is assigned.
198
+ *
199
+ * A TenantSlug is typically a unique string or slug representing a tenant in multi-tenant applications.
200
+ * Null indicates the absence of a tenant in the current context.
201
+ *
202
+ * This variable is often used to scope application logic and data to a specific tenant.
203
+ */
204
+ tenant?: TenantSlug | Tenant | null;
205
+ /**
206
+ * The unique identifier of the user's tenant.
207
+ *
208
+ * Optional foreign key reference used to scope data to a tenant context.
209
+ */
210
+ tenantId?: EntityId | null | undefined;
163
211
  /**
164
212
  * Lifecycle hooks that run before an entity is inserted or updated
165
213
  *
@@ -17,6 +17,7 @@ const class_transformer_1 = require("class-transformer");
17
17
  * Key features:
18
18
  * - Provides firstName, lastName, and fullName properties required by UserInfo
19
19
  * - Automatically maintains the fullName property based on firstName and lastName
20
+ * - Provides extensibility points for role and tenant features so implementations can add them only when needed, while still aligning with Role Guards and tenant utilities like CurrentTenantId decorators
20
21
  * - Inherits all audit tracking capabilities from BaseEntity
21
22
  *
22
23
  * Application-specific user entities should extend this class and add additional
@@ -48,16 +49,6 @@ class HichchiUserEntity {
48
49
  * It serves as the primary key for the entity in the database.
49
50
  */
50
51
  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
52
  /**
62
53
  * Timestamp when the entity was created
63
54
  *
@@ -160,11 +151,70 @@ class HichchiUserEntity {
160
151
  * alternative authentication methods like email-only authentication.
161
152
  */
162
153
  username;
154
+ /**
155
+ * The user's password (stored in hashed form).
156
+ *
157
+ * This value is excluded from serialized responses and should never contain
158
+ * plaintext credentials. It may be null for users authenticated via external providers.
159
+ */
163
160
  password;
161
+ /**
162
+ * Indicates whether the user's email address has been verified.
163
+ *
164
+ * Used to enforce verification-dependent flows and prevent unverified
165
+ * accounts from accessing restricted features.
166
+ */
164
167
  emailVerified;
168
+ /**
169
+ * URL or path to the user's profile avatar image.
170
+ *
171
+ * This field is optional and may be populated from uploaded images or
172
+ * third-party identity providers.
173
+ */
165
174
  avatar;
175
+ /**
176
+ * Additional profile information associated with the user.
177
+ *
178
+ * Stores provider-specific or extended profile attributes in JSON format.
179
+ */
166
180
  profileData;
181
+ /**
182
+ * Authentication provider used when the account was created.
183
+ *
184
+ * Determines which sign-in flow and credential requirements apply to the user.
185
+ */
167
186
  signUpType;
187
+ /**
188
+ * The authorization role assigned to the user.
189
+ *
190
+ * Stores either a role identifier string or a populated role object,
191
+ * depending on how the entity is loaded and mapped.
192
+ */
193
+ // @Column("varchar", { nullable: true })
194
+ role;
195
+ /**
196
+ * The unique identifier of the user's role.
197
+ *
198
+ * Optional foreign key reference to the role entity for direct relational access.
199
+ */
200
+ roleId;
201
+ /**
202
+ * Represents the tenant associated with the current context.
203
+ * The value can either be a tenant-specific identifier (TenantSlug) or null if no tenant is assigned.
204
+ *
205
+ * A TenantSlug is typically a unique string or slug representing a tenant in multi-tenant applications.
206
+ * Null indicates the absence of a tenant in the current context.
207
+ *
208
+ * This variable is often used to scope application logic and data to a specific tenant.
209
+ */
210
+ // @Column("varchar", { nullable: true })
211
+ tenant;
212
+ /**
213
+ * The unique identifier of the user's tenant.
214
+ *
215
+ * Optional foreign key reference used to scope data to a tenant context.
216
+ */
217
+ tenantId;
168
218
  /**
169
219
  * Lifecycle hooks that run before an entity is inserted or updated
170
220
  *
@@ -210,7 +260,6 @@ class HichchiUserEntity {
210
260
  _mapUserEntity(user) {
211
261
  return {
212
262
  id: user.id,
213
- tenant: user.tenant,
214
263
  firstName: user.firstName,
215
264
  lastName: user.lastName,
216
265
  fullName: user.fullName,
@@ -222,10 +271,6 @@ tslib_1.__decorate([
222
271
  (0, typeorm_1.PrimaryGeneratedColumn)("uuid"),
223
272
  tslib_1.__metadata("design:type", String)
224
273
  ], 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
274
  tslib_1.__decorate([
230
275
  (0, typeorm_1.Column)("timestamp", { nullable: false, default: () => "CURRENT_TIMESTAMP" }),
231
276
  tslib_1.__metadata("design:type", Date)
@@ -306,6 +351,14 @@ tslib_1.__decorate([
306
351
  (0, typeorm_1.Column)("enum", { enum: auth_1.AuthProvider, nullable: false }),
307
352
  tslib_1.__metadata("design:type", String)
308
353
  ], HichchiUserEntity.prototype, "signUpType", void 0);
354
+ tslib_1.__decorate([
355
+ (0, typeorm_1.Column)("uuid", { nullable: true }),
356
+ tslib_1.__metadata("design:type", Object)
357
+ ], HichchiUserEntity.prototype, "roleId", void 0);
358
+ tslib_1.__decorate([
359
+ (0, typeorm_1.Column)("uuid", { nullable: true }),
360
+ tslib_1.__metadata("design:type", Object)
361
+ ], HichchiUserEntity.prototype, "tenantId", void 0);
309
362
  tslib_1.__decorate([
310
363
  (0, typeorm_1.BeforeInsert)(),
311
364
  (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":";;;;AAAA,qCASiB;AAGjB,sCAAmD;AACnD,uDAAuF;AACvF,yDAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAa,iBAAiB;IAC1B;;;;;OAKG;IAEH,EAAE,CAAW;IAEb;;;;;;;;OAQG;IAEH,MAAM,CAAoB;IAE1B;;;;;OAKG;IAEH,SAAS,CAAO;IAEhB;;;;;OAKG;IAEH,SAAS,CAAO;IAEhB;;;;;OAKG;IAEH,SAAS,CAAc;IAEvB;;;;;OAKG;IAEH,WAAW,CAAkB;IAE7B;;;;;OAKG;IAGH,SAAS,CAAkB;IAE3B;;;;;OAKG;IAEH,WAAW,CAAkB;IAE7B;;;;;OAKG;IAGH,SAAS,CAAkB;IAE3B;;;;;OAKG;IAEH,WAAW,CAAkB;IAE7B;;;;;OAKG;IAGH,SAAS,CAAkB;IAE3B;;;;;;OAMG;IAEH,SAAS,CAAS;IAElB;;;;;OAKG;IAEH,QAAQ,CAAS;IAEjB;;;;;;OAMG;IAEH,QAAQ,CAAS;IAEjB;;;;;;OAMG;IAEH,KAAK,CAAgB;IAErB;;;;;;OAMG;IAEH,QAAQ,CAAgB;IAIxB,QAAQ,CAAgB;IAGxB,aAAa,CAAU;IAGvB,MAAM,CAAgB;IAGtB,WAAW,CAAuB;IAGlC,UAAU,CAAe;IAEzB;;;;;;OAMG;IAGO,YAAY;QAClB,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzD,CAAC;IAED;;;;;;;;;OASG;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QACnE,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACO,cAAc,CAAE,IAAc;QACpC,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;IACN,CAAC;CACJ;AAnOD,8CAmOC;AA3NG;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;6CAClB;AAYb;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACZ;AAS1B;IADC,IAAA,gBAAM,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;sCAClE,IAAI;oDAAC;AAShB;IADC,IAAA,gBAAM,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;sCAClE,IAAI;oDAAC;AAShB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACjC;AASvB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACN;AAU7B;IAFC,IAAA,mBAAS,EAAC,+BAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrD,IAAA,oBAAU,GAAE;;oDACc;AAS3B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACN;AAU7B;IAFC,IAAA,mBAAS,EAAC,+BAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrD,IAAA,oBAAU,GAAE;;oDACc;AAS3B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACN;AAU7B;IAFC,IAAA,mBAAS,EAAC,+BAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrD,IAAA,oBAAU,GAAE;;oDACc;AAU3B;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oDACrB;AASlB;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;mDACtB;AAUjB;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;mDACtB;AAUjB;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACjB;AAUrB;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACd;AAIxB;IAFC,IAAA,2BAAO,GAAE;IACT,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACd;AAGxB;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;wDACf;AAGvB;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAChB;AAGtB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACD;AAGlC;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;qDAC/B;AAWf;IAFT,IAAA,sBAAY,GAAE;IACd,IAAA,sBAAY,GAAE;;;;qDAGd;AAaS;IADT,IAAA,mBAAS,GAAE;;;;kDAWX"}
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":"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"}
1
+ {"version":3,"file":"entity.decorator.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/decorators/entity.decorator.ts"],"names":[],"mappings":"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"}
@@ -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.7",
4
+ "version": "0.0.9",
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.7",
39
- "@hichchi/nest-core": "0.0.7",
40
- "@hichchi/utils": "0.0.7",
38
+ "@hichchi/nest-connector": "0.0.9",
39
+ "@hichchi/nest-core": "0.0.9",
40
+ "@hichchi/utils": "0.0.9",
41
41
  "@nestjs/common": "^11.1.13",
42
42
  "@nestjs/core": "^11.1.13",
43
43
  "@nestjs/typeorm": "^11.0.0",