@decaf-ts/for-nest 0.11.2-refactor.3 → 0.11.2-refactor.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 (40) hide show
  1. package/README.md +273 -1
  2. package/dist/for-nest.cjs +111 -346
  3. package/dist/for-nest.js +115 -349
  4. package/lib/cjs/controllers.cjs +4 -6
  5. package/lib/cjs/decaf-model/DecafModelModule.cjs +7 -2
  6. package/lib/cjs/decaf-model/FromModelController.cjs +210 -346
  7. package/lib/cjs/decaf-model/decorators/ApiOperationFromModel.cjs +2 -2
  8. package/lib/cjs/decaf-model/decorators/utils.cjs +4 -3
  9. package/lib/cjs/decaf-model/utils.cjs +10 -4
  10. package/lib/cjs/decorators.cjs +4 -3
  11. package/lib/cjs/events-module/utils.cjs +2 -2
  12. package/lib/cjs/factory/NestBootstraper.cjs +3 -4
  13. package/lib/cjs/index.cjs +3 -3
  14. package/lib/cjs/request/DecafRequestContext.cjs +2 -3
  15. package/lib/cjs/request/DecafResponseInterceptor.cjs +5 -3
  16. package/lib/cjs/swagger-types.cjs +2 -2
  17. package/lib/cjs/types.cjs +2 -2
  18. package/lib/cjs/webhooks/DecafWebhookModule.cjs +3 -2
  19. package/lib/cjs/webhooks/controllers.cjs +50 -55
  20. package/lib/esm/controllers.js +3 -5
  21. package/lib/esm/decaf-model/DecafModelModule.js +6 -1
  22. package/lib/esm/decaf-model/FromModelController.js +212 -348
  23. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js +1 -1
  24. package/lib/esm/decaf-model/decorators/utils.js +3 -2
  25. package/lib/esm/decaf-model/utils.js +9 -3
  26. package/lib/esm/decorators.js +3 -2
  27. package/lib/esm/events-module/utils.js +1 -1
  28. package/lib/esm/factory/NestBootstraper.js +2 -3
  29. package/lib/esm/index.js +3 -3
  30. package/lib/esm/request/DecafRequestContext.js +1 -2
  31. package/lib/esm/request/DecafResponseInterceptor.js +4 -2
  32. package/lib/esm/swagger-types.js +1 -1
  33. package/lib/esm/types.js +1 -1
  34. package/lib/esm/webhooks/DecafWebhookModule.js +2 -1
  35. package/lib/esm/webhooks/controllers.js +49 -54
  36. package/lib/types/decaf-model/FromModelController.d.cts +3 -11
  37. package/lib/types/decaf-model/FromModelController.d.mts +3 -11
  38. package/lib/types/index.d.cts +3 -3
  39. package/lib/types/index.d.mts +3 -3
  40. package/package.json +7 -1
@@ -62,69 +62,64 @@ let WebhookEventActionsController = WebhookEventActionsController_1 = class Webh
62
62
  const { ctx } = (await this.logCtx([], "replay", true)).for(this.replay);
63
63
  const eventRepo = Repository.forModel(WebhookEventRecord);
64
64
  const deliveryRepo = Repository.forModel(WebhookDelivery);
65
+ let event;
65
66
  try {
66
- let event;
67
- try {
68
- event = await eventRepo.read(id, ctx);
69
- }
70
- catch (error) {
71
- const events = await eventRepo
72
- .select()
73
- .where(eventRepo.attr("id").eq(id))
74
- .limit(1)
75
- .execute(ctx);
76
- if (!events.length)
77
- throw error;
78
- event = events[0];
79
- }
80
- let deliveries = [];
67
+ event = await eventRepo.read(id, ctx);
68
+ }
69
+ catch (error) {
70
+ const events = await eventRepo
71
+ .select()
72
+ .where(eventRepo.attr("id").eq(id))
73
+ .limit(1)
74
+ .execute(ctx);
75
+ if (!events.length)
76
+ throw error;
77
+ event = events[0];
78
+ }
79
+ let deliveries = [];
80
+ try {
81
+ deliveries = await collectPagedResults(() => deliveryRepo
82
+ .select()
83
+ .where(deliveryRepo.attr("eventId").eq(event.id))
84
+ .orderBy("createdAt", OrderDirection.ASC)
85
+ .thenBy("id", OrderDirection.ASC)
86
+ .paginate(250, ctx), 250, ctx);
87
+ }
88
+ catch {
81
89
  try {
82
- deliveries = await collectPagedResults(() => deliveryRepo
90
+ deliveries = await deliveryRepo
83
91
  .select()
84
92
  .where(deliveryRepo.attr("eventId").eq(event.id))
85
- .orderBy("createdAt", OrderDirection.ASC)
86
- .thenBy("id", OrderDirection.ASC)
87
- .paginate(250, ctx), 250, ctx);
93
+ .execute(ctx);
88
94
  }
89
95
  catch {
90
- try {
91
- deliveries = await deliveryRepo
92
- .select()
93
- .where(deliveryRepo.attr("eventId").eq(event.id))
94
- .execute(ctx);
95
- }
96
- catch {
97
- deliveries = [];
98
- }
96
+ deliveries = [];
99
97
  }
100
- const now = new Date();
101
- for (const delivery of deliveries) {
102
- delivery.status = WebhookStatus.PENDING;
103
- delivery.attempts = 0;
104
- delivery.nextAttemptAt = now;
105
- delivery.lastAttemptAt = null;
106
- delivery.errorMessage = undefined;
107
- delivery.responseStatus = undefined;
108
- delivery.responseBody = undefined;
98
+ }
99
+ const now = new Date();
100
+ for (const delivery of deliveries) {
101
+ delivery.status = WebhookStatus.PENDING;
102
+ delivery.attempts = 0;
103
+ delivery.nextAttemptAt = now;
104
+ delivery.lastAttemptAt = null;
105
+ delivery.errorMessage = undefined;
106
+ delivery.responseStatus = undefined;
107
+ delivery.responseBody = undefined;
108
+ }
109
+ event.status = WebhookStatus.PENDING;
110
+ event.deliveriesSucceeded = 0;
111
+ event.deliveriesFailed = 0;
112
+ event.nextAttemptAt = now;
113
+ event.updatedAt = now;
114
+ if (deliveries.length) {
115
+ try {
116
+ await deliveryRepo.updateAll(deliveries, ctx.override({ applyUpdateValidation: false }));
109
117
  }
110
- event.status = WebhookStatus.PENDING;
111
- event.deliveriesSucceeded = 0;
112
- event.deliveriesFailed = 0;
113
- event.nextAttemptAt = now;
114
- event.updatedAt = now;
115
- if (deliveries.length) {
116
- try {
117
- await deliveryRepo.updateAll(deliveries, ctx.override({ applyUpdateValidation: false }));
118
- }
119
- catch {
120
- // Replay still resets the event state even if bulk delivery updates are not queryable here.
121
- }
118
+ catch {
119
+ // Replay still resets the event state even if bulk delivery updates are not queryable here.
122
120
  }
123
- return eventRepo.update(event, ctx);
124
- }
125
- catch (error) {
126
- throw error;
127
121
  }
122
+ return eventRepo.update(event, ctx);
128
123
  }
129
124
  };
130
125
  __decorate([
@@ -139,4 +134,4 @@ WebhookEventActionsController = WebhookEventActionsController_1 = __decorate([
139
134
  __metadata("design:paramtypes", [DecafRequestContext])
140
135
  ], WebhookEventActionsController);
141
136
  export { WebhookEventActionsController };
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViaG9va3MvY29udHJvbGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQWEsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSw0QkFBdUI7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDhCQUFtQjtBQUVqRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLDBCQUEwQixDQUFDO0FBRzNCLElBQU0sb0NBQW9DLDRDQUExQyxNQUFNLG9DQUFxQyxTQUFRLGVBQStCO0lBQ3ZGLFlBQVksYUFBa0M7UUFDNUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxzQ0FBb0MsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsVUFBVSxDQUFjLEVBQVU7UUFDdEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQzdELElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUc5QixtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdkIsT0FBTyxJQUFJLENB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R0FBRyxDQUFDO1lBQzFCLEtBQUssQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBRXRCLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUM7b0JBQ0gsTUFBTSxZQUFZLENBQUMsU0FBUyxDQUMxQixVQUFVLEVBQ1YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBUyxDQUFDLENBQ3RELENBQUM7Z0JBQ0osQ0FBQztnQkFBQyxNQUFNLENBQUM7b0JBQ1AsNEZBQTRGO2dCQUM5RixDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQS9FTztJQURMLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDTCxXQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTs7OzsyREE4RXhCO0FBcEZVLDZCQUE2QjtJQUR6QyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7cUNBRUEsbUJBQW1CO0dBRG5DLDZCQUE2QixDQXFGekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sbGVyLCBQYXJhbSwgUG9zdCB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSwgdHlwZSBSZXBvLCBPcmRlckRpcmVjdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgRGVjYWZDb250cm9sbGVyIH0gZnJvbSBcIi4uL2NvbnRyb2xsZXJzXCI7XG5pbXBvcnQgeyBEZWNhZlJlcXVlc3RDb250ZXh0IH0gZnJvbSBcIi4uL3JlcXVlc3RcIjtcbmltcG9ydCB7IERlY2FmU2VydmVyQ3R4IH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgV2ViaG9va0RlbGl2ZXJ5LFxuICBXZWJob29rRXZlbnRSZWNvcmQsXG4gIFdlYmhvb2tTdGF0dXMsXG4gIFdlYmhvb2tTdWJzY3JpcHRpb24sXG4gIGNvbGxlY3RQYWdlZFJlc3VsdHMsXG59IGZyb20gXCJAZGVjYWYtdHMvZm9yLWh0dHAvaG9va3NcIjtcblxuQENvbnRyb2xsZXIoXCJ3ZWJob29rLXN1YnNjcmlwdGlvbnNcIilcbmV4cG9ydCBjbGFzcyBXZWJob29rU3Vic2NyaXB0aW9uQWN0aW9uc0NvbnRyb2xsZXIgZXh0ZW5kcyBEZWNhZkNvbnRyb2xsZXI8RGVjYWZTZXJ2ZXJDdHg+IHtcbiAgY29uc3RydWN0b3IoY2xpZW50Q29udGV4dDogRGVjYWZSZXF1ZXN0Q29udGV4dCkge1xuICAgIHN1cGVyKGNsaWVudENvbnRleHQsIFdlYmhvb2tTdWJzY3JpcHRpb25BY3Rpb25zQ29udHJvbGxlci5uYW1lKTtcbiAgfVxuXG4gIEBQb3N0KFwiOmlkL2RlYWN0aXZhdGVcIilcbiAgYXN5bmMgZGVhY3RpdmF0ZShAUGFyYW0oXCJpZFwiKSBpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgeyBjdHggfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChbXSwgXCJkZWFjdGl2YXRlXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmRlYWN0aXZhdGVcbiAgICApO1xuICAgIGNvbnN0IHJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsPFxuICAgICAgV2ViaG9va1N1YnNjcmlwdGlvbixcbiAgICAgIFJlcG88V2ViaG9va1N1YnNjcmlwdGlvbj5cbiAgICA+KFdlYmhvb2tTdWJzY3JpcHRpb24pO1xuICAgIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCByZXBvLnJlYWQoaWQsIGN0eCk7XG4gICAgY3VycmVudC5hY3RpdmUgPSBmYWxzZTtcbiAgICByZXR1cm4gcmVwby51cGRhdGUoY3VycmVudCwgY3R4KTtcbiAgfVxuXG4gIEBQb3N0KFwiOmlkL3JlYWN0aXZhdGVcIilcbiAgYXN5bmMgcmVhY3RpdmF0ZShAUGFyYW0oXCJpZFwiKSBpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgeyBjdHggfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChbXSwgXCJyZWFjdGl2YXRlXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLnJlYWN0aXZhdGVcbiAgICApO1xuICAgIGNvbnN0IHJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsPFxuICAgICAgV2ViaG9va1N1YnNjcmlwdGlvbixcbiAgICAgIFJlcG88V2ViaG9va1N1YnNjcmlwdGlvbj5cbiAgICA+KFdlYmhvb2tTdWJzY3JpcHRpb24pO1xuICAgIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCByZXBvLnJlYWQoaWQsIGN0eCk7XG4gICAgY3VycmVudC5hY3RpdmUgPSB0cnVlO1xuICAgIHJldHVybiByZXBvLnVwZGF0ZShjdXJyZW50LCBjdHgpO1xuICB9XG59XG5cbkBDb250cm9sbGVyKFwid2ViaG9vay1ldmVudHNcIilcbmV4cG9ydCBjbGFzcyBXZWJob29rRXZlbnRBY3Rpb25zQ29udHJvbGxlciBleHRlbmRzIERlY2FmQ29udHJvbGxlcjxEZWNhZlNlcnZlckN0eD4ge1xuICBjb25zdHJ1Y3RvcihjbGllbnRDb250ZXh0OiBEZWNhZlJlcXVlc3RDb250ZXh0KSB7XG4gICAgc3VwZXIoY2xpZW50Q29udGV4dCwgV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXIubmFtZSk7XG4gIH1cblxuICBAUG9zdChcIjppZC9yZXBsYXlcIilcbiAgYXN5bmMgcmVwbGF5KEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBcInJlcGxheVwiLCB0cnVlKSkuZm9yKHRoaXMucmVwbGF5KTtcbiAgICBjb25zdCBldmVudFJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsPFxuICAgICAgV2ViaG9va0V2ZW50UmVjb3JkLFxuICAgICAgUmVwbzxXZWJob29rRXZlbnRSZWNvcmQ+XG4gICAgPihXZWJob29rRXZlbnRSZWNvcmQpO1xuICAgIGNvbnN0IGRlbGl2ZXJ5UmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWw8XG4gICAgICBXZWJob29rRGVsaXZlcnksXG4gICAgICBSZXBvPFdlYmhvb2tEZWxpdmVyeT5cbiAgICA+KFdlYmhvb2tEZWxpdmVyeSk7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBldmVudDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGV2ZW50ID0gYXdhaXQgZXZlbnRSZXBvLnJlYWQoaWQsIGN0eCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zdCBldmVudHMgPSBhd2FpdCBldmVudFJlcG9cbiAgICAgICAgICAuc2VsZWN0KClcbiAgICAgICAgICAud2hlcmUoZXZlbnRSZXBvLmF0dHIoXCJpZFwiKS5lcShpZCkpXG4gICAgICAgICAgLmxpbWl0KDEpXG4gICAgICAgICAgLmV4ZWN1dGUoY3R4KTtcbiAgICAgICAgaWYgKCFldmVudHMubGVuZ3RoKSB0aHJvdyBlcnJvcjtcbiAgICAgICAgZXZlbnQgPSBldmVudHNbMF07XG4gICAgICB9XG4gICAgICBsZXQgZGVsaXZlcmllczogYW55W10gPSBbXTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGRlbGl2ZXJpZXMgPSBhd2FpdCBjb2xsZWN0UGFnZWRSZXN1bHRzKFxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgICBkZWxpdmVyeVJlcG9cbiAgICAgICAgICAgICAgLnNlbGVjdCgpXG4gICAgICAgICAgICAgIC53aGVyZShkZWxpdmVyeVJlcG8uYXR0cihcImV2ZW50SWRcIikuZXEoZXZlbnQuaWQpKVxuICAgICAgICAgICAgICAub3JkZXJCeShcImNyZWF0ZWRBdFwiLCBPcmRlckRpcmVjdGlvbi5BU0MpXG4gICAgICAgICAgICAgIC50aGVuQnkoXCJpZFwiLCBPcmRlckRpcmVjdGlvbi5BU0MpXG4gICAgICAgICAgICAgIC5wYWdpbmF0ZSgyNTAsIGN0eCksXG4gICAgICAgICAgMjUwLFxuICAgICAgICAgIGN0eFxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZGVsaXZlcmllcyA9IGF3YWl0IGRlbGl2ZXJ5UmVwb1xuICAgICAgICAgICAgLnNlbGVjdCgpXG4gICAgICAgICAgICAud2hlcmUoZGVsaXZlcnlSZXBvLmF0dHIoXCJldmVudElkXCIpLmVxKGV2ZW50LmlkKSlcbiAgICAgICAgICAgIC5leGVjdXRlKGN0eCk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIGRlbGl2ZXJpZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcblxuICAgICAgZm9yIChjb25zdCBkZWxpdmVyeSBvZiBkZWxpdmVyaWVzKSB7XG4gICAgICAgIGRlbGl2ZXJ5LnN0YXR1cyA9IFdlYmhvb2tTdGF0dXMuUEVORElORztcbiAgICAgICAgZGVsaXZlcnkuYXR0ZW1wdHMgPSAwO1xuICAgICAgICBkZWxpdmVyeS5uZXh0QXR0ZW1wdEF0ID0gbm93O1xuICAgICAgICBkZWxpdmVyeS5sYXN0QXR0ZW1wdEF0ID0gbnVsbCBhcyBhbnk7XG4gICAgICAgIGRlbGl2ZXJ5LmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgZGVsaXZlcnkucmVzcG9uc2VTdGF0dXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGl2ZXJ5LnJlc3BvbnNlQm9keSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgZXZlbnQuc3RhdHVzID0gV2ViaG9va1N0YXR1cy5QRU5ESU5HO1xuICAgICAgZXZlbnQuZGVsaXZlcmllc1N1Y2NlZWRlZCA9IDA7XG4gICAgICBldmVudC5kZWxpdmVyaWVzRmFpbGVkID0gMDtcbiAgICAgIGV2ZW50Lm5leHRBdHRlbXB0QXQgPSBub3c7XG4gICAgICBldmVudC51cGRhdGVkQXQgPSBub3c7XG5cbiAgICAgIGlmIChkZWxpdmVyaWVzLmxlbmd0aCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGRlbGl2ZXJ5UmVwby51cGRhdGVBbGwoXG4gICAgICAgICAgICBkZWxpdmVyaWVzLFxuICAgICAgICAgICAgY3R4Lm92ZXJyaWRlKHsgYXBwbHlVcGRhdGVWYWxpZGF0aW9uOiBmYWxzZSB9IGFzIGFueSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBSZXBsYXkgc3RpbGwgcmVzZXRzIHRoZSBldmVudCBzdGF0ZSBldmVuIGlmIGJ1bGsgZGVsaXZlcnkgdXBkYXRlcyBhcmUgbm90IHF1ZXJ5YWJsZSBoZXJlLlxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZXZlbnRSZXBvLnVwZGF0ZShldmVudCwgY3R4KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViaG9va3MvY29udHJvbGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQWEsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSw0QkFBdUI7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDhCQUFtQjtBQUVqRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLDBCQUEwQixDQUFDO0FBRzNCLElBQU0sb0NBQW9DLDRDQUExQyxNQUFNLG9DQUFxQyxTQUFRLGVBQStCO0lBQ3ZGLFlBQVksYUFBa0M7UUFDNUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxzQ0FBb0MsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsVUFBVSxDQUFjLEVBQVU7UUFDdEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQzdELElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUc5QixtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdkIsT0FBTyxJQUFJLENB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R0FBRyxHQUFHLENBQUM7UUFFdEIsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDO2dCQUNILE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FDMUIsVUFBVSxFQUNWLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQVMsQ0FBQyxDQUN0RCxDQUFDO1lBQ0osQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCw0RkFBNEY7WUFDOUYsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRixDQUFBO0FBM0VPO0lBREwsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNMLFdBQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBOzs7OzJEQTBFeEI7QUFoRlUsNkJBQTZCO0lBRHpDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztxQ0FFQSxtQkFBbUI7R0FEbkMsNkJBQTZCLENBaUZ6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2xsZXIsIFBhcmFtLCBQb3N0IH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5LCB0eXBlIFJlcG8sIE9yZGVyRGlyZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBEZWNhZkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vY29udHJvbGxlcnNcIjtcbmltcG9ydCB7IERlY2FmUmVxdWVzdENvbnRleHQgfSBmcm9tIFwiLi4vcmVxdWVzdFwiO1xuaW1wb3J0IHsgRGVjYWZTZXJ2ZXJDdHggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBXZWJob29rRGVsaXZlcnksXG4gIFdlYmhvb2tFdmVudFJlY29yZCxcbiAgV2ViaG9va1N0YXR1cyxcbiAgV2ViaG9va1N1YnNjcmlwdGlvbixcbiAgY29sbGVjdFBhZ2VkUmVzdWx0cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9mb3ItaHR0cC9ob29rc1wiO1xuXG5AQ29udHJvbGxlcihcIndlYmhvb2stc3Vic2NyaXB0aW9uc1wiKVxuZXhwb3J0IGNsYXNzIFdlYmhvb2tTdWJzY3JpcHRpb25BY3Rpb25zQ29udHJvbGxlciBleHRlbmRzIERlY2FmQ29udHJvbGxlcjxEZWNhZlNlcnZlckN0eD4ge1xuICBjb25zdHJ1Y3RvcihjbGllbnRDb250ZXh0OiBEZWNhZlJlcXVlc3RDb250ZXh0KSB7XG4gICAgc3VwZXIoY2xpZW50Q29udGV4dCwgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyLm5hbWUpO1xuICB9XG5cbiAgQFBvc3QoXCI6aWQvZGVhY3RpdmF0ZVwiKVxuICBhc3luYyBkZWFjdGl2YXRlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBcImRlYWN0aXZhdGVcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMuZGVhY3RpdmF0ZVxuICAgICk7XG4gICAgY29uc3QgcmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWw8XG4gICAgICBXZWJob29rU3Vic2NyaXB0aW9uLFxuICAgICAgUmVwbzxXZWJob29rU3Vic2NyaXB0aW9uPlxuICAgID4oV2ViaG9va1N1YnNjcmlwdGlvbik7XG4gICAgY29uc3QgY3VycmVudCA9IGF3YWl0IHJlcG8ucmVhZChpZCwgY3R4KTtcbiAgICBjdXJyZW50LmFjdGl2ZSA9IGZhbHNlO1xuICAgIHJldHVybiByZXBvLnVwZGF0ZShjdXJyZW50LCBjdHgpO1xuICB9XG5cbiAgQFBvc3QoXCI6aWQvcmVhY3RpdmF0ZVwiKVxuICBhc3luYyByZWFjdGl2YXRlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBcInJlYWN0aXZhdGVcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmVhY3RpdmF0ZVxuICAgICk7XG4gICAgY29uc3QgcmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWw8XG4gICAgICBXZWJob29rU3Vic2NyaXB0aW9uLFxuICAgICAgUmVwbzxXZWJob29rU3Vic2NyaXB0aW9uPlxuICAgID4oV2ViaG9va1N1YnNjcmlwdGlvbik7XG4gICAgY29uc3QgY3VycmVudCA9IGF3YWl0IHJlcG8ucmVhZChpZCwgY3R4KTtcbiAgICBjdXJyZW50LmFjdGl2ZSA9IHRydWU7XG4gICAgcmV0dXJuIHJlcG8udXBkYXRlKGN1cnJlbnQsIGN0eCk7XG4gIH1cbn1cblxuQENvbnRyb2xsZXIoXCJ3ZWJob29rLWV2ZW50c1wiKVxuZXhwb3J0IGNsYXNzIFdlYmhvb2tFdmVudEFjdGlvbnNDb250cm9sbGVyIGV4dGVuZHMgRGVjYWZDb250cm9sbGVyPERlY2FmU2VydmVyQ3R4PiB7XG4gIGNvbnN0cnVjdG9yKGNsaWVudENvbnRleHQ6IERlY2FmUmVxdWVzdENvbnRleHQpIHtcbiAgICBzdXBlcihjbGllbnRDb250ZXh0LCBXZWJob29rRXZlbnRBY3Rpb25zQ29udHJvbGxlci5uYW1lKTtcbiAgfVxuXG4gIEBQb3N0KFwiOmlkL3JlcGxheVwiKVxuICBhc3luYyByZXBsYXkoQFBhcmFtKFwiaWRcIikgaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIFwicmVwbGF5XCIsIHRydWUpKS5mb3IodGhpcy5yZXBsYXkpO1xuICAgIGNvbnN0IGV2ZW50UmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWw8XG4gICAgICBXZWJob29rRXZlbnRSZWNvcmQsXG4gICAgICBSZXBvPFdlYmhvb2tFdmVudFJlY29yZD5cbiAgICA+KFdlYmhvb2tFdmVudFJlY29yZCk7XG4gICAgY29uc3QgZGVsaXZlcnlSZXBvID0gUmVwb3NpdG9yeS5mb3JNb2RlbDxcbiAgICAgIFdlYmhvb2tEZWxpdmVyeSxcbiAgICAgIFJlcG88V2ViaG9va0RlbGl2ZXJ5PlxuICAgID4oV2ViaG9va0RlbGl2ZXJ5KTtcbiAgICBsZXQgZXZlbnQ7XG4gICAgdHJ5IHtcbiAgICAgIGV2ZW50ID0gYXdhaXQgZXZlbnRSZXBvLnJlYWQoaWQsIGN0eCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGV2ZW50cyA9IGF3YWl0IGV2ZW50UmVwb1xuICAgICAgICAuc2VsZWN0KClcbiAgICAgICAgLndoZXJlKGV2ZW50UmVwby5hdHRyKFwiaWRcIikuZXEoaWQpKVxuICAgICAgICAubGltaXQoMSlcbiAgICAgICAgLmV4ZWN1dGUoY3R4KTtcbiAgICAgIGlmICghZXZlbnRzLmxlbmd0aCkgdGhyb3cgZXJyb3I7XG4gICAgICBldmVudCA9IGV2ZW50c1swXTtcbiAgICB9XG4gICAgbGV0IGRlbGl2ZXJpZXM6IGFueVtdID0gW107XG4gICAgdHJ5IHtcbiAgICAgIGRlbGl2ZXJpZXMgPSBhd2FpdCBjb2xsZWN0UGFnZWRSZXN1bHRzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGRlbGl2ZXJ5UmVwb1xuICAgICAgICAgICAgLnNlbGVjdCgpXG4gICAgICAgICAgICAud2hlcmUoZGVsaXZlcnlSZXBvLmF0dHIoXCJldmVudElkXCIpLmVxKGV2ZW50LmlkKSlcbiAgICAgICAgICAgIC5vcmRlckJ5KFwiY3JlYXRlZEF0XCIsIE9yZGVyRGlyZWN0aW9uLkFTQylcbiAgICAgICAgICAgIC50aGVuQnkoXCJpZFwiLCBPcmRlckRpcmVjdGlvbi5BU0MpXG4gICAgICAgICAgICAucGFnaW5hdGUoMjUwLCBjdHgpLFxuICAgICAgICAyNTAsXG4gICAgICAgIGN0eFxuICAgICAgKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGRlbGl2ZXJpZXMgPSBhd2FpdCBkZWxpdmVyeVJlcG9cbiAgICAgICAgICAuc2VsZWN0KClcbiAgICAgICAgICAud2hlcmUoZGVsaXZlcnlSZXBvLmF0dHIoXCJldmVudElkXCIpLmVxKGV2ZW50LmlkKSlcbiAgICAgICAgICAuZXhlY3V0ZShjdHgpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGRlbGl2ZXJpZXMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcblxuICAgIGZvciAoY29uc3QgZGVsaXZlcnkgb2YgZGVsaXZlcmllcykge1xuICAgICAgZGVsaXZlcnkuc3RhdHVzID0gV2ViaG9va1N0YXR1cy5QRU5ESU5HO1xuICAgICAgZGVsaXZlcnkuYXR0ZW1wdHMgPSAwO1xuICAgICAgZGVsaXZlcnkubmV4dEF0dGVtcHRBdCA9IG5vdztcbiAgICAgIGRlbGl2ZXJ5Lmxhc3RBdHRlbXB0QXQgPSBudWxsIGFzIGFueTtcbiAgICAgIGRlbGl2ZXJ5LmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICAgIGRlbGl2ZXJ5LnJlc3BvbnNlU3RhdHVzID0gdW5kZWZpbmVkO1xuICAgICAgZGVsaXZlcnkucmVzcG9uc2VCb2R5ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGV2ZW50LnN0YXR1cyA9IFdlYmhvb2tTdGF0dXMuUEVORElORztcbiAgICBldmVudC5kZWxpdmVyaWVzU3VjY2VlZGVkID0gMDtcbiAgICBldmVudC5kZWxpdmVyaWVzRmFpbGVkID0gMDtcbiAgICBldmVudC5uZXh0QXR0ZW1wdEF0ID0gbm93O1xuICAgIGV2ZW50LnVwZGF0ZWRBdCA9IG5vdztcblxuICAgIGlmIChkZWxpdmVyaWVzLmxlbmd0aCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZGVsaXZlcnlSZXBvLnVwZGF0ZUFsbChcbiAgICAgICAgICBkZWxpdmVyaWVzLFxuICAgICAgICAgIGN0eC5vdmVycmlkZSh7IGFwcGx5VXBkYXRlVmFsaWRhdGlvbjogZmFsc2UgfSBhcyBhbnkpXG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gUmVwbGF5IHN0aWxsIHJlc2V0cyB0aGUgZXZlbnQgc3RhdGUgZXZlbiBpZiBidWxrIGRlbGl2ZXJ5IHVwZGF0ZXMgYXJlIG5vdCBxdWVyeWFibGUgaGVyZS5cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50UmVwby51cGRhdGUoZXZlbnQsIGN0eCk7XG4gIH1cbn1cbiJdfQ==
@@ -6,6 +6,7 @@ import "../overrides";
6
6
  import { type ModelControllerFactoryConfig } from "@decaf-ts/for-http/server";
7
7
  export declare class FromModelController {
8
8
  private static readonly log;
9
+ private static toDecafError;
9
10
  static getPersistence<T extends Model<boolean>>(ModelClazz: ModelConstructor<T>): Repo<T> | ModelService<T>;
10
11
  static createQueryRoutesFromRepository<T extends Model<boolean>>(persistence: Repo<T> | ModelService<T>, prefix?: string): ControllerConstructor<T>;
11
12
  static create<T extends Model<any>>(ModelConstr: ModelConstructor<T>, moduleConfigOverrides?: Record<string, ModelControllerFactoryConfig>, globalDefaults?: Partial<ModelControllerFactoryConfig>): ControllerConstructor<T>;
@@ -15,6 +16,7 @@ export declare class FromModelController {
15
16
  apiProperties: DecafApiProperty[];
16
17
  getPK: (...params: Array<string | number>) => string;
17
18
  };
19
+ private static routeParamDecorators;
18
20
  private static defineMethod;
19
21
  private static applyDecorators;
20
22
  private static matchRoute;
@@ -22,19 +24,9 @@ export declare class FromModelController {
22
24
  private static statementMethodName;
23
25
  private static statementShortcutParams;
24
26
  private static complexQueryParams;
25
- private static createCreateHandler;
26
- private static createBulkCreateHandler;
27
- private static createBulkReadHandler;
28
- private static createBulkUpdateHandler;
29
- private static createBulkDeleteHandler;
30
- private static createReadHandler;
31
- private static createUpdateHandler;
32
- private static createDeleteHandler;
33
- private static createStatementHandler;
34
- private static createStatementShortcutHandler;
35
27
  private static createComplexQueryHandler;
36
- private static createCustomRouteHandler;
37
28
  private static extractQueryArgs;
29
+ private static normalizeQueryArgs;
38
30
  private static createCreateDecorators;
39
31
  private static bulkCreateDecorators;
40
32
  private static bulkReadDecorators;
@@ -6,6 +6,7 @@ import "../overrides";
6
6
  import { type ModelControllerFactoryConfig } from "@decaf-ts/for-http/server";
7
7
  export declare class FromModelController {
8
8
  private static readonly log;
9
+ private static toDecafError;
9
10
  static getPersistence<T extends Model<boolean>>(ModelClazz: ModelConstructor<T>): Repo<T> | ModelService<T>;
10
11
  static createQueryRoutesFromRepository<T extends Model<boolean>>(persistence: Repo<T> | ModelService<T>, prefix?: string): ControllerConstructor<T>;
11
12
  static create<T extends Model<any>>(ModelConstr: ModelConstructor<T>, moduleConfigOverrides?: Record<string, ModelControllerFactoryConfig>, globalDefaults?: Partial<ModelControllerFactoryConfig>): ControllerConstructor<T>;
@@ -15,6 +16,7 @@ export declare class FromModelController {
15
16
  apiProperties: DecafApiProperty[];
16
17
  getPK: (...params: Array<string | number>) => string;
17
18
  };
19
+ private static routeParamDecorators;
18
20
  private static defineMethod;
19
21
  private static applyDecorators;
20
22
  private static matchRoute;
@@ -22,19 +24,9 @@ export declare class FromModelController {
22
24
  private static statementMethodName;
23
25
  private static statementShortcutParams;
24
26
  private static complexQueryParams;
25
- private static createCreateHandler;
26
- private static createBulkCreateHandler;
27
- private static createBulkReadHandler;
28
- private static createBulkUpdateHandler;
29
- private static createBulkDeleteHandler;
30
- private static createReadHandler;
31
- private static createUpdateHandler;
32
- private static createDeleteHandler;
33
- private static createStatementHandler;
34
- private static createStatementShortcutHandler;
35
27
  private static createComplexQueryHandler;
36
- private static createCustomRouteHandler;
37
28
  private static extractQueryArgs;
29
+ private static normalizeQueryArgs;
38
30
  private static createCreateDecorators;
39
31
  private static bulkCreateDecorators;
40
32
  private static bulkReadDecorators;
@@ -41,19 +41,19 @@ export * from "./events-module/index.d.cts";
41
41
  * @constant
42
42
  * @type {string}
43
43
  */
44
- export declare const VERSION = "0.11.2-refactor.3";
44
+ export declare const VERSION = "0.11.2-refactor.4";
45
45
  /**
46
46
  * @description Represents the current commit hash of the module build.
47
47
  * @summary Stores the current git commit hash for the package. The build replaces
48
48
  * the placeholder with the actual commit hash at publish time.
49
49
  * @const COMMIT
50
50
  */
51
- export declare const COMMIT = "d657fc5";
51
+ export declare const COMMIT = "1b4f98c";
52
52
  /**
53
53
  * @description Represents the full version string of the module.
54
54
  * @summary Stores the semver version and commit hash for the package.
55
55
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
56
56
  * @const FULL_VERSION
57
57
  */
58
- export declare const FULL_VERSION = "0.11.2-refactor.3-d657fc5";
58
+ export declare const FULL_VERSION = "0.11.2-refactor.4-1b4f98c";
59
59
  export declare const PACKAGE_NAME = "@decaf-ts/for-nest";
@@ -41,19 +41,19 @@ export * from "./events-module/index.d.mts";
41
41
  * @constant
42
42
  * @type {string}
43
43
  */
44
- export declare const VERSION = "0.11.2-refactor.3";
44
+ export declare const VERSION = "0.11.2-refactor.4";
45
45
  /**
46
46
  * @description Represents the current commit hash of the module build.
47
47
  * @summary Stores the current git commit hash for the package. The build replaces
48
48
  * the placeholder with the actual commit hash at publish time.
49
49
  * @const COMMIT
50
50
  */
51
- export declare const COMMIT = "d657fc5";
51
+ export declare const COMMIT = "1b4f98c";
52
52
  /**
53
53
  * @description Represents the full version string of the module.
54
54
  * @summary Stores the semver version and commit hash for the package.
55
55
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
56
56
  * @const FULL_VERSION
57
57
  */
58
- export declare const FULL_VERSION = "0.11.2-refactor.3-d657fc5";
58
+ export declare const FULL_VERSION = "0.11.2-refactor.4-1b4f98c";
59
59
  export declare const PACKAGE_NAME = "@decaf-ts/for-nest";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-nest",
3
- "version": "0.11.2-refactor.3",
3
+ "version": "0.11.2-refactor.5",
4
4
  "description": "NestJS decaf integration",
5
5
  "type": "module",
6
6
  "exports": {
@@ -164,6 +164,12 @@
164
164
  "jsrsasign": "^11.1.0"
165
165
  },
166
166
  "ajv": "^8.17.2",
167
+ "@eslint/eslintrc": {
168
+ "ajv": "^6.14.0"
169
+ },
170
+ "eslint": {
171
+ "ajv": "^6.14.0"
172
+ },
167
173
  "multer": "^2.1.2",
168
174
  "js-yaml": "^4.2.0"
169
175
  }