@hichchi/nest-crud 0.0.1-beta.4 → 0.0.1

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 (112) hide show
  1. package/CHANGELOG.md +56 -56
  2. package/base/base-entity-extension.js +6 -10
  3. package/base/base-entity-extension.js.map +1 -1
  4. package/base/base-entity.d.ts +1 -1
  5. package/base/base-entity.js +43 -47
  6. package/base/base-entity.js.map +1 -1
  7. package/base/base-repository.d.ts +6 -6
  8. package/base/base-repository.js +31 -31
  9. package/base/base-repository.js.map +1 -1
  10. package/base/base-user.entity.d.ts +7 -1
  11. package/base/base-user.entity.js +91 -67
  12. package/base/base-user.entity.js.map +1 -1
  13. package/base/index.js +4 -7
  14. package/base/index.js.map +1 -1
  15. package/constants.d.ts +2 -0
  16. package/constants.js +7 -8
  17. package/constants.js.map +1 -1
  18. package/crud.module.js +26 -27
  19. package/crud.module.js.map +1 -1
  20. package/decorators/entity-extension.decorator.js +17 -20
  21. package/decorators/entity-extension.decorator.js.map +1 -1
  22. package/decorators/entity.decorator.js +27 -30
  23. package/decorators/entity.decorator.js.map +1 -1
  24. package/decorators/filter.decorator.js +5 -8
  25. package/decorators/filter.decorator.js.map +1 -1
  26. package/decorators/index.js +8 -11
  27. package/decorators/index.js.map +1 -1
  28. package/decorators/join-column.decorator.js +8 -11
  29. package/decorators/join-column.decorator.js.map +1 -1
  30. package/decorators/page.decorator.d.ts +14 -8
  31. package/decorators/page.decorator.js +9 -111
  32. package/decorators/page.decorator.js.map +1 -1
  33. package/decorators/repository.decorator.js +11 -14
  34. package/decorators/repository.decorator.js.map +1 -1
  35. package/decorators/search.decorator.js +5 -8
  36. package/decorators/search.decorator.js.map +1 -1
  37. package/decorators/sort.decorator.js +5 -8
  38. package/decorators/sort.decorator.js.map +1 -1
  39. package/dtos/bulk-delete.dto.js +12 -15
  40. package/dtos/bulk-delete.dto.js.map +1 -1
  41. package/dtos/bulk-update.dto.d.ts +6 -0
  42. package/dtos/bulk-update.dto.js +24 -0
  43. package/dtos/bulk-update.dto.js.map +1 -0
  44. package/dtos/ids.dto.d.ts +5 -0
  45. package/dtos/ids.dto.js +19 -0
  46. package/dtos/ids.dto.js.map +1 -0
  47. package/dtos/index.d.ts +1 -0
  48. package/dtos/index.js +2 -4
  49. package/dtos/index.js.map +1 -1
  50. package/enums/crud.enums.js +4 -7
  51. package/enums/crud.enums.js.map +1 -1
  52. package/enums/index.js +1 -4
  53. package/enums/index.js.map +1 -1
  54. package/enums/metadata-keys.enum.js +2 -5
  55. package/enums/metadata-keys.enum.js.map +1 -1
  56. package/exceptions/index.js +1 -4
  57. package/exceptions/index.js.map +1 -1
  58. package/exceptions/typeorm.exception.js +4 -9
  59. package/exceptions/typeorm.exception.js.map +1 -1
  60. package/index.d.ts +0 -1
  61. package/index.js +12 -20
  62. package/index.js.map +1 -1
  63. package/interfaces/connection-options.interface.js +1 -2
  64. package/interfaces/crud-options.interfaces.d.ts +49 -46
  65. package/interfaces/crud-options.interfaces.js +1 -2
  66. package/interfaces/index.js +2 -5
  67. package/interfaces/index.js.map +1 -1
  68. package/package.json +15 -9
  69. package/readme-top.md +3 -0
  70. package/responses/crud.error.responses.js +28 -31
  71. package/responses/crud.error.responses.js.map +1 -1
  72. package/responses/crud.success.responses.js +21 -24
  73. package/responses/crud.success.responses.js.map +1 -1
  74. package/responses/index.js +2 -5
  75. package/responses/index.js.map +1 -1
  76. package/services/crud.service.d.ts +13 -13
  77. package/services/crud.service.js +39 -44
  78. package/services/crud.service.js.map +1 -1
  79. package/services/index.js +1 -4
  80. package/services/index.js.map +1 -1
  81. package/tokens.js +2 -5
  82. package/tokens.js.map +1 -1
  83. package/types/database.types.js +1 -2
  84. package/types/decorator.types.js +1 -2
  85. package/types/decorator.types.js.map +1 -1
  86. package/types/entity-option-unique.js +1 -2
  87. package/types/error-handler.type.js +1 -2
  88. package/types/filter-options.type.js +1 -2
  89. package/types/find-conditions.type.js +1 -2
  90. package/types/index.js +8 -11
  91. package/types/index.js.map +1 -1
  92. package/types/repository-decorator.type.js +1 -2
  93. package/types/sort-options.type.js +1 -2
  94. package/utils/entity.utils.js +42 -46
  95. package/utils/entity.utils.js.map +1 -1
  96. package/utils/http.utils.d.ts +2 -2
  97. package/utils/http.utils.js +8 -13
  98. package/utils/http.utils.js.map +1 -1
  99. package/utils/index.js +2 -5
  100. package/utils/index.js.map +1 -1
  101. package/utils/repository.utils.d.ts +4 -2
  102. package/utils/repository.utils.js +10 -12
  103. package/utils/repository.utils.js.map +1 -1
  104. package/base/base-controller.d.ts +0 -13
  105. package/base/base-controller.js +0 -80
  106. package/base/base-controller.js.map +0 -1
  107. package/classes/index.d.ts +0 -1
  108. package/classes/index.js +0 -5
  109. package/classes/index.js.map +0 -1
  110. package/classes/paginated-response.d.ts +0 -95
  111. package/classes/paginated-response.js +0 -106
  112. package/classes/paginated-response.js.map +0 -1
@@ -1,9 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HichchiUserEntity = void 0;
4
- const tslib_1 = require("tslib");
5
- const typeorm_1 = require("typeorm");
6
- const tokens_1 = require("../tokens");
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { AfterLoad, BeforeInsert, BeforeUpdate, Column, DeleteDateColumn, JoinColumn, ManyToOne, PrimaryGeneratedColumn, } from "typeorm";
3
+ import { USER_ENTITY_TABLE_NAME } from "../tokens";
4
+ import { AuthProvider } from "@hichchi/nest-connector/auth";
5
+ import { Exclude } from "class-transformer";
7
6
  /**
8
7
  * Base user entity class that provides common user fields and functionality
9
8
  *
@@ -38,7 +37,7 @@ const tokens_1 = require("../tokens");
38
37
  * @implements {UserInfo} Provides the core user identification properties
39
38
  * @see {@link UserInfo} The interface that defines the required user properties
40
39
  */
41
- class HichchiUserEntity {
40
+ export class HichchiUserEntity {
42
41
  /**
43
42
  * Unique identifier for the entity
44
43
  *
@@ -148,6 +147,11 @@ class HichchiUserEntity {
148
147
  * alternative authentication methods like email-only authentication.
149
148
  */
150
149
  username;
150
+ password;
151
+ emailVerified;
152
+ avatar;
153
+ profileData;
154
+ signUpType;
151
155
  /**
152
156
  * Lifecycle hooks that run before an entity is inserted or updated
153
157
  *
@@ -199,81 +203,101 @@ class HichchiUserEntity {
199
203
  };
200
204
  }
201
205
  }
202
- exports.HichchiUserEntity = HichchiUserEntity;
203
- tslib_1.__decorate([
204
- (0, typeorm_1.PrimaryGeneratedColumn)("uuid"),
205
- tslib_1.__metadata("design:type", String)
206
+ __decorate([
207
+ PrimaryGeneratedColumn("uuid"),
208
+ __metadata("design:type", String)
206
209
  ], HichchiUserEntity.prototype, "id", void 0);
207
- tslib_1.__decorate([
208
- (0, typeorm_1.Column)({ nullable: false, default: () => "CURRENT_TIMESTAMP" }),
209
- tslib_1.__metadata("design:type", Date)
210
+ __decorate([
211
+ Column({ nullable: false, default: () => "CURRENT_TIMESTAMP" }),
212
+ __metadata("design:type", Date)
210
213
  ], HichchiUserEntity.prototype, "createdAt", void 0);
211
- tslib_1.__decorate([
212
- (0, typeorm_1.Column)({ nullable: false, default: () => "CURRENT_TIMESTAMP" }),
213
- tslib_1.__metadata("design:type", Date)
214
+ __decorate([
215
+ Column({ nullable: false, default: () => "CURRENT_TIMESTAMP" }),
216
+ __metadata("design:type", Date)
214
217
  ], HichchiUserEntity.prototype, "updatedAt", void 0);
215
- tslib_1.__decorate([
216
- (0, typeorm_1.DeleteDateColumn)({ type: "timestamp", nullable: true }),
217
- tslib_1.__metadata("design:type", Object)
218
+ __decorate([
219
+ DeleteDateColumn({ type: "timestamp", nullable: true }),
220
+ __metadata("design:type", Object)
218
221
  ], HichchiUserEntity.prototype, "deletedAt", void 0);
219
- tslib_1.__decorate([
220
- (0, typeorm_1.Column)({ nullable: true }),
221
- tslib_1.__metadata("design:type", Object)
222
+ __decorate([
223
+ Column({ nullable: true }),
224
+ __metadata("design:type", Object)
222
225
  ], HichchiUserEntity.prototype, "createdById", void 0);
223
- tslib_1.__decorate([
224
- (0, typeorm_1.ManyToOne)(tokens_1.USER_ENTITY_TABLE_NAME, { nullable: true }),
225
- (0, typeorm_1.JoinColumn)(),
226
- tslib_1.__metadata("design:type", Object)
226
+ __decorate([
227
+ ManyToOne(USER_ENTITY_TABLE_NAME, { nullable: true }),
228
+ JoinColumn(),
229
+ __metadata("design:type", Object)
227
230
  ], HichchiUserEntity.prototype, "createdBy", void 0);
228
- tslib_1.__decorate([
229
- (0, typeorm_1.Column)({ nullable: true }),
230
- tslib_1.__metadata("design:type", Object)
231
+ __decorate([
232
+ Column({ nullable: true }),
233
+ __metadata("design:type", Object)
231
234
  ], HichchiUserEntity.prototype, "updatedById", void 0);
232
- tslib_1.__decorate([
233
- (0, typeorm_1.ManyToOne)(tokens_1.USER_ENTITY_TABLE_NAME, { nullable: true }),
234
- (0, typeorm_1.JoinColumn)(),
235
- tslib_1.__metadata("design:type", Object)
235
+ __decorate([
236
+ ManyToOne(USER_ENTITY_TABLE_NAME, { nullable: true }),
237
+ JoinColumn(),
238
+ __metadata("design:type", Object)
236
239
  ], HichchiUserEntity.prototype, "updatedBy", void 0);
237
- tslib_1.__decorate([
238
- (0, typeorm_1.Column)({ nullable: true }),
239
- tslib_1.__metadata("design:type", Object)
240
+ __decorate([
241
+ Column({ nullable: true }),
242
+ __metadata("design:type", Object)
240
243
  ], HichchiUserEntity.prototype, "deletedById", void 0);
241
- tslib_1.__decorate([
242
- (0, typeorm_1.ManyToOne)(tokens_1.USER_ENTITY_TABLE_NAME, { nullable: true }),
243
- (0, typeorm_1.JoinColumn)(),
244
- tslib_1.__metadata("design:type", Object)
244
+ __decorate([
245
+ ManyToOne(USER_ENTITY_TABLE_NAME, { nullable: true }),
246
+ JoinColumn(),
247
+ __metadata("design:type", Object)
245
248
  ], HichchiUserEntity.prototype, "deletedBy", void 0);
246
- tslib_1.__decorate([
247
- (0, typeorm_1.Column)({ nullable: false }),
248
- tslib_1.__metadata("design:type", String)
249
+ __decorate([
250
+ Column({ nullable: false }),
251
+ __metadata("design:type", String)
249
252
  ], HichchiUserEntity.prototype, "firstName", void 0);
250
- tslib_1.__decorate([
251
- (0, typeorm_1.Column)({ nullable: false }),
252
- tslib_1.__metadata("design:type", String)
253
+ __decorate([
254
+ Column({ nullable: false }),
255
+ __metadata("design:type", String)
253
256
  ], HichchiUserEntity.prototype, "lastName", void 0);
254
- tslib_1.__decorate([
255
- (0, typeorm_1.Column)({ nullable: false }),
256
- tslib_1.__metadata("design:type", String)
257
+ __decorate([
258
+ Column({ nullable: false }),
259
+ __metadata("design:type", String)
257
260
  ], HichchiUserEntity.prototype, "fullName", void 0);
258
- tslib_1.__decorate([
259
- (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
260
- tslib_1.__metadata("design:type", Object)
261
+ __decorate([
262
+ Column("varchar", { nullable: true }),
263
+ __metadata("design:type", Object)
261
264
  ], HichchiUserEntity.prototype, "email", void 0);
262
- tslib_1.__decorate([
263
- (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
264
- tslib_1.__metadata("design:type", Object)
265
+ __decorate([
266
+ Column("varchar", { nullable: true }),
267
+ __metadata("design:type", Object)
265
268
  ], HichchiUserEntity.prototype, "username", void 0);
266
- tslib_1.__decorate([
267
- (0, typeorm_1.BeforeInsert)(),
268
- (0, typeorm_1.BeforeUpdate)(),
269
- tslib_1.__metadata("design:type", Function),
270
- tslib_1.__metadata("design:paramtypes", []),
271
- tslib_1.__metadata("design:returntype", void 0)
269
+ __decorate([
270
+ Exclude(),
271
+ Column("varchar", { nullable: true }),
272
+ __metadata("design:type", Object)
273
+ ], HichchiUserEntity.prototype, "password", void 0);
274
+ __decorate([
275
+ Column({ default: false }),
276
+ __metadata("design:type", Boolean)
277
+ ], HichchiUserEntity.prototype, "emailVerified", void 0);
278
+ __decorate([
279
+ Column("varchar", { nullable: true }),
280
+ __metadata("design:type", Object)
281
+ ], HichchiUserEntity.prototype, "avatar", void 0);
282
+ __decorate([
283
+ Column("json", { nullable: true }),
284
+ __metadata("design:type", Object)
285
+ ], HichchiUserEntity.prototype, "profileData", void 0);
286
+ __decorate([
287
+ Column("enum", { enum: AuthProvider, nullable: false }),
288
+ __metadata("design:type", String)
289
+ ], HichchiUserEntity.prototype, "signUpType", void 0);
290
+ __decorate([
291
+ BeforeInsert(),
292
+ BeforeUpdate(),
293
+ __metadata("design:type", Function),
294
+ __metadata("design:paramtypes", []),
295
+ __metadata("design:returntype", void 0)
272
296
  ], HichchiUserEntity.prototype, "beforeInsert", null);
273
- tslib_1.__decorate([
274
- (0, typeorm_1.AfterLoad)(),
275
- tslib_1.__metadata("design:type", Function),
276
- tslib_1.__metadata("design:paramtypes", []),
277
- tslib_1.__metadata("design:returntype", void 0)
297
+ __decorate([
298
+ AfterLoad(),
299
+ __metadata("design:type", Function),
300
+ __metadata("design:paramtypes", []),
301
+ __metadata("design:returntype", void 0)
278
302
  ], HichchiUserEntity.prototype, "afterLoad", null);
279
303
  //# sourceMappingURL=base-user.entity.js.map
@@ -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/base/index.js CHANGED
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./base-entity"), exports);
5
- tslib_1.__exportStar(require("./base-entity-extension"), exports);
6
- tslib_1.__exportStar(require("./base-repository"), exports);
7
- tslib_1.__exportStar(require("./base-user.entity"), exports);
1
+ export * from "./base-entity";
2
+ export * from "./base-entity-extension";
3
+ export * from "./base-repository";
4
+ export * from "./base-user.entity";
8
5
  //# sourceMappingURL=index.js.map
package/base/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/base/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,kEAAwC;AACxC,4DAAkC;AAClC,6DAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
package/constants.d.ts CHANGED
@@ -100,3 +100,5 @@ export declare const EXTRACT_INVALID_QUERY_FIELD_REGEX: RegExp;
100
100
  * @see {@link EntityUtils.handleError} Method that uses this pattern to extract column names from errors
101
101
  */
102
102
  export declare const EXTRACT_INVALID_COLUMN_REGEX: RegExp;
103
+ export declare const ID_PATH = "id";
104
+ export declare const ID_PATH_VAR = ":id";
package/constants.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EXTRACT_INVALID_COLUMN_REGEX = exports.EXTRACT_INVALID_QUERY_FIELD_REGEX = exports.FK_CONSTRAINT_REGEX = exports.UNIQUE_CONSTRAINT_REGEX = exports.DEFAULT_MAX_RECURSION_DEPTH = void 0;
4
1
  /**
5
2
  * Default maximum recursion depth for deep object operations
6
3
  *
@@ -21,7 +18,7 @@ exports.EXTRACT_INVALID_COLUMN_REGEX = exports.EXTRACT_INVALID_QUERY_FIELD_REGEX
21
18
  *
22
19
  * @see {@link toQueryDeepPartialEntity} Function that uses this constant to limit recursion depth
23
20
  */
24
- exports.DEFAULT_MAX_RECURSION_DEPTH = 10;
21
+ export const DEFAULT_MAX_RECURSION_DEPTH = 10;
25
22
  /**
26
23
  * Regular expression for validating unique constraint naming convention
27
24
  *
@@ -42,7 +39,7 @@ exports.DEFAULT_MAX_RECURSION_DEPTH = 10;
42
39
  *
43
40
  * @see {@link HichchiEntity} Decorator that validates unique constraint names
44
41
  */
45
- exports.UNIQUE_CONSTRAINT_REGEX = /^UNIQUE_[a-zA-Z]\w+_[a-zA-Z]\w+$/;
42
+ export const UNIQUE_CONSTRAINT_REGEX = /^UNIQUE_[a-zA-Z]\w+_[a-zA-Z]\w+$/;
46
43
  /**
47
44
  * Regular expression for validating foreign key constraint naming convention
48
45
  *
@@ -64,7 +61,7 @@ exports.UNIQUE_CONSTRAINT_REGEX = /^UNIQUE_[a-zA-Z]\w+_[a-zA-Z]\w+$/;
64
61
  * @see {@link HichchiEntity} Decorator that validates foreign key constraint names
65
62
  * @see {@link HichchiJoinColumn} Decorator that uses this pattern for foreign key constraints
66
63
  */
67
- exports.FK_CONSTRAINT_REGEX = /^FK_[a-zA-Z]\w+_[a-zA-Z]\w+$/;
64
+ export const FK_CONSTRAINT_REGEX = /^FK_[a-zA-Z]\w+_[a-zA-Z]\w+$/;
68
65
  /**
69
66
  * Regular expression for extracting field names from TypeORM property not found errors
70
67
  *
@@ -83,7 +80,7 @@ exports.FK_CONSTRAINT_REGEX = /^FK_[a-zA-Z]\w+_[a-zA-Z]\w+$/;
83
80
  *
84
81
  * @see {@link EntityUtils.handleError} Method that uses this pattern to extract field names from errors
85
82
  */
86
- exports.EXTRACT_INVALID_QUERY_FIELD_REGEX = /Property "|" was/;
83
+ export const EXTRACT_INVALID_QUERY_FIELD_REGEX = /Property "|" was/;
87
84
  /**
88
85
  * Regular expression for extracting column names from database column not found errors
89
86
  *
@@ -102,5 +99,7 @@ exports.EXTRACT_INVALID_QUERY_FIELD_REGEX = /Property "|" was/;
102
99
  *
103
100
  * @see {@link EntityUtils.handleError} Method that uses this pattern to extract column names from errors
104
101
  */
105
- exports.EXTRACT_INVALID_COLUMN_REGEX = /Unknown column '|' in 'where clause'/;
102
+ export const EXTRACT_INVALID_COLUMN_REGEX = /Unknown column '|' in 'where clause'/;
103
+ export const ID_PATH = "id";
104
+ export const ID_PATH_VAR = `:${ID_PATH}`;
106
105
  //# sourceMappingURL=constants.js.map
package/constants.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../libs/nest-crud/src/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACU,QAAA,2BAA2B,GAAG,EAAE,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;GAmBG;AACU,QAAA,uBAAuB,GAAG,kCAAkC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACU,QAAA,mBAAmB,GAAG,8BAA8B,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,iCAAiC,GAAG,kBAAkB,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,4BAA4B,GAAG,sCAAsC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../libs/nest-crud/src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,kCAAkC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,kBAAkB,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,sCAAsC,CAAC;AAEnF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;AAE5B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,EAAE,CAAC"}
package/crud.module.js CHANGED
@@ -1,16 +1,13 @@
1
- "use strict";
2
1
  // noinspection JSUnusedGlobalSymbols
3
2
  var HichchiCrudModule_1;
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.HichchiCrudModule = void 0;
6
- const tslib_1 = require("tslib");
7
- const common_1 = require("@nestjs/common");
8
- const typeorm_1 = require("@nestjs/typeorm");
9
- const tokens_1 = require("./tokens");
10
- const utils_1 = require("./utils");
11
- const base_1 = require("./base");
12
- const nest_core_1 = require("@hichchi/nest-core");
13
- const nest_connector_1 = require("@hichchi/nest-connector");
3
+ import { __decorate } from "tslib";
4
+ import { Module } from "@nestjs/common";
5
+ import { TypeOrmModule } from "@nestjs/typeorm";
6
+ import { CONNECTION_OPTIONS } from "./tokens";
7
+ import { EntityUtils } from "./utils";
8
+ import { BaseEntity, BaseEntityExtension, HichchiUserEntity } from "./base";
9
+ import { hichchiMetadata, ImplementationException } from "@hichchi/nest-core";
10
+ import { DEFAULT_MYSQL_PORT } from "@hichchi/nest-connector";
14
11
  /**
15
12
  * Module for integrating TypeORM with NestJS and providing CRUD functionality
16
13
  *
@@ -76,10 +73,10 @@ let HichchiCrudModule = HichchiCrudModule_1 = class HichchiCrudModule {
76
73
  return {
77
74
  module: HichchiCrudModule_1,
78
75
  imports: [
79
- typeorm_1.TypeOrmModule.forRoot({
76
+ TypeOrmModule.forRoot({
80
77
  type: options.type || "mysql",
81
78
  host: options.host || "localhost",
82
- port: options.port || nest_connector_1.DEFAULT_MYSQL_PORT,
79
+ port: options.port || DEFAULT_MYSQL_PORT,
83
80
  username: options.username || "root",
84
81
  password: options.password || "",
85
82
  database: options.database,
@@ -96,10 +93,10 @@ let HichchiCrudModule = HichchiCrudModule_1 = class HichchiCrudModule {
96
93
  ],
97
94
  providers: [
98
95
  {
99
- provide: tokens_1.CONNECTION_OPTIONS,
96
+ provide: CONNECTION_OPTIONS,
100
97
  useValue: options,
101
98
  },
102
- utils_1.EntityUtils,
99
+ EntityUtils,
103
100
  ],
104
101
  };
105
102
  }
@@ -131,8 +128,8 @@ let HichchiCrudModule = HichchiCrudModule_1 = class HichchiCrudModule {
131
128
  this.validateEntities(entities);
132
129
  return {
133
130
  module: HichchiCrudModule_1,
134
- imports: [typeorm_1.TypeOrmModule.forFeature(entities)],
135
- exports: [typeorm_1.TypeOrmModule],
131
+ imports: [TypeOrmModule.forFeature(entities)],
132
+ exports: [TypeOrmModule],
136
133
  };
137
134
  }
138
135
  /**
@@ -165,7 +162,7 @@ let HichchiCrudModule = HichchiCrudModule_1 = class HichchiCrudModule {
165
162
  option = "migrations";
166
163
  }
167
164
  if (option) {
168
- throw new nest_core_1.ImplementationException("Missing connection option", `Connection option '${option}' cannot be empty in HichchiCrudModule.forRoot()'.`, `Please provide a valid value for the '${option}' connection option.`);
165
+ throw new ImplementationException("Missing connection option", `Connection option '${option}' cannot be empty in HichchiCrudModule.forRoot()'.`, `Please provide a valid value for the '${option}' connection option.`);
169
166
  }
170
167
  return true;
171
168
  }
@@ -192,19 +189,21 @@ let HichchiCrudModule = HichchiCrudModule_1 = class HichchiCrudModule {
192
189
  */
193
190
  static validateEntities(entities) {
194
191
  for (const entity of entities) {
195
- if (!(0, nest_core_1.hichchiMetadata)().isHichchiEntity(entity)) {
196
- throw new nest_core_1.ImplementationException("Invalid entity", `'${entity.name}' must be decorated with '@HichchiEntity()'.`);
192
+ if (!hichchiMetadata().isHichchiEntity(entity)) {
193
+ throw new ImplementationException("Invalid entity", `'${entity.name}' must be decorated with '@HichchiEntity()'.`);
197
194
  }
198
- if (Object.getPrototypeOf(entity) !== base_1.BaseEntity &&
199
- Object.getPrototypeOf(entity) !== base_1.BaseEntityExtension &&
200
- Object.getPrototypeOf(entity) !== base_1.HichchiUserEntity) {
201
- throw new nest_core_1.ImplementationException("Invalid entity", `'${entity.name}' must extend 'BaseEntity' or 'BaseEntityExtension' or 'HichchiUserEntity'.`);
195
+ if (Object.getPrototypeOf(entity) !== BaseEntity &&
196
+ Object.getPrototypeOf(entity) !== BaseEntityExtension &&
197
+ Object.getPrototypeOf(entity) !== HichchiUserEntity) {
198
+ throw new ImplementationException("Invalid entity", `'${entity.name}' must extend 'BaseEntity' or 'BaseEntityExtension' or 'HichchiUserEntity'.`);
202
199
  }
203
200
  }
204
201
  }
205
202
  };
206
- exports.HichchiCrudModule = HichchiCrudModule;
207
- exports.HichchiCrudModule = HichchiCrudModule = HichchiCrudModule_1 = tslib_1.__decorate([
208
- (0, common_1.Module)({})
203
+ HichchiCrudModule = HichchiCrudModule_1 = __decorate([
204
+ Module({})
209
205
  ], HichchiCrudModule);
206
+ export { HichchiCrudModule };
207
+ // TODO: need to update doc to say install `@nestjs/cache-manager, @keyv/redis, cacheable` to use cache
208
+ // TODO: winston, @nestjs/axios, @nestjs/passport, passport-jwt, bcrypt, @nestjs/jwt, passport-local, passport-google-oauth2
210
209
  //# sourceMappingURL=crud.module.js.map
@@ -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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"}
@@ -1,12 +1,9 @@
1
- "use strict";
2
1
  // noinspection JSUnusedGlobalSymbols
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.HichchiEntityExtension = HichchiEntityExtension;
5
- const typeorm_1 = require("typeorm");
6
- const constants_1 = require("../constants");
7
- const base_1 = require("../base");
8
- const nest_core_1 = require("@hichchi/nest-core");
9
- const metadata_keys_enum_1 = require("../enums/metadata-keys.enum");
2
+ import { Entity, getMetadataArgsStorage } from "typeorm";
3
+ import { FK_CONSTRAINT_REGEX } from "../constants";
4
+ import { BaseEntityExtension } from "../base";
5
+ import { hichchiMetadata, ImplementationException } from "@hichchi/nest-core";
6
+ import { MetadataKeys } from "../enums/metadata-keys.enum";
10
7
  /**
11
8
  * Decorator for creating entity extensions with enhanced validation
12
9
  *
@@ -50,37 +47,37 @@ const metadata_keys_enum_1 = require("../enums/metadata-keys.enum");
50
47
  * @see {@link HichchiJoinColumn} The decorator required for entity relationships
51
48
  * @see {@link HichchiEntity} The decorator for standard entities with full audit tracking
52
49
  */
53
- function HichchiEntityExtension(tableName) {
50
+ export function HichchiEntityExtension(tableName) {
54
51
  return function (target) {
55
- if (!(target.prototype instanceof base_1.BaseEntityExtension)) {
56
- throw new nest_core_1.ImplementationException(`Extension entities must extend BaseEntityExtension: '${target.name}'`, `@HichchiEntityExtension("${tableName}") was used on a class that does not extend BaseEntityExtension.`, "Add `extends BaseEntityExtension` to extension entities to ensure proper behavior.");
52
+ if (!(target.prototype instanceof BaseEntityExtension)) {
53
+ throw new ImplementationException(`Extension entities must extend BaseEntityExtension: '${target.name}'`, `@HichchiEntityExtension("${tableName}") was used on a class that does not extend BaseEntityExtension.`, "Add `extends BaseEntityExtension` to extension entities to ensure proper behavior.");
57
54
  }
58
- (0, typeorm_1.Entity)(tableName)(target);
59
- const metadataArgs = (0, typeorm_1.getMetadataArgsStorage)();
55
+ Entity(tableName)(target);
56
+ const metadataArgs = getMetadataArgsStorage();
60
57
  // Validate OneToOne relation with an @HichchiEntity
61
58
  const oneToOneRelations = metadataArgs.relations.filter(relation => relation.target === target && relation.relationType === "one-to-one");
62
59
  if (oneToOneRelations.length === 0) {
63
- throw new nest_core_1.ImplementationException("Missing @OneToOne relation", `No @OneToOne relation defined in @HichchiEntityExtension("${tableName}").`, "HichchiEntityExtension must have a OneToOne relation to an entity decorated with @HichchiEntity.");
60
+ throw new ImplementationException("Missing @OneToOne relation", `No @OneToOne relation defined in @HichchiEntityExtension("${tableName}").`, "HichchiEntityExtension must have a OneToOne relation to an entity decorated with @HichchiEntity.");
64
61
  }
65
62
  oneToOneRelations.forEach(relation => {
66
63
  const joinColumns = metadataArgs.joinColumns.filter(joinColumn => joinColumn.target === target && joinColumn.propertyName === relation.propertyName);
67
64
  if (joinColumns.length === 0) {
68
- throw new nest_core_1.ImplementationException("Missing @HichchiJoinColumn", `Missing @HichchiJoinColumn on OneToOne property '${relation.propertyName}' in @HichchiEntityExtension("${tableName}").`, "Please use @HichchiJoinColumn instead of @JoinColumn for consistent foreign key validation.");
65
+ throw new ImplementationException("Missing @HichchiJoinColumn", `Missing @HichchiJoinColumn on OneToOne property '${relation.propertyName}' in @HichchiEntityExtension("${tableName}").`, "Please use @HichchiJoinColumn instead of @JoinColumn for consistent foreign key validation.");
69
66
  }
70
67
  // Validate HichchiJoinColumn usage
71
68
  joinColumns.forEach(joinColumn => {
72
- const isHichchiJoinColumn = Reflect.getMetadata(metadata_keys_enum_1.MetadataKeys.HICHCHI_FOREIGN_KEY, target.prototype, joinColumn.propertyName);
69
+ const isHichchiJoinColumn = Reflect.getMetadata(MetadataKeys.HICHCHI_FOREIGN_KEY, target.prototype, joinColumn.propertyName);
73
70
  if (!isHichchiJoinColumn) {
74
- throw new nest_core_1.ImplementationException("Invalid JoinColumn", `@JoinColumn used instead of @HichchiJoinColumn on '${joinColumn.propertyName}' in @HichchiEntityExtension("${tableName}").`, "Use @HichchiJoinColumn to maintain naming and validation consistency.");
71
+ throw new ImplementationException("Invalid JoinColumn", `@JoinColumn used instead of @HichchiJoinColumn on '${joinColumn.propertyName}' in @HichchiEntityExtension("${tableName}").`, "Use @HichchiJoinColumn to maintain naming and validation consistency.");
75
72
  }
76
73
  if (joinColumn.foreignKeyConstraintName &&
77
- !constants_1.FK_CONSTRAINT_REGEX.test(joinColumn.foreignKeyConstraintName)) {
78
- throw new nest_core_1.ImplementationException(`Invalid foreign key constraint: '${joinColumn.foreignKeyConstraintName}'`, "Foreign key name must follow 'FK_entity_entity' format.", "Ensure constraint names are valid according to the FK naming pattern.");
74
+ !FK_CONSTRAINT_REGEX.test(joinColumn.foreignKeyConstraintName)) {
75
+ throw new ImplementationException(`Invalid foreign key constraint: '${joinColumn.foreignKeyConstraintName}'`, "Foreign key name must follow 'FK_entity_entity' format.", "Ensure constraint names are valid according to the FK naming pattern.");
79
76
  }
80
77
  });
81
78
  });
82
79
  // Register in app metadata
83
- (0, nest_core_1.hichchiMetadata)().addEntity(target, tableName, []);
80
+ hichchiMetadata().addEntity(target, tableName, []);
84
81
  };
85
82
  }
86
83
  // TODO: v2.0 Improve this when have better usage
@@ -1 +1 @@
1
- {"version":3,"file":"entity-extension.decorator.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/decorators/entity-extension.decorator.ts"],"names":[],"mappings":";AAAA,qCAAqC;;AAqDrC,wDAuEC;AA1HD,qCAAyD;AAEzD,4CAAmD;AACnD,kCAA8C;AAC9C,kDAA8E;AAC9E,oEAA2D;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,SAAgB,sBAAsB,CAAC,SAAiB;IACpD,OAAO,UAAU,MAAiC;QAC9C,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,YAAY,0BAAmB,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,mCAAuB,CAC7B,wDAAwD,MAAM,CAAC,IAAI,GAAG,EACtE,4BAA4B,SAAS,kEAAkE,EACvG,oFAAoF,CACvF,CAAC;QACN,CAAC;QAED,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAA,gCAAsB,GAAE,CAAC;QAE9C,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CACnD,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CACnF,CAAC;QAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,mCAAuB,CAC7B,4BAA4B,EAC5B,6DAA6D,SAAS,KAAK,EAC3E,kGAAkG,CACrG,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjC,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;YAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,mCAAuB,CAC7B,4BAA4B,EAC5B,oDAAoD,QAAQ,CAAC,YAAY,iCAAiC,SAAS,KAAK,EACxH,6FAA6F,CAChG,CAAC;YACN,CAAC;YAED,mCAAmC;YACnC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC7B,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAC3C,iCAAY,CAAC,mBAAmB,EAChC,MAAM,CAAC,SAAiB,EACxB,UAAU,CAAC,YAAY,CACP,CAAC;gBAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACvB,MAAM,IAAI,mCAAuB,CAC7B,oBAAoB,EACpB,sDAAsD,UAAU,CAAC,YAAY,iCAAiC,SAAS,KAAK,EAC5H,uEAAuE,CAC1E,CAAC;gBACN,CAAC;gBAED,IACI,UAAU,CAAC,wBAAwB;oBACnC,CAAC,+BAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAChE,CAAC;oBACC,MAAM,IAAI,mCAAuB,CAC7B,oCAAoC,UAAU,CAAC,wBAAwB,GAAG,EAC1E,yDAAyD,EACzD,uEAAuE,CAC1E,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAA,2BAAe,GAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;AACN,CAAC;AAED,iDAAiD;AACjD,qFAAqF"}
1
+ {"version":3,"file":"entity-extension.decorator.js","sourceRoot":"","sources":["../../../../libs/nest-crud/src/decorators/entity-extension.decorator.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACpD,OAAO,UAAU,MAAiC;QAC9C,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,YAAY,mBAAmB,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,uBAAuB,CAC7B,wDAAwD,MAAM,CAAC,IAAI,GAAG,EACtE,4BAA4B,SAAS,kEAAkE,EACvG,oFAAoF,CACvF,CAAC;QACN,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;QAE9C,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CACnD,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CACnF,CAAC;QAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,uBAAuB,CAC7B,4BAA4B,EAC5B,6DAA6D,SAAS,KAAK,EAC3E,kGAAkG,CACrG,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjC,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;YAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,uBAAuB,CAC7B,4BAA4B,EAC5B,oDAAoD,QAAQ,CAAC,YAAY,iCAAiC,SAAS,KAAK,EACxH,6FAA6F,CAChG,CAAC;YACN,CAAC;YAED,mCAAmC;YACnC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC7B,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAC3C,YAAY,CAAC,mBAAmB,EAChC,MAAM,CAAC,SAAiB,EACxB,UAAU,CAAC,YAAY,CACP,CAAC;gBAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACvB,MAAM,IAAI,uBAAuB,CAC7B,oBAAoB,EACpB,sDAAsD,UAAU,CAAC,YAAY,iCAAiC,SAAS,KAAK,EAC5H,uEAAuE,CAC1E,CAAC;gBACN,CAAC;gBAED,IACI,UAAU,CAAC,wBAAwB;oBACnC,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAChE,CAAC;oBACC,MAAM,IAAI,uBAAuB,CAC7B,oCAAoC,UAAU,CAAC,wBAAwB,GAAG,EAC1E,yDAAyD,EACzD,uEAAuE,CAC1E,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,eAAe,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;AACN,CAAC;AAED,iDAAiD;AACjD,qFAAqF"}