@zola_do/crud 0.2.2 → 0.2.4

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 (58) hide show
  1. package/README.md +130 -1
  2. package/dist/controller/entity-crud.controller.d.ts +3 -3
  3. package/dist/controller/entity-crud.controller.js +154 -38
  4. package/dist/controller/entity-crud.controller.js.map +1 -1
  5. package/dist/controller/extra-crud.controller.d.ts +3 -3
  6. package/dist/controller/extra-crud.controller.js +152 -37
  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 +126 -28
  10. package/dist/controller/relation-crud.controller.js.map +1 -1
  11. package/dist/crud-operation/repository/entity-crud.repository.js +16 -4
  12. package/dist/crud-operation/repository/entity-crud.repository.js.map +1 -1
  13. package/dist/crud-operation/repository/extra-crud.repository.js +16 -4
  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 +126 -35
  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 +126 -40
  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/guards/crud-operation-disabled.guard.d.ts +7 -0
  41. package/dist/shared/guards/crud-operation-disabled.guard.js +16 -0
  42. package/dist/shared/guards/crud-operation-disabled.guard.js.map +1 -0
  43. package/dist/shared/index.d.ts +1 -0
  44. package/dist/shared/index.js +1 -0
  45. package/dist/shared/index.js.map +1 -1
  46. package/dist/shared/request-context/apply-create-context.helper.js +17 -4
  47. package/dist/shared/request-context/apply-create-context.helper.js.map +1 -1
  48. package/dist/shared/types/crud-option.type.d.ts +83 -12
  49. package/dist/shared/utils/crud-hooks.helper.d.ts +31 -2
  50. package/dist/shared/utils/crud-hooks.helper.js +172 -1
  51. package/dist/shared/utils/crud-hooks.helper.js.map +1 -1
  52. package/dist/shared/utils/cursor-query.helper.d.ts +6 -0
  53. package/dist/shared/utils/cursor-query.helper.js +49 -0
  54. package/dist/shared/utils/cursor-query.helper.js.map +1 -0
  55. package/dist/shared/utils/index.d.ts +1 -0
  56. package/dist/shared/utils/index.js +1 -0
  57. package/dist/shared/utils/index.js.map +1 -1
  58. package/package.json +30 -1
@@ -23,36 +23,65 @@ let ExtraCrudService = class ExtraCrudService {
23
23
  this.requestContextResolver = requestContextResolver;
24
24
  }
25
25
  async create(itemData, req, options) {
26
- var _a, _b;
26
+ var _a, _b, _c;
27
27
  const payload = (0, shared_1.sanitizeWritePayload)(itemData, options);
28
- await (0, shared_1.applyCreateContext)({
28
+ const context = (0, shared_1.createCrudHookContext)({
29
+ operation: "create",
30
+ req,
31
+ itemData: payload,
32
+ service: this,
33
+ repository: this.repository,
34
+ });
35
+ await (0, shared_1.runOperationAuthorization)(options, context);
36
+ await (0, shared_1.runBeforeCreatePipeline)({
29
37
  itemData: payload,
30
38
  req,
31
39
  options,
32
40
  resolver: this.requestContextResolver,
41
+ service: this,
42
+ repository: this.repository,
33
43
  });
34
- await (0, shared_1.runCrudHook)(options, "beforeCreate", { itemData: payload, req });
35
44
  const item = this.repository.create(payload);
36
45
  await this.repository.insert(item);
37
46
  const createdItem = item;
38
- await (0, shared_1.runCrudHook)(options, "afterCreate", {
39
- id: (_b = (_a = createdItem === null || createdItem === void 0 ? void 0 : createdItem.id) === null || _a === void 0 ? void 0 : _a.toString) === null || _b === void 0 ? void 0 : _b.call(_a),
40
- entity: createdItem,
41
- req,
42
- });
43
- return createdItem;
47
+ context.id = (_b = (_a = createdItem === null || createdItem === void 0 ? void 0 : createdItem.id) === null || _a === void 0 ? void 0 : _a.toString) === null || _b === void 0 ? void 0 : _b.call(_a);
48
+ context.entity = createdItem;
49
+ context.result = createdItem;
50
+ await (0, shared_1.runAfterOperationHooks)(options, context);
51
+ return (_c = context.result) !== null && _c !== void 0 ? _c : createdItem;
44
52
  }
45
53
  async findAll(entityId, query, extraCrudOptions, req) {
54
+ var _a, _b;
46
55
  const entityIdName = extraCrudOptions.entityIdName;
47
- query.where.push([
48
- {
49
- column: entityIdName,
50
- value: entityId,
51
- operator: collection_query_1.FilterOperators.EqualTo,
56
+ const context = (0, shared_1.createCrudHookContext)({
57
+ operation: "findAll",
58
+ req,
59
+ query: query,
60
+ where: {
61
+ [entityIdName]: entityId,
52
62
  },
53
- ]);
54
- const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query);
63
+ service: this,
64
+ repository: this.repository,
65
+ });
66
+ await (0, shared_1.runOperationAuthorization)(extraCrudOptions, context);
67
+ await (0, shared_1.runBeforeOperationHooks)(extraCrudOptions, context);
68
+ (0, shared_1.applyWhereToCollectionQuery)(query, context.where);
55
69
  const response = new shared_1.DataResponseFormat();
70
+ if (collection_query_1.QueryConstructor.isCursorQuery(query)) {
71
+ const cursorResult = await collection_query_1.QueryConstructor.runCursorQuery(this.repository, query);
72
+ response.total = cursorResult.total;
73
+ response.items = cursorResult.items;
74
+ response.nextCursor = cursorResult.nextCursor;
75
+ response.prevCursor = cursorResult.prevCursor;
76
+ response.hasNextPage = cursorResult.hasNextPage;
77
+ response.nc = cursorResult.nextCursor;
78
+ response.pc = cursorResult.prevCursor;
79
+ response.hn = cursorResult.hasNextPage;
80
+ context.result = response;
81
+ await (0, shared_1.runAfterOperationHooks)(extraCrudOptions, context);
82
+ return (_a = context.result) !== null && _a !== void 0 ? _a : response;
83
+ }
84
+ const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query);
56
85
  if (query.count) {
57
86
  response.total = await dataQuery.getCount();
58
87
  }
@@ -61,58 +90,103 @@ let ExtraCrudService = class ExtraCrudService {
61
90
  response.total = total;
62
91
  response.items = result;
63
92
  }
64
- return response;
93
+ context.result = response;
94
+ await (0, shared_1.runAfterOperationHooks)(extraCrudOptions, context);
95
+ return (_b = context.result) !== null && _b !== void 0 ? _b : response;
65
96
  }
66
- async findOne(id, req) {
67
- return await this.repository.findOneBy({ id });
97
+ async findOne(id, req, options) {
98
+ var _a, _b, _c;
99
+ const context = (0, shared_1.createCrudHookContext)({
100
+ operation: "findOne",
101
+ id: (_b = (_a = id === null || id === void 0 ? void 0 : id.toString) === null || _a === void 0 ? void 0 : _a.call(id)) !== null && _b !== void 0 ? _b : id,
102
+ req,
103
+ where: {},
104
+ service: this,
105
+ repository: this.repository,
106
+ });
107
+ await (0, shared_1.runOperationAuthorization)(options, context);
108
+ await (0, shared_1.runBeforeOperationHooks)(options, context);
109
+ const item = await this.repository.findOneBy({ id });
110
+ context.entity = item;
111
+ context.result = item;
112
+ await (0, shared_1.runAfterOperationHooks)(options, context);
113
+ return (_c = context.result) !== null && _c !== void 0 ? _c : item;
68
114
  }
69
115
  async update(id, itemData, req, options) {
116
+ var _a;
70
117
  const item = await this.findOneOrFail(id);
71
118
  const payload = (0, shared_1.sanitizeWritePayload)(itemData, options);
72
- await (0, shared_1.runCrudHook)(options, "beforeUpdate", {
119
+ const context = (0, shared_1.createCrudHookContext)({
120
+ operation: "update",
73
121
  id,
122
+ req,
74
123
  itemData: payload,
75
124
  entity: item,
76
- req,
125
+ service: this,
126
+ repository: this.repository,
77
127
  });
128
+ await (0, shared_1.runOperationAuthorization)(options, context);
129
+ await (0, shared_1.runBeforeOperationHooks)(options, context);
78
130
  await this.repository.update(item.id, payload);
79
131
  const updatedItem = Object.assign(Object.assign({}, item), payload);
80
- await (0, shared_1.runCrudHook)(options, "afterUpdate", {
81
- id,
82
- entity: updatedItem,
83
- req,
84
- });
85
- return updatedItem;
132
+ context.entity = updatedItem;
133
+ context.result = updatedItem;
134
+ await (0, shared_1.runAfterOperationHooks)(options, context);
135
+ return (_a = context.result) !== null && _a !== void 0 ? _a : updatedItem;
86
136
  }
87
137
  async softDelete(id, req, options) {
88
- var _a, _b;
138
+ var _a, _b, _c;
89
139
  const item = await this.findOneOrFail(id);
90
- await (0, shared_1.runCrudHook)(options, "beforeSoftDelete", {
140
+ const context = (0, shared_1.createCrudHookContext)({
141
+ operation: "delete",
91
142
  id,
92
- entity: item,
93
143
  req,
144
+ entity: item,
145
+ service: this,
146
+ repository: this.repository,
94
147
  });
95
- if ((_b = (_a = this.repository) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.deleteDateColumn) {
148
+ await (0, shared_1.runOperationAuthorization)(options, context);
149
+ await (0, shared_1.runBeforeOperationHooks)(options, context);
150
+ const deleteMode = (_a = options === null || options === void 0 ? void 0 : options.deleteMode) !== null && _a !== void 0 ? _a : "hard";
151
+ const hasSoftDelete = !!((_c = (_b = this.repository) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.deleteDateColumn);
152
+ if (deleteMode === "soft") {
153
+ if (!hasSoftDelete) {
154
+ throw new common_1.BadRequestException("soft_delete_not_supported");
155
+ }
96
156
  await this.repository.softRemove(item);
97
157
  }
158
+ else if (deleteMode === "auto") {
159
+ if (hasSoftDelete) {
160
+ await this.repository.softRemove(item);
161
+ }
162
+ else {
163
+ await this.repository.remove(item);
164
+ }
165
+ }
98
166
  else {
99
167
  await this.repository.remove(item);
100
168
  }
101
- await (0, shared_1.runCrudHook)(options, "afterSoftDelete", {
102
- id,
103
- entity: item,
104
- req,
105
- });
169
+ context.result = undefined;
170
+ await (0, shared_1.runAfterOperationHooks)(options, context);
106
171
  }
107
172
  async restore(id, req, options) {
108
173
  var _a, _b;
174
+ const context = (0, shared_1.createCrudHookContext)({
175
+ operation: "restore",
176
+ id,
177
+ req,
178
+ service: this,
179
+ repository: this.repository,
180
+ });
181
+ await (0, shared_1.runOperationAuthorization)(options, context);
182
+ await (0, shared_1.runBeforeOperationHooks)(options, context);
109
183
  if (!((_b = (_a = this.repository) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.deleteDateColumn)) {
110
184
  throw new common_1.BadRequestException("restore_not_supported");
111
185
  }
112
- await (0, shared_1.runCrudHook)(options, "beforeRestore", { id, req });
113
- await this.findOneOrFailWithDeleted(id);
186
+ const item = await this.findOneOrFailWithDeleted(id);
187
+ context.entity = item;
114
188
  await this.repository.restore(id);
115
- await (0, shared_1.runCrudHook)(options, "afterRestore", { id, req });
189
+ await (0, shared_1.runAfterOperationHooks)(options, context);
116
190
  }
117
191
  async findAllArchived(entityId, query, extraCrudOptions, req) {
118
192
  var _a, _b;
@@ -128,9 +202,21 @@ let ExtraCrudService = class ExtraCrudService {
128
202
  operator: collection_query_1.FilterOperators.EqualTo,
129
203
  },
130
204
  ]);
205
+ const response = new shared_1.DataResponseFormat();
206
+ if (collection_query_1.QueryConstructor.isCursorQuery(query)) {
207
+ const cursorResult = await collection_query_1.QueryConstructor.runCursorQuery(this.repository, query, true);
208
+ response.total = cursorResult.total;
209
+ response.items = cursorResult.items;
210
+ response.nextCursor = cursorResult.nextCursor;
211
+ response.prevCursor = cursorResult.prevCursor;
212
+ response.hasNextPage = cursorResult.hasNextPage;
213
+ response.nc = cursorResult.nextCursor;
214
+ response.pc = cursorResult.prevCursor;
215
+ response.hn = cursorResult.hasNextPage;
216
+ return response;
217
+ }
131
218
  const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query);
132
219
  dataQuery.withDeleted();
133
- const response = new shared_1.DataResponseFormat();
134
220
  if (query.count) {
135
221
  response.total = await dataQuery.getCount();
136
222
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extra-crud.service.js","sourceRoot":"","sources":["../../src/service/extra-crud.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extra-crud.service.js","sourceRoot":"","sources":["../../src/service/extra-crud.service.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,8 @@ let RelationCrudService = class RelationCrudService {
91
91
  return await this.getData(entityId, entityIdName, include, filterInclude, query);
92
92
  }
93
93
  async getData(entityId, entityIdName, include, filterInclude, query) {
94
+ query.where = query.where || [];
95
+ query.includes = query.includes || [];
94
96
  query.where.push([
95
97
  {
96
98
  column: entityIdName,
@@ -100,8 +102,20 @@ let RelationCrudService = class RelationCrudService {
100
102
  ]);
101
103
  query.includes.push(include);
102
104
  query.includes.push(filterInclude);
103
- const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query, true);
104
105
  const response = new shared_1.DataResponseFormat();
106
+ if (collection_query_1.QueryConstructor.isCursorQuery(query)) {
107
+ const cursorResult = await collection_query_1.QueryConstructor.runCursorQuery(this.repository, query, true);
108
+ response.total = cursorResult.total;
109
+ response.items = cursorResult.items;
110
+ response.nextCursor = cursorResult.nextCursor;
111
+ response.prevCursor = cursorResult.prevCursor;
112
+ response.hasNextPage = cursorResult.hasNextPage;
113
+ response.nc = cursorResult.nextCursor;
114
+ response.pc = cursorResult.prevCursor;
115
+ response.hn = cursorResult.hasNextPage;
116
+ return response;
117
+ }
118
+ const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query, true);
105
119
  if (query.count) {
106
120
  response.total = await dataQuery.getCount();
107
121
  }
@@ -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,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,SAAS,GAAG,mCAAgB,CAAC,cAAc,CAC/C,IAAI,CAAC,UAAU,EACf,KAAK,EACL,IAAI,CACL,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,2BAAkB,EAAW,CAAC;QACnD,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;AA3JY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE8B,oBAAU;GADxC,mBAAmB,CA2J/B"}
1
+ {"version":3,"file":"relation-crud.service.js","sourceRoot":"","sources":["../../src/service/relation-crud.service.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,30 @@ const ApiPaginatedResponse = (model) => {
18
18
  type: 'array',
19
19
  items: { $ref: (0, swagger_1.getSchemaPath)(model) },
20
20
  },
21
+ nextCursor: {
22
+ type: 'string',
23
+ nullable: true,
24
+ },
25
+ prevCursor: {
26
+ type: 'string',
27
+ nullable: true,
28
+ },
29
+ hasNextPage: {
30
+ type: 'boolean',
31
+ nullable: true,
32
+ },
33
+ nc: {
34
+ type: 'string',
35
+ nullable: true,
36
+ },
37
+ pc: {
38
+ type: 'string',
39
+ nullable: true,
40
+ },
41
+ hn: {
42
+ type: 'boolean',
43
+ nullable: true,
44
+ },
21
45
  },
22
46
  },
23
47
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"api-paginated-response.js","sourceRoot":"","sources":["../../../src/shared/api-data/api-paginated-response.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,6CAA+D;AAC/D,iEAA4D;AACrD,MAAM,oBAAoB,GAAG,CAClC,KAAa,EACb,EAAE;IACF,OAAO,IAAA,wBAAe,EACpB,IAAA,uBAAa,EAAC;QACZ,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,yCAAkB,CAAC,EAAE;gBAC3C;oBACE,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,KAAK,CAAC,EAAE;yBACtC;qBACF;iBACF;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,oBAAoB,wBAuB/B"}
1
+ {"version":3,"file":"api-paginated-response.js","sourceRoot":"","sources":["../../../src/shared/api-data/api-paginated-response.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,6CAA+D;AAC/D,iEAA4D;AACrD,MAAM,oBAAoB,GAAG,CAClC,KAAa,EACb,EAAE;IACF,OAAO,IAAA,wBAAe,EACpB,IAAA,uBAAa,EAAC;QACZ,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,yCAAkB,CAAC,EAAE;gBAC3C;oBACE,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,KAAK,CAAC,EAAE;yBACtC;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;yBACf;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;yBACf;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,IAAI;yBACf;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;yBACf;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;yBACf;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,IAAI;yBACf;qBACF;iBACF;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,oBAAoB,wBA+C/B"}
@@ -1,4 +1,10 @@
1
1
  export declare class DataResponseFormat<T> {
2
2
  total: number;
3
3
  items: T[];
4
+ nextCursor?: string;
5
+ prevCursor?: string;
6
+ hasNextPage?: boolean;
7
+ nc?: string;
8
+ pc?: string;
9
+ hn?: boolean;
4
10
  }
@@ -22,4 +22,28 @@ __decorate([
22
22
  (0, swagger_1.ApiProperty)({ isArray: true }),
23
23
  __metadata("design:type", Array)
24
24
  ], DataResponseFormat.prototype, "items", void 0);
25
+ __decorate([
26
+ (0, swagger_1.ApiProperty)({ required: false }),
27
+ __metadata("design:type", String)
28
+ ], DataResponseFormat.prototype, "nextCursor", void 0);
29
+ __decorate([
30
+ (0, swagger_1.ApiProperty)({ required: false }),
31
+ __metadata("design:type", String)
32
+ ], DataResponseFormat.prototype, "prevCursor", void 0);
33
+ __decorate([
34
+ (0, swagger_1.ApiProperty)({ required: false }),
35
+ __metadata("design:type", Boolean)
36
+ ], DataResponseFormat.prototype, "hasNextPage", void 0);
37
+ __decorate([
38
+ (0, swagger_1.ApiProperty)({ required: false }),
39
+ __metadata("design:type", String)
40
+ ], DataResponseFormat.prototype, "nc", void 0);
41
+ __decorate([
42
+ (0, swagger_1.ApiProperty)({ required: false }),
43
+ __metadata("design:type", String)
44
+ ], DataResponseFormat.prototype, "pc", void 0);
45
+ __decorate([
46
+ (0, swagger_1.ApiProperty)({ required: false }),
47
+ __metadata("design:type", Boolean)
48
+ ], DataResponseFormat.prototype, "hn", void 0);
25
49
  //# sourceMappingURL=data-response-format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-response-format.js","sourceRoot":"","sources":["../../../src/shared/api-data/data-response-format.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,kBAAkB;CAK9B;AALD,gDAKC;AAHC;IADC,IAAA,qBAAW,GAAE;;iDACC;AAEf;IADC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iDACnB"}
1
+ {"version":3,"file":"data-response-format.js","sourceRoot":"","sources":["../../../src/shared/api-data/data-response-format.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,kBAAkB;CAiB9B;AAjBD,gDAiBC;AAfC;IADC,IAAA,qBAAW,GAAE;;iDACC;AAEf;IADC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iDACnB;AAEZ;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sDACb;AAEpB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sDACb;AAEpB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uDACX;AAEtB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACrB;AAEZ;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACrB;AAEZ;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACpB"}
@@ -1,2 +1 @@
1
1
  export * from './global-exception.filter';
2
- export * from './rpc-exception.filter';
@@ -15,5 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./global-exception.filter"), exports);
18
- __exportStar(require("./rpc-exception.filter"), exports);
19
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/exceptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/exceptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
@@ -0,0 +1,7 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ export declare class CrudOperationDisabledGuard implements CanActivate {
3
+ private readonly operation;
4
+ private readonly reason?;
5
+ constructor(operation: string, reason?: string);
6
+ canActivate(_context: ExecutionContext): boolean;
7
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrudOperationDisabledGuard = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ class CrudOperationDisabledGuard {
6
+ constructor(operation, reason) {
7
+ this.operation = operation;
8
+ this.reason = reason;
9
+ }
10
+ canActivate(_context) {
11
+ var _a;
12
+ throw new common_1.ForbiddenException((_a = this.reason) !== null && _a !== void 0 ? _a : 'crud_operation_disabled');
13
+ }
14
+ }
15
+ exports.CrudOperationDisabledGuard = CrudOperationDisabledGuard;
16
+ //# sourceMappingURL=crud-operation-disabled.guard.js.map
@@ -0,0 +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"}
@@ -2,6 +2,7 @@ export * from './api-data';
2
2
  export * from './decorators';
3
3
  export * from './exceptions';
4
4
  export * from './interceptors';
5
+ export * from './guards/crud-operation-disabled.guard';
5
6
  export * from './request-context';
6
7
  export * from './types';
7
8
  export * from './utils';
@@ -18,6 +18,7 @@ __exportStar(require("./api-data"), exports);
18
18
  __exportStar(require("./decorators"), exports);
19
19
  __exportStar(require("./exceptions"), exports);
20
20
  __exportStar(require("./interceptors"), exports);
21
+ __exportStar(require("./guards/crud-operation-disabled.guard"), exports);
21
22
  __exportStar(require("./request-context"), exports);
22
23
  __exportStar(require("./types"), exports);
23
24
  __exportStar(require("./utils"), exports);
@@ -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,oDAAkC;AAClC,0CAAwB;AACxB,0CAAwB"}
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"}
@@ -6,10 +6,15 @@ const assignResolvedContext = (itemData, mappedContext) => {
6
6
  Object.assign(itemData, mappedContext);
7
7
  }
8
8
  };
9
- const getCreateHook = (options) => options === null || options === void 0 ? void 0 : options.mapCreateContext;
9
+ const getCreateHook = (options) => typeof (options === null || options === void 0 ? void 0 : options.mapCreateContext) === 'function'
10
+ ? options.mapCreateContext
11
+ : undefined;
10
12
  const applyCreateContext = async (params) => {
11
- var _a;
13
+ var _a, _b;
12
14
  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';
17
+ const forceServerOwnership = !hasCreateOverrideHook;
13
18
  const localHook = getCreateHook(options);
14
19
  if (localHook) {
15
20
  const mappedContext = await localHook({ itemData, req });
@@ -24,8 +29,16 @@ const applyCreateContext = async (params) => {
24
29
  }
25
30
  }
26
31
  if ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a.organization) {
27
- itemData.organizationId = req.user.organization.id;
28
- itemData.organizationName = req.user.organization.name;
32
+ if (forceServerOwnership || itemData.organizationId == null) {
33
+ itemData.organizationId = req.user.organization.id;
34
+ }
35
+ if (forceServerOwnership || itemData.organizationName == null) {
36
+ itemData.organizationName = req.user.organization.name;
37
+ }
38
+ }
39
+ if (((_b = req === null || req === void 0 ? void 0 : req.user) === null || _b === void 0 ? void 0 : _b.id) != null &&
40
+ (forceServerOwnership || itemData.userId == null)) {
41
+ itemData.userId = req.user.id;
29
42
  }
30
43
  };
31
44
  exports.applyCreateContext = applyCreateContext;
@@ -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,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAAC;AAErB,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAKxC,EAAE,EAAE;;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,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,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACnD,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IACzD,CAAC;AACH,CAAC,CAAC;AA3BW,QAAA,kBAAkB,sBA2B7B"}
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"}