@zola_do/crud 0.2.8 → 0.2.12

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 (64) hide show
  1. package/README.md +158 -68
  2. package/dist/controller/entity-crud.controller.js +8 -3
  3. package/dist/controller/entity-crud.controller.js.map +1 -1
  4. package/dist/controller/extra-crud.controller.js +5 -0
  5. package/dist/controller/extra-crud.controller.js.map +1 -1
  6. package/dist/controller/relation-crud.controller.js +3 -0
  7. package/dist/controller/relation-crud.controller.js.map +1 -1
  8. package/dist/crud-operation/repository/entity-crud.repository.d.ts +4 -4
  9. package/dist/crud-operation/repository/entity-crud.repository.js +29 -18
  10. package/dist/crud-operation/repository/entity-crud.repository.js.map +1 -1
  11. package/dist/crud-operation/repository/extra-crud.repository.d.ts +4 -4
  12. package/dist/crud-operation/repository/extra-crud.repository.js +28 -14
  13. package/dist/crud-operation/repository/extra-crud.repository.js.map +1 -1
  14. package/dist/crud-operation/repository/relation-crud.repository.js +4 -0
  15. package/dist/crud-operation/repository/relation-crud.repository.js.map +1 -1
  16. package/dist/crud-operation/service/relation-crud.service.js.map +1 -1
  17. package/dist/crud.module.d.ts +3 -0
  18. package/dist/crud.module.js +25 -0
  19. package/dist/crud.module.js.map +1 -0
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/service/entity-crud.service.d.ts +5 -4
  24. package/dist/service/entity-crud.service.js +72 -60
  25. package/dist/service/entity-crud.service.js.map +1 -1
  26. package/dist/service/extra-crud.service.d.ts +4 -3
  27. package/dist/service/extra-crud.service.js +45 -36
  28. package/dist/service/extra-crud.service.js.map +1 -1
  29. package/dist/service/relation-crud.service.d.ts +4 -3
  30. package/dist/service/relation-crud.service.js +23 -10
  31. package/dist/service/relation-crud.service.js.map +1 -1
  32. package/dist/shared/guards/crud-operation-disabled.guard.js.map +1 -1
  33. package/dist/shared/index.d.ts +2 -0
  34. package/dist/shared/index.js +2 -0
  35. package/dist/shared/index.js.map +1 -1
  36. package/dist/shared/interceptors/transaction-interceptor.d.ts +7 -2
  37. package/dist/shared/interceptors/transaction-interceptor.js +35 -6
  38. package/dist/shared/interceptors/transaction-interceptor.js.map +1 -1
  39. package/dist/shared/request-context/apply-create-context.helper.js +5 -12
  40. package/dist/shared/request-context/apply-create-context.helper.js.map +1 -1
  41. package/dist/shared/tokens/crud-transaction-context.token.d.ts +1 -0
  42. package/dist/shared/tokens/crud-transaction-context.token.js +5 -0
  43. package/dist/shared/tokens/crud-transaction-context.token.js.map +1 -0
  44. package/dist/shared/types/crud-option.type.d.ts +26 -39
  45. package/dist/shared/types/crud-transaction-context-hook.interface.d.ts +8 -0
  46. package/dist/shared/types/crud-transaction-context-hook.interface.js +3 -0
  47. package/dist/shared/types/crud-transaction-context-hook.interface.js.map +1 -0
  48. package/dist/shared/types/index.d.ts +1 -0
  49. package/dist/shared/types/index.js +1 -0
  50. package/dist/shared/types/index.js.map +1 -1
  51. package/dist/shared/utils/crud-hooks.helper.d.ts +7 -4
  52. package/dist/shared/utils/crud-hooks.helper.js +33 -11
  53. package/dist/shared/utils/crud-hooks.helper.js.map +1 -1
  54. package/dist/shared/utils/crud-transaction.decorators.d.ts +1 -0
  55. package/dist/shared/utils/crud-transaction.decorators.js +8 -0
  56. package/dist/shared/utils/crud-transaction.decorators.js.map +1 -0
  57. package/dist/shared/utils/cursor-query.helper.js.map +1 -1
  58. package/dist/shared/utils/index.d.ts +2 -0
  59. package/dist/shared/utils/index.js +2 -0
  60. package/dist/shared/utils/index.js.map +1 -1
  61. package/dist/shared/utils/transactional-repository.helper.d.ts +4 -0
  62. package/dist/shared/utils/transactional-repository.helper.js +23 -0
  63. package/dist/shared/utils/transactional-repository.helper.js.map +1 -0
  64. package/package.json +115 -112
@@ -1,9 +1,10 @@
1
- import { ObjectLiteral, Repository } from "typeorm";
2
- import { CollectionQuery } from "@zola_do/collection-query";
3
- import { DataResponseFormat, RelationCrudOptions } from "../shared";
1
+ import { ObjectLiteral, Repository } from 'typeorm';
2
+ import { CollectionQuery } from '@zola_do/collection-query';
3
+ import { DataResponseFormat, RelationCrudOptions } from '../shared';
4
4
  export declare class RelationCrudService<TEntity extends ObjectLiteral> {
5
5
  private readonly repository;
6
6
  constructor(repository: Repository<TEntity>);
7
+ protected resolveRepository(req?: any): Repository<TEntity>;
7
8
  bulkSaveFirst(payload: any, relationCrudOptions: RelationCrudOptions, req?: any): Promise<TEntity[]>;
8
9
  bulkSaveSecond(payload: any, relationCrudOptions: RelationCrudOptions, req?: any): Promise<TEntity[]>;
9
10
  findAllFirst(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<DataResponseFormat<TEntity>>;
@@ -18,6 +18,9 @@ let RelationCrudService = class RelationCrudService {
18
18
  constructor(repository) {
19
19
  this.repository = repository;
20
20
  }
21
+ resolveRepository(req) {
22
+ return (0, shared_1.resolveCrudRepository)(this.repository, req);
23
+ }
21
24
  async bulkSaveFirst(payload, relationCrudOptions, req) {
22
25
  const firstEntityIdName = relationCrudOptions.firstEntityIdName;
23
26
  const secondEntityIdName = relationCrudOptions.secondEntityIdName;
@@ -33,18 +36,23 @@ let RelationCrudService = class RelationCrudService {
33
36
  });
34
37
  const deleteCondition = {};
35
38
  deleteCondition[firstEntityIdName] = entityId;
36
- await (0, shared_1.runCrudHook)(relationCrudOptions, "beforeAssignFirst", {
39
+ const repo = this.resolveRepository(req);
40
+ await (0, shared_1.runCrudHook)(relationCrudOptions, 'beforeAssignFirst', {
37
41
  id: entityId,
38
42
  itemData: payload,
39
43
  req,
44
+ service: this,
45
+ repository: repo,
40
46
  });
41
- await this.repository.delete(deleteCondition);
42
- const data = this.repository.create(parsedPayload);
43
- await this.repository.insert(data);
44
- await (0, shared_1.runCrudHook)(relationCrudOptions, "afterAssignFirst", {
47
+ await repo.delete(deleteCondition);
48
+ const data = repo.create(parsedPayload);
49
+ await repo.insert(data);
50
+ await (0, shared_1.runCrudHook)(relationCrudOptions, 'afterAssignFirst', {
45
51
  id: entityId,
46
52
  entity: data,
47
53
  req,
54
+ service: this,
55
+ repository: repo,
48
56
  });
49
57
  return data;
50
58
  }
@@ -63,18 +71,23 @@ let RelationCrudService = class RelationCrudService {
63
71
  });
64
72
  const deleteCondition = {};
65
73
  deleteCondition[secondEntityIdName] = entityId;
66
- await (0, shared_1.runCrudHook)(relationCrudOptions, "beforeAssignSecond", {
74
+ const repo = this.resolveRepository(req);
75
+ await (0, shared_1.runCrudHook)(relationCrudOptions, 'beforeAssignSecond', {
67
76
  id: entityId,
68
77
  itemData: payload,
69
78
  req,
79
+ service: this,
80
+ repository: repo,
70
81
  });
71
- await this.repository.delete(deleteCondition);
72
- const data = this.repository.create(parsedPayload);
73
- await this.repository.insert(data);
74
- await (0, shared_1.runCrudHook)(relationCrudOptions, "afterAssignSecond", {
82
+ await repo.delete(deleteCondition);
83
+ const data = repo.create(parsedPayload);
84
+ await repo.insert(data);
85
+ await (0, shared_1.runCrudHook)(relationCrudOptions, 'afterAssignSecond', {
75
86
  id: entityId,
76
87
  entity: data,
77
88
  req,
89
+ service: this,
90
+ repository: repo,
78
91
  });
79
92
  return data;
80
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relation-crud.service.js","sourceRoot":"","sources":["../../src/service/relation-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAoD;AACpD,2CAA4C;AAC5C,gEAImC;AAEnC,sCAImB;AAGZ,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEhE,KAAK,CAAC,aAAa,CACjB,OAAY,EACZ,mBAAwC,EACxC,GAAS;QAET,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC;QAChE,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,kBAAkB,CAAC;QAElE,MAAM,OAAO,GAAG,mBAAmB,CAAC,YAAY,CAAC;QACjD,MAAM,QAAQ,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEpD,MAAM,aAAa,GAAU,EAAE,CAAC;QAEhC,MAAM,SAAS,GAAU,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,aAAa,CAAC,IAAI,CAAC;gBACjB,CAAC,iBAAiB,CAAC,EAAE,QAAQ;gBAC7B,CAAC,kBAAkB,CAAC,EAAE,IAAI;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,eAAe,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;QAE9C,MAAM,IAAA,oBAAW,EAAC,mBAA0B,EAAE,mBAAmB,EAAE;YACjE,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE,OAAO;YACjB,GAAG;SACJ,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,IAAA,oBAAW,EAAC,mBAA0B,EAAE,kBAAkB,EAAE;YAChE,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,IAAW;YACnB,GAAG;SACJ,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAY,EACZ,mBAAwC,EACxC,GAAS;QAET,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC;QAChE,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,kBAAkB,CAAC;QAElE,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,CAAC;QAClD,MAAM,QAAQ,GAAW,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAErD,MAAM,aAAa,GAAU,EAAE,CAAC;QAEhC,MAAM,SAAS,GAAU,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,aAAa,CAAC,IAAI,CAAC;gBACjB,CAAC,kBAAkB,CAAC,EAAE,QAAQ;gBAC9B,CAAC,iBAAiB,CAAC,EAAE,IAAI;aAC1B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,eAAe,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC;QAE/C,MAAM,IAAA,oBAAW,EAAC,mBAA0B,EAAE,oBAAoB,EAAE;YAClE,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE,OAAO;YACjB,GAAG;SACJ,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,IAAA,oBAAW,EAAC,mBAA0B,EAAE,mBAAmB,EAAE;YACjE,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,IAAW;YACnB,GAAG;SACJ,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,KAAsB,EACtB,mBAAwC;QAExC,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC;QAC3D,MAAM,OAAO,GAAG,mBAAmB,CAAC,YAAY,CAAC;QACjD,MAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC;QAExD,OAAO,MAAM,IAAI,CAAC,OAAO,CACvB,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,aAAa,EACb,KAAK,CACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,KAAsB,EACtB,mBAAwC;QAExC,MAAM,YAAY,GAAG,mBAAmB,CAAC,kBAAkB,CAAC;QAC5D,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,CAAC;QAClD,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC;QAEvD,OAAO,MAAM,IAAI,CAAC,OAAO,CACvB,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,aAAa,EACb,KAAK,CACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,YAAoB,EACpB,OAAe,EACf,aAAqB,EACrB,KAAsB;QAEtB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACf;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,kCAAe,CAAC,OAAO;aAClC;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,2BAAkB,EAAW,CAAC;QACnD,IAAI,mCAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,MAAM,mCAAgB,CAAC,cAAc,CACxD,IAAI,CAAC,UAAU,EACf,KAAK,EACL,IAAI,CACL,CAAC;YACF,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YACpC,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC,KAAkB,CAAC;YACjD,QAAQ,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAC9C,QAAQ,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAC9C,QAAQ,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;YAChD,QAAQ,CAAC,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC;YACtC,QAAQ,CAAC,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC;YACtC,QAAQ,CAAC,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC;YACvC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,mCAAgB,CAAC,cAAc,CAC/C,IAAI,CAAC,UAAU,EACf,KAAK,EACL,IAAI,CACL,CAAC;QAEF,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAC1D,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AA9KY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE8B,oBAAU;GADxC,mBAAmB,CA8K/B"}
1
+ {"version":3,"file":"relation-crud.service.js","sourceRoot":"","sources":["../../src/service/relation-crud.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"crud-operation-disabled.guard.js","sourceRoot":"","sources":["../../../src/shared/guards/crud-operation-disabled.guard.ts"],"names":[],"mappings":";;;AAAA,2CAAmF;AAEnF,MAAa,0BAA0B;IACrC,YACmB,SAAiB,EACjB,MAAe;QADf,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAS;IAC/B,CAAC;IAEJ,WAAW,CAAC,QAA0B;;QAEpC,MAAM,IAAI,2BAAkB,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;CACF;AAVD,gEAUC"}
1
+ {"version":3,"file":"crud-operation-disabled.guard.js","sourceRoot":"","sources":["../../../src/shared/guards/crud-operation-disabled.guard.ts"],"names":[],"mappings":";;;AAAA,2CAIwB;AAExB,MAAa,0BAA0B;IACrC,YACmB,SAAiB,EACjB,MAAe;QADf,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAS;IAC/B,CAAC;IAEJ,WAAW,CAAC,QAA0B;;QAEpC,MAAM,IAAI,2BAAkB,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;CACF;AAVD,gEAUC"}
@@ -8,3 +8,5 @@ export * from './types';
8
8
  export * from './utils';
9
9
  export * from './tokens/crud-idempotency.token';
10
10
  export * from './types/crud-idempotency-store.interface';
11
+ export * from './types/crud-transaction-context-hook.interface';
12
+ export * from './tokens/crud-transaction-context.token';
@@ -24,4 +24,6 @@ __exportStar(require("./types"), exports);
24
24
  __exportStar(require("./utils"), exports);
25
25
  __exportStar(require("./tokens/crud-idempotency.token"), exports);
26
26
  __exportStar(require("./types/crud-idempotency-store.interface"), exports);
27
+ __exportStar(require("./types/crud-transaction-context-hook.interface"), exports);
28
+ __exportStar(require("./tokens/crud-transaction-context.token"), exports);
27
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,+CAA6B;AAC7B,iDAA+B;AAC/B,yEAAuD;AACvD,oDAAkC;AAClC,0CAAwB;AACxB,0CAAwB;AACxB,kEAAgD;AAChD,2EAAyD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,+CAA6B;AAC7B,iDAA+B;AAC/B,yEAAuD;AACvD,oDAAkC;AAClC,0CAAwB;AACxB,0CAAwB;AACxB,kEAAgD;AAChD,2EAAyD;AACzD,kFAAgE;AAChE,0EAAwD"}
@@ -1,8 +1,13 @@
1
1
  import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
2
  import { DataSource } from 'typeorm';
3
+ import { CrudTransactionContextHook } from '../types/crud-transaction-context-hook.interface';
3
4
  export declare const ENTITY_MANAGER_KEY = "ENTITY_MANAGER";
5
+ export declare const bindCrudTransactionDataSource: (dataSource: DataSource) => void;
6
+ export declare const bindCrudTransactionContextHook: (hook: CrudTransactionContextHook | undefined) => void;
4
7
  export declare class TransactionInterceptor implements NestInterceptor {
5
- private connection;
6
- constructor(connection: DataSource);
8
+ private readonly injectedContextHook?;
9
+ constructor(injectedContextHook?: CrudTransactionContextHook);
10
+ private resolveContextHook;
11
+ private resolveDataSource;
7
12
  intercept(context: ExecutionContext, next: CallHandler<any>): Promise<any>;
8
13
  }
@@ -8,22 +8,49 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TransactionInterceptor = exports.ENTITY_MANAGER_KEY = void 0;
15
+ exports.TransactionInterceptor = exports.bindCrudTransactionContextHook = exports.bindCrudTransactionDataSource = exports.ENTITY_MANAGER_KEY = void 0;
13
16
  const common_1 = require("@nestjs/common");
14
- const typeorm_1 = require("typeorm");
15
17
  const rxjs_1 = require("rxjs");
18
+ const crud_transaction_context_token_1 = require("../tokens/crud-transaction-context.token");
16
19
  exports.ENTITY_MANAGER_KEY = 'ENTITY_MANAGER';
20
+ let boundDataSource;
21
+ let boundTransactionContextHook;
22
+ const bindCrudTransactionDataSource = (dataSource) => {
23
+ boundDataSource = dataSource;
24
+ };
25
+ exports.bindCrudTransactionDataSource = bindCrudTransactionDataSource;
26
+ const bindCrudTransactionContextHook = (hook) => {
27
+ boundTransactionContextHook = hook;
28
+ };
29
+ exports.bindCrudTransactionContextHook = bindCrudTransactionContextHook;
17
30
  let TransactionInterceptor = class TransactionInterceptor {
18
- constructor(connection) {
19
- this.connection = connection;
31
+ constructor(injectedContextHook) {
32
+ this.injectedContextHook = injectedContextHook;
33
+ }
34
+ resolveContextHook() {
35
+ return boundTransactionContextHook !== null && boundTransactionContextHook !== void 0 ? boundTransactionContextHook : this.injectedContextHook;
36
+ }
37
+ resolveDataSource() {
38
+ if (!boundDataSource) {
39
+ throw new Error('TransactionInterceptor requires bindCrudTransactionDataSource() in AppModule after TypeOrmModule.forRoot');
40
+ }
41
+ return boundDataSource;
20
42
  }
21
43
  async intercept(context, next) {
44
+ const connection = this.resolveDataSource();
22
45
  const req = context.switchToHttp().getRequest();
23
46
  common_1.Logger.log(req.path);
24
- const queryRunner = this.connection.createQueryRunner();
47
+ const queryRunner = connection.createQueryRunner();
25
48
  await queryRunner.connect();
26
49
  await queryRunner.startTransaction();
50
+ const contextHook = this.resolveContextHook();
51
+ if (contextHook) {
52
+ await contextHook.apply({ req, queryRunner });
53
+ }
27
54
  req[exports.ENTITY_MANAGER_KEY] = queryRunner.manager;
28
55
  return next.handle().pipe((0, rxjs_1.concatMap)(async (data) => {
29
56
  await queryRunner.commitTransaction();
@@ -39,6 +66,8 @@ let TransactionInterceptor = class TransactionInterceptor {
39
66
  exports.TransactionInterceptor = TransactionInterceptor;
40
67
  exports.TransactionInterceptor = TransactionInterceptor = __decorate([
41
68
  (0, common_1.Injectable)(),
42
- __metadata("design:paramtypes", [typeorm_1.DataSource])
69
+ __param(0, (0, common_1.Optional)()),
70
+ __param(0, (0, common_1.Inject)(crud_transaction_context_token_1.CRUD_TRANSACTION_CONTEXT_HOOK)),
71
+ __metadata("design:paramtypes", [Object])
43
72
  ], TransactionInterceptor);
44
73
  //# sourceMappingURL=transaction-interceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-interceptor.js","sourceRoot":"","sources":["../../../src/shared/interceptors/transaction-interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAMwB;AAExB,qCAAqC;AACrC,+BAAuD;AAE1C,QAAA,kBAAkB,GAAG,gBAAgB,CAAC;AAG5C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAsB;QAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAW,CAAC;QACzD,eAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAErC,GAAG,CAAC,0BAAkB,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;QAE9C,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,gBAAS,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,IAAA,iBAAU,EAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACxC,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,EACF,IAAA,eAAQ,EAAC,KAAK,IAAI,EAAE;YAClB,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA9BY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAEqB,oBAAU;GAD/B,sBAAsB,CA8BlC"}
1
+ {"version":3,"file":"transaction-interceptor.js","sourceRoot":"","sources":["../../../src/shared/interceptors/transaction-interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AAGxB,+BAAuD;AACvD,6FAAyF;AAG5E,QAAA,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD,IAAI,eAAuC,CAAC;AAC5C,IAAI,2BAAmE,CAAC;AAEjE,MAAM,6BAA6B,GAAG,CAAC,UAAsB,EAAE,EAAE;IACtE,eAAe,GAAG,UAAU,CAAC;AAC/B,CAAC,CAAC;AAFW,QAAA,6BAA6B,iCAExC;AAGK,MAAM,8BAA8B,GAAG,CAC5C,IAA4C,EAC5C,EAAE;IACF,2BAA2B,GAAG,IAAI,CAAC;AACrC,CAAC,CAAC;AAJW,QAAA,8BAA8B,kCAIzC;AAUK,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAGmB,mBAAgD;QAAhD,wBAAmB,GAAnB,mBAAmB,CAA6B;IAChE,CAAC;IAEI,kBAAkB;QACxB,OAAO,2BAA2B,aAA3B,2BAA2B,cAA3B,2BAA2B,GAAI,IAAI,CAAC,mBAAmB,CAAC;IACjE,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE5C,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAW,CAAC;QACzD,eAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAErC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,GAAG,CAAC,0BAAkB,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;QAE9C,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,gBAAS,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,IAAA,iBAAU,EAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACxC,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,EACF,IAAA,eAAQ,EAAC,KAAK,IAAI,EAAE;YAClB,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAvDY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,8DAA6B,CAAC,CAAA;;GAH7B,sBAAsB,CAuDlC"}
@@ -6,23 +6,16 @@ const assignResolvedContext = (itemData, mappedContext) => {
6
6
  Object.assign(itemData, mappedContext);
7
7
  }
8
8
  };
9
- const getCreateHook = (options) => typeof (options === null || options === void 0 ? void 0 : options.mapCreateContext) === 'function'
10
- ? options.mapCreateContext
11
- : undefined;
12
9
  const applyCreateContext = async (params) => {
13
10
  var _a, _b;
14
11
  const { itemData, req, options, resolver } = params;
15
- const hasCreateOverrideHook = typeof (options === null || options === void 0 ? void 0 : options.mapCreateContext) === 'function' ||
16
- typeof (options === null || options === void 0 ? void 0 : options.beforeCreate) === 'function';
12
+ const hasCreateOverrideHook = typeof (options === null || options === void 0 ? void 0 : options.beforeCreate) === 'function';
17
13
  const forceServerOwnership = !hasCreateOverrideHook;
18
- const localHook = getCreateHook(options);
19
- if (localHook) {
20
- const mappedContext = await localHook({ itemData, req });
21
- assignResolvedContext(itemData, mappedContext);
22
- return;
23
- }
24
14
  if (resolver === null || resolver === void 0 ? void 0 : resolver.resolveCreateContext) {
25
- const mappedContext = await resolver.resolveCreateContext({ itemData, req });
15
+ const mappedContext = await resolver.resolveCreateContext({
16
+ itemData,
17
+ req,
18
+ });
26
19
  if (mappedContext && typeof mappedContext === 'object') {
27
20
  assignResolvedContext(itemData, mappedContext);
28
21
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"apply-create-context.helper.js","sourceRoot":"","sources":["../../../src/shared/request-context/apply-create-context.helper.ts"],"names":[],"mappings":";;;AAUA,MAAM,qBAAqB,GAAG,CAC5B,QAA4B,EAC5B,aAAkD,EAClD,EAAE;IACF,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAqC,EAAE,CACnF,OAAO,CAAC,OAAe,aAAf,OAAO,uBAAP,OAAO,CAAU,gBAAgB,CAAA,KAAK,UAAU;IACtD,CAAC,CAAG,OAAe,CAAC,gBAA0C;IAC9D,CAAC,CAAC,SAAS,CAAC;AAET,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAKxC,EAAE,EAAE;;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,qBAAqB,GACzB,OAAO,CAAC,OAAe,aAAf,OAAO,uBAAP,OAAO,CAAU,gBAAgB,CAAA,KAAK,UAAU;QACxD,OAAO,CAAC,OAAe,aAAf,OAAO,uBAAP,OAAO,CAAU,YAAY,CAAA,KAAK,UAAU,CAAC;IACvD,MAAM,oBAAoB,GAAG,CAAC,qBAAqB,CAAC;IAEpD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACzD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,oBAAoB,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7E,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACvD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,YAAY,EAAE,CAAC;QAC5B,IAAI,oBAAoB,IAAI,QAAQ,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAC5D,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,oBAAoB,IAAI,QAAQ,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IACE,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,EAAE,KAAI,IAAI;QACrB,CAAC,oBAAoB,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,EACjD,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AA1CW,QAAA,kBAAkB,sBA0C7B"}
1
+ {"version":3,"file":"apply-create-context.helper.js","sourceRoot":"","sources":["../../../src/shared/request-context/apply-create-context.helper.ts"],"names":[],"mappings":";;;AASA,MAAM,qBAAqB,GAAG,CAC5B,QAA4B,EAC5B,aAAkD,EAClD,EAAE;IACF,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAKxC,EAAE,EAAE;;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,qBAAqB,GACzB,OAAO,CAAC,OAAe,aAAf,OAAO,uBAAP,OAAO,CAAU,YAAY,CAAA,KAAK,UAAU,CAAC;IACvD,MAAM,oBAAoB,GAAG,CAAC,qBAAqB,CAAC;IAEpD,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,oBAAoB,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC;YACxD,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;QACH,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACvD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,YAAY,EAAE,CAAC;QAC5B,IAAI,oBAAoB,IAAI,QAAQ,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAC5D,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,oBAAoB,IAAI,QAAQ,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IACE,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,EAAE,KAAI,IAAI;QACrB,CAAC,oBAAoB,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,EACjD,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AArCW,QAAA,kBAAkB,sBAqC7B"}
@@ -0,0 +1 @@
1
+ export declare const CRUD_TRANSACTION_CONTEXT_HOOK = "CRUD_TRANSACTION_CONTEXT_HOOK";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CRUD_TRANSACTION_CONTEXT_HOOK = void 0;
4
+ exports.CRUD_TRANSACTION_CONTEXT_HOOK = 'CRUD_TRANSACTION_CONTEXT_HOOK';
5
+ //# sourceMappingURL=crud-transaction-context.token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-transaction-context.token.js","sourceRoot":"","sources":["../../../src/shared/tokens/crud-transaction-context.token.ts"],"names":[],"mappings":";;;AACa,QAAA,6BAA6B,GAAG,+BAA+B,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export type CrudContextPayload = Record<string, any>;
2
2
  export type CrudWherePayload = Record<string, any>;
3
3
  export type CrudEntityOperationHookName = 'create' | 'findAll' | 'findOne' | 'update' | 'delete' | 'restore' | 'bulkCreate' | 'bulkDelete';
4
+ export type CrudRelationOperationHookName = 'assignFirst' | 'assignSecond';
5
+ export type CrudHookOperationName = CrudEntityOperationHookName | CrudRelationOperationHookName;
4
6
  export type CrudAuthorizeResult = boolean | void | Promise<boolean | void>;
5
7
  export type CrudHookContext = {
6
8
  req?: any;
@@ -11,7 +13,7 @@ export type CrudHookContext = {
11
13
  where?: CrudWherePayload;
12
14
  entity?: CrudContextPayload;
13
15
  result?: any;
14
- operation: CrudEntityOperationHookName;
16
+ operation: CrudHookOperationName;
15
17
  service?: any;
16
18
  repository?: any;
17
19
  setMeta?: (key: string, value: any) => void;
@@ -30,20 +32,6 @@ export type CrudOperationHook = (context: CrudHookContext) => void | Partial<Cru
30
32
  }>;
31
33
  export type CrudAuthorizeHook = (context: CrudHookContext) => CrudAuthorizeResult;
32
34
  export type CrudOperationAuthorizeHook = (context: CrudHookContext) => CrudAuthorizeResult;
33
- export type CrudCreateContextHook = (params: {
34
- itemData: CrudContextPayload;
35
- req?: any;
36
- }) => void | Partial<CrudContextPayload> | Promise<void | Partial<CrudContextPayload>>;
37
- export type CrudUpdateContextHook = (params: {
38
- itemData: CrudContextPayload;
39
- req?: any;
40
- }) => void | Partial<CrudContextPayload> | Promise<void | Partial<CrudContextPayload>>;
41
- export type CrudMutationHook = (params: {
42
- id?: string;
43
- itemData?: CrudContextPayload;
44
- entity?: CrudContextPayload;
45
- req?: any;
46
- }) => void | Partial<CrudContextPayload> | Promise<void | Partial<CrudContextPayload>>;
47
35
  export type CrudWriteFilterOptions = {
48
36
  allowedWriteFields?: string[];
49
37
  blockedWriteFields?: string[];
@@ -70,25 +58,24 @@ export type EntityCrudOptions = {
70
58
  deletePermission?: string;
71
59
  restorePermission?: string;
72
60
  viewArchivedPermission?: string;
73
- mapCreateContext?: CrudCreateContextHook;
74
- mapUpdateContext?: CrudUpdateContextHook;
61
+ useTransaction?: boolean;
75
62
  allowedWriteFields?: string[];
76
63
  blockedWriteFields?: string[];
77
- beforeCreate?: CrudMutationHook | CrudOperationHook;
78
- afterCreate?: CrudMutationHook | CrudOperationHook;
64
+ beforeCreate?: CrudOperationHook;
65
+ afterCreate?: CrudOperationHook;
79
66
  beforeFindAll?: CrudOperationHook;
80
67
  afterFindAll?: CrudOperationHook;
81
68
  beforeFindOne?: CrudOperationHook;
82
69
  afterFindOne?: CrudOperationHook;
83
- beforeUpdate?: CrudMutationHook | CrudOperationHook;
84
- afterUpdate?: CrudMutationHook | CrudOperationHook;
70
+ beforeUpdate?: CrudOperationHook;
71
+ afterUpdate?: CrudOperationHook;
85
72
  beforeDelete?: CrudOperationHook;
86
73
  afterDelete?: CrudOperationHook;
87
- beforeSoftDelete?: CrudMutationHook;
88
- afterSoftDelete?: CrudMutationHook;
74
+ beforeSoftDelete?: CrudOperationHook;
75
+ afterSoftDelete?: CrudOperationHook;
89
76
  deleteMode?: CrudDeleteMode;
90
- beforeRestore?: CrudMutationHook | CrudOperationHook;
91
- afterRestore?: CrudMutationHook | CrudOperationHook;
77
+ beforeRestore?: CrudOperationHook;
78
+ afterRestore?: CrudOperationHook;
92
79
  authorize?: CrudAuthorizeHook;
93
80
  canCreate?: CrudOperationAuthorizeHook;
94
81
  canFindAll?: CrudOperationAuthorizeHook;
@@ -132,25 +119,24 @@ export type ExtraCrudOptions = {
132
119
  deletePermission?: string;
133
120
  restorePermission?: string;
134
121
  viewArchivedPermission?: string;
135
- mapCreateContext?: CrudCreateContextHook;
136
- mapUpdateContext?: CrudUpdateContextHook;
122
+ useTransaction?: boolean;
137
123
  allowedWriteFields?: string[];
138
124
  blockedWriteFields?: string[];
139
- beforeCreate?: CrudMutationHook | CrudOperationHook;
140
- afterCreate?: CrudMutationHook | CrudOperationHook;
125
+ beforeCreate?: CrudOperationHook;
126
+ afterCreate?: CrudOperationHook;
141
127
  beforeFindAll?: CrudOperationHook;
142
128
  afterFindAll?: CrudOperationHook;
143
129
  beforeFindOne?: CrudOperationHook;
144
130
  afterFindOne?: CrudOperationHook;
145
- beforeUpdate?: CrudMutationHook | CrudOperationHook;
146
- afterUpdate?: CrudMutationHook | CrudOperationHook;
131
+ beforeUpdate?: CrudOperationHook;
132
+ afterUpdate?: CrudOperationHook;
147
133
  beforeDelete?: CrudOperationHook;
148
134
  afterDelete?: CrudOperationHook;
149
- beforeSoftDelete?: CrudMutationHook;
150
- afterSoftDelete?: CrudMutationHook;
135
+ beforeSoftDelete?: CrudOperationHook;
136
+ afterSoftDelete?: CrudOperationHook;
151
137
  deleteMode?: CrudDeleteMode;
152
- beforeRestore?: CrudMutationHook | CrudOperationHook;
153
- afterRestore?: CrudMutationHook | CrudOperationHook;
138
+ beforeRestore?: CrudOperationHook;
139
+ afterRestore?: CrudOperationHook;
154
140
  authorize?: CrudAuthorizeHook;
155
141
  canCreate?: CrudOperationAuthorizeHook;
156
142
  canFindAll?: CrudOperationAuthorizeHook;
@@ -173,9 +159,10 @@ export interface RelationCrudOptions {
173
159
  };
174
160
  createPermission?: string;
175
161
  viewPermission?: string;
176
- beforeAssignFirst?: CrudMutationHook;
177
- afterAssignFirst?: CrudMutationHook;
178
- beforeAssignSecond?: CrudMutationHook;
179
- afterAssignSecond?: CrudMutationHook;
162
+ useTransaction?: boolean;
163
+ beforeAssignFirst?: CrudOperationHook;
164
+ afterAssignFirst?: CrudOperationHook;
165
+ beforeAssignSecond?: CrudOperationHook;
166
+ afterAssignSecond?: CrudOperationHook;
180
167
  operations?: Partial<Record<CrudRelationOperationName, CrudEndpointDisableConfig>>;
181
168
  }
@@ -0,0 +1,8 @@
1
+ import { QueryRunner } from 'typeorm';
2
+ export interface CrudTransactionContextParams {
3
+ req: any;
4
+ queryRunner: QueryRunner;
5
+ }
6
+ export interface CrudTransactionContextHook {
7
+ apply(params: CrudTransactionContextParams): Promise<void> | void;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=crud-transaction-context-hook.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-transaction-context-hook.interface.js","sourceRoot":"","sources":["../../../src/shared/types/crud-transaction-context-hook.interface.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export * from './crud-option.type';
2
+ export * from './crud-transaction-context-hook.interface';
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./crud-option.type"), exports);
18
+ __exportStar(require("./crud-transaction-context-hook.interface"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,4EAA0D"}
@@ -1,17 +1,20 @@
1
1
  import { CollectionQuery } from '@zola_do/collection-query';
2
- import { CrudContextPayload, CrudEntityOperationHookName, CrudHookContext, CrudWherePayload, CrudWriteFilterOptions, EntityCrudOptions, ExtraCrudOptions } from '../types';
2
+ import { CrudContextPayload, CrudHookContext, CrudHookOperationName, CrudWherePayload, CrudWriteFilterOptions, EntityCrudOptions, ExtraCrudOptions } from '../types';
3
3
  import { CrudRequestContextResolver } from '../request-context';
4
4
  type HookName = 'beforeCreate' | 'afterCreate' | 'beforeFindAll' | 'afterFindAll' | 'beforeFindOne' | 'afterFindOne' | 'beforeUpdate' | 'afterUpdate' | 'beforeDelete' | 'afterDelete' | 'beforeSoftDelete' | 'afterSoftDelete' | 'beforeRestore' | 'afterRestore' | 'beforeBulkCreate' | 'afterBulkCreate' | 'beforeBulkDelete' | 'afterBulkDelete' | 'beforeAssignFirst' | 'afterAssignFirst' | 'beforeAssignSecond' | 'afterAssignSecond';
5
- export declare const runCrudHook: (options: Record<string, any> | undefined, hookName: HookName, params: {
5
+ export type RunCrudHookParams = {
6
6
  id?: string;
7
7
  itemData?: CrudContextPayload;
8
8
  entity?: CrudContextPayload;
9
9
  req?: any;
10
- }) => Promise<void>;
10
+ service?: any;
11
+ repository?: any;
12
+ };
13
+ export declare const runCrudHook: (options: Record<string, any> | undefined, hookName: HookName, params: RunCrudHookParams) => Promise<void>;
11
14
  type CreateOptions = EntityCrudOptions | ExtraCrudOptions | undefined;
12
15
  type EntityOptions = EntityCrudOptions | ExtraCrudOptions | undefined;
13
16
  export declare const createCrudHookContext: (params: {
14
- operation: CrudEntityOperationHookName;
17
+ operation: CrudHookOperationName;
15
18
  req?: any;
16
19
  params?: Record<string, any>;
17
20
  query?: Record<string, any>;
@@ -4,19 +4,41 @@ exports.sanitizeWritePayload = exports.runBeforeCreatePipeline = exports.applyWh
4
4
  const common_1 = require("@nestjs/common");
5
5
  const collection_query_1 = require("@zola_do/collection-query");
6
6
  const request_context_1 = require("../request-context");
7
- const mergeHookResult = (payload, hookResult) => {
8
- if (!payload || !hookResult || typeof hookResult !== 'object') {
9
- return;
10
- }
11
- Object.assign(payload, hookResult);
7
+ const HOOK_OPERATION = {
8
+ beforeCreate: 'create',
9
+ afterCreate: 'create',
10
+ beforeFindAll: 'findAll',
11
+ afterFindAll: 'findAll',
12
+ beforeFindOne: 'findOne',
13
+ afterFindOne: 'findOne',
14
+ beforeUpdate: 'update',
15
+ afterUpdate: 'update',
16
+ beforeDelete: 'delete',
17
+ afterDelete: 'delete',
18
+ beforeSoftDelete: 'delete',
19
+ afterSoftDelete: 'delete',
20
+ beforeRestore: 'restore',
21
+ afterRestore: 'restore',
22
+ beforeBulkCreate: 'bulkCreate',
23
+ afterBulkCreate: 'bulkCreate',
24
+ beforeBulkDelete: 'bulkDelete',
25
+ afterBulkDelete: 'bulkDelete',
26
+ beforeAssignFirst: 'assignFirst',
27
+ afterAssignFirst: 'assignFirst',
28
+ beforeAssignSecond: 'assignSecond',
29
+ afterAssignSecond: 'assignSecond',
12
30
  };
13
31
  const runCrudHook = async (options, hookName, params) => {
14
- const hook = options === null || options === void 0 ? void 0 : options[hookName];
15
- if (!hook) {
16
- return;
17
- }
18
- const hookResult = await hook(params);
19
- mergeHookResult(params.itemData, hookResult);
32
+ const context = (0, exports.createCrudHookContext)({
33
+ operation: HOOK_OPERATION[hookName],
34
+ req: params.req,
35
+ id: params.id,
36
+ itemData: params.itemData,
37
+ entity: params.entity,
38
+ service: params.service,
39
+ repository: params.repository,
40
+ });
41
+ await runOperationHook(options, hookName, context);
20
42
  };
21
43
  exports.runCrudHook = runCrudHook;
22
44
  const OPERATION_HOOK_NAMES = {
@@ -1 +1 @@
1
- {"version":3,"file":"crud-hooks.helper.js","sourceRoot":"","sources":["../../../src/shared/utils/crud-hooks.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-hooks.helper.js","sourceRoot":"","sources":["../../../src/shared/utils/crud-hooks.helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const crudTransactionDecorators: (enabled?: boolean) => (MethodDecorator & ClassDecorator)[];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.crudTransactionDecorators = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const transaction_interceptor_1 = require("../interceptors/transaction-interceptor");
6
+ const crudTransactionDecorators = (enabled) => enabled ? [(0, common_1.UseInterceptors)(transaction_interceptor_1.TransactionInterceptor)] : [];
7
+ exports.crudTransactionDecorators = crudTransactionDecorators;
8
+ //# sourceMappingURL=crud-transaction.decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-transaction.decorators.js","sourceRoot":"","sources":["../../../src/shared/utils/crud-transaction.decorators.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,qFAAiF;AAE1E,MAAM,yBAAyB,GAAG,CAAC,OAAiB,EAAE,EAAE,CAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAe,EAAC,gDAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAD9C,QAAA,yBAAyB,6BACqB"}
@@ -1 +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
+ {"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,CAAC,SAAkB,EAAyB,EAAE;IACnE,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"}
@@ -4,3 +4,5 @@ export * from './crud-hooks.helper';
4
4
  export * from './cursor-query.helper';
5
5
  export * from './collection-query-merge';
6
6
  export * from './in-memory-idempotency.store';
7
+ export * from './transactional-repository.helper';
8
+ export * from './crud-transaction.decorators';
@@ -20,4 +20,6 @@ __exportStar(require("./crud-hooks.helper"), exports);
20
20
  __exportStar(require("./cursor-query.helper"), exports);
21
21
  __exportStar(require("./collection-query-merge"), exports);
22
22
  __exportStar(require("./in-memory-idempotency.store"), exports);
23
+ __exportStar(require("./transactional-repository.helper"), exports);
24
+ __exportStar(require("./crud-transaction.decorators"), exports);
23
25
  //# 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;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,gEAA8C"}
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;AACtC,2DAAyC;AACzC,gEAA8C;AAC9C,oEAAkD;AAClD,gEAA8C"}