@zola_do/crud 0.2.3 → 0.2.5

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 (52) hide show
  1. package/README.md +104 -1
  2. package/dist/controller/entity-crud.controller.d.ts +2 -2
  3. package/dist/controller/entity-crud.controller.js +60 -10
  4. package/dist/controller/entity-crud.controller.js.map +1 -1
  5. package/dist/controller/extra-crud.controller.d.ts +2 -2
  6. package/dist/controller/extra-crud.controller.js +59 -9
  7. package/dist/controller/extra-crud.controller.js.map +1 -1
  8. package/dist/controller/relation-crud.controller.d.ts +2 -2
  9. package/dist/controller/relation-crud.controller.js +58 -8
  10. package/dist/controller/relation-crud.controller.js.map +1 -1
  11. package/dist/crud-operation/repository/entity-crud.repository.js +1 -2
  12. package/dist/crud-operation/repository/entity-crud.repository.js.map +1 -1
  13. package/dist/crud-operation/repository/extra-crud.repository.js +1 -2
  14. package/dist/crud-operation/repository/extra-crud.repository.js.map +1 -1
  15. package/dist/optional/rpc.d.ts +1 -0
  16. package/dist/optional/rpc.js +18 -0
  17. package/dist/optional/rpc.js.map +1 -0
  18. package/dist/repository/index.d.ts +1 -0
  19. package/dist/repository/index.js +18 -0
  20. package/dist/repository/index.js.map +1 -0
  21. package/dist/request-context/index.d.ts +1 -0
  22. package/dist/request-context/index.js +18 -0
  23. package/dist/request-context/index.js.map +1 -0
  24. package/dist/service/entity-crud.service.d.ts +3 -3
  25. package/dist/service/entity-crud.service.js +111 -33
  26. package/dist/service/entity-crud.service.js.map +1 -1
  27. package/dist/service/extra-crud.service.d.ts +2 -2
  28. package/dist/service/extra-crud.service.js +111 -38
  29. package/dist/service/extra-crud.service.js.map +1 -1
  30. package/dist/service/relation-crud.service.js +15 -1
  31. package/dist/service/relation-crud.service.js.map +1 -1
  32. package/dist/shared/api-data/api-paginated-response.js +24 -0
  33. package/dist/shared/api-data/api-paginated-response.js.map +1 -1
  34. package/dist/shared/api-data/data-response-format.d.ts +6 -0
  35. package/dist/shared/api-data/data-response-format.js +24 -0
  36. package/dist/shared/api-data/data-response-format.js.map +1 -1
  37. package/dist/shared/exceptions/index.d.ts +0 -1
  38. package/dist/shared/exceptions/index.js +0 -1
  39. package/dist/shared/exceptions/index.js.map +1 -1
  40. package/dist/shared/request-context/apply-create-context.helper.js +17 -4
  41. package/dist/shared/request-context/apply-create-context.helper.js.map +1 -1
  42. package/dist/shared/types/crud-option.type.d.ts +69 -12
  43. package/dist/shared/utils/crud-hooks.helper.d.ts +31 -2
  44. package/dist/shared/utils/crud-hooks.helper.js +172 -1
  45. package/dist/shared/utils/crud-hooks.helper.js.map +1 -1
  46. package/dist/shared/utils/cursor-query.helper.d.ts +6 -0
  47. package/dist/shared/utils/cursor-query.helper.js +49 -0
  48. package/dist/shared/utils/cursor-query.helper.js.map +1 -0
  49. package/dist/shared/utils/index.d.ts +1 -0
  50. package/dist/shared/utils/index.js +1 -0
  51. package/dist/shared/utils/index.js.map +1 -1
  52. package/package.json +30 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeCursorQueryParams = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const parseLimit = (limit) => {
6
+ if (limit === undefined || limit === null || limit === '') {
7
+ return undefined;
8
+ }
9
+ const parsed = parseInt(limit, 10);
10
+ if (Number.isNaN(parsed) || parsed < 1) {
11
+ throw new common_1.BadRequestException('limit must be a positive integer');
12
+ }
13
+ return parsed;
14
+ };
15
+ const parseDirection = (direction) => {
16
+ if (!direction) {
17
+ return undefined;
18
+ }
19
+ if (direction === 'next' || direction === 'n') {
20
+ return 'n';
21
+ }
22
+ if (direction === 'prev' || direction === 'p') {
23
+ return 'p';
24
+ }
25
+ throw new common_1.BadRequestException('direction must be one of n, p, next, prev');
26
+ };
27
+ const mergeCursorQueryParams = (query, params) => {
28
+ const merged = Object.assign({}, query);
29
+ const hasPlainParams = params.cursor !== undefined ||
30
+ params.limit !== undefined ||
31
+ params.direction !== undefined;
32
+ if (params.cursor !== undefined) {
33
+ merged.cursor = params.cursor || undefined;
34
+ }
35
+ const parsedLimit = parseLimit(params.limit);
36
+ if (parsedLimit !== undefined) {
37
+ merged.take = parsedLimit;
38
+ }
39
+ const parsedDirection = parseDirection(params.direction);
40
+ if (parsedDirection !== undefined) {
41
+ merged.cursorDirection = parsedDirection;
42
+ }
43
+ if (hasPlainParams && !merged.cursorDirection) {
44
+ merged.cursorDirection = 'n';
45
+ }
46
+ return merged;
47
+ };
48
+ exports.mergeCursorQueryParams = mergeCursorQueryParams;
49
+ //# sourceMappingURL=cursor-query.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-query.helper.js","sourceRoot":"","sources":["../../../src/shared/utils/cursor-query.helper.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAQrD,MAAM,UAAU,GAAG,CAAC,KAAc,EAAsB,EAAE;IACxD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,4BAAmB,CAAC,kCAAkC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,SAAkB,EACK,EAAE;IACzB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,4BAAmB,CAAC,2CAA2C,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEK,MAAM,sBAAsB,GAAG,CACpC,KAAsB,EACtB,MAIC,EACgB,EAAE;IACnB,MAAM,MAAM,qBACP,KAAK,CACT,CAAC;IAEF,MAAM,cAAc,GAClB,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,MAAM,CAAC,KAAK,KAAK,SAAS;QAC1B,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;IAEjC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;IAC7C,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;IAC5B,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,IAAI,cAAc,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AApCW,QAAA,sBAAsB,0BAoCjC"}
@@ -1,3 +1,4 @@
1
1
  export * from './numeric.transformer';
2
2
  export * from './validate-dto';
3
3
  export * from './crud-hooks.helper';
4
+ export * from './cursor-query.helper';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./numeric.transformer"), exports);
18
18
  __exportStar(require("./validate-dto"), exports);
19
19
  __exportStar(require("./crud-hooks.helper"), exports);
20
+ __exportStar(require("./cursor-query.helper"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,iDAA+B;AAC/B,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,iDAA+B;AAC/B,sDAAoC;AACpC,wDAAsC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zola_do/crud",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Generic CRUD controllers and services for NestJS",
5
5
  "author": "zolaDO",
6
6
  "license": "ISC",
@@ -18,6 +18,31 @@
18
18
  "types": "./dist/index.d.ts",
19
19
  "require": "./dist/index.js",
20
20
  "default": "./dist/index.js"
21
+ },
22
+ "./controller": {
23
+ "types": "./dist/controller/index.d.ts",
24
+ "require": "./dist/controller/index.js",
25
+ "default": "./dist/controller/index.js"
26
+ },
27
+ "./service": {
28
+ "types": "./dist/service/index.d.ts",
29
+ "require": "./dist/service/index.js",
30
+ "default": "./dist/service/index.js"
31
+ },
32
+ "./repository": {
33
+ "types": "./dist/repository/index.d.ts",
34
+ "require": "./dist/repository/index.js",
35
+ "default": "./dist/repository/index.js"
36
+ },
37
+ "./request-context": {
38
+ "types": "./dist/request-context/index.d.ts",
39
+ "require": "./dist/request-context/index.js",
40
+ "default": "./dist/request-context/index.js"
41
+ },
42
+ "./optional/rpc": {
43
+ "types": "./dist/optional/rpc.d.ts",
44
+ "require": "./dist/optional/rpc.js",
45
+ "default": "./dist/optional/rpc.js"
21
46
  }
22
47
  },
23
48
  "files": [
@@ -32,6 +57,7 @@
32
57
  },
33
58
  "peerDependencies": {
34
59
  "@nestjs/common": "^10.0.0 || ^11.0.0",
60
+ "@nestjs/microservices": "^10.0.0 || ^11.0.0",
35
61
  "@nestjs/swagger": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0",
36
62
  "@nestjs/typeorm": "^10.0.0 || ^11.0.0",
37
63
  "class-validator": "^0.14.2 || ^0.15.1",
@@ -41,6 +67,9 @@
41
67
  "typeorm-extension": "^3.7.1"
42
68
  },
43
69
  "peerDependenciesMeta": {
70
+ "@nestjs/microservices": {
71
+ "optional": true
72
+ },
44
73
  "@nestjs/swagger": {
45
74
  "optional": true
46
75
  }