@minimaltech/node-infra 0.3.14 → 0.3.16

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 (96) hide show
  1. package/dist/base/applications/base.application.js +3 -1
  2. package/dist/base/applications/base.application.js.map +1 -1
  3. package/dist/base/controllers/common.js.map +1 -1
  4. package/dist/base/controllers/crud.controller.js +1 -1
  5. package/dist/base/controllers/crud.controller.js.map +1 -1
  6. package/dist/base/controllers/kv.controller.js +1 -1
  7. package/dist/base/controllers/kv.controller.js.map +1 -1
  8. package/dist/base/controllers/relational.controller.d.ts +27 -9
  9. package/dist/base/controllers/relational.controller.js +181 -109
  10. package/dist/base/controllers/relational.controller.js.map +1 -1
  11. package/dist/base/controllers/service-crud.controller.d.ts +6 -3
  12. package/dist/base/controllers/service-crud.controller.js +40 -42
  13. package/dist/base/controllers/service-crud.controller.js.map +1 -1
  14. package/dist/base/repositories/base.repository.js.map +1 -1
  15. package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -1
  16. package/dist/base/repositories/tz-crud.repository.js.map +1 -1
  17. package/dist/base/services/base-crud.service.js.map +1 -1
  18. package/dist/common/constants.js +6 -1
  19. package/dist/common/constants.js.map +1 -1
  20. package/dist/common/statuses.js +7 -1
  21. package/dist/common/statuses.js.map +1 -1
  22. package/dist/common/types.d.ts +3 -0
  23. package/dist/components/authenticate/component.js +5 -2
  24. package/dist/components/authenticate/component.js.map +1 -1
  25. package/dist/components/authenticate/controllers/auth.controller.js +1 -1
  26. package/dist/components/authenticate/controllers/auth.controller.js.map +1 -1
  27. package/dist/components/authenticate/controllers/oauth2.controller.js.map +1 -1
  28. package/dist/components/authenticate/middleware.js.map +1 -1
  29. package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js.map +1 -1
  30. package/dist/components/authenticate/oauth2-handlers/base.js +13 -2
  31. package/dist/components/authenticate/oauth2-handlers/base.js.map +1 -1
  32. package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js.map +1 -1
  33. package/dist/components/authenticate/oauth2-handlers/password.handler.js.map +1 -1
  34. package/dist/components/authenticate/services/oauth2.service.js.map +1 -1
  35. package/dist/components/authenticate/services/oauth2.strategy.js.map +1 -1
  36. package/dist/components/authorize/adapters/base.adapter.js +5 -1
  37. package/dist/components/authorize/adapters/base.adapter.js.map +1 -1
  38. package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js +2 -6
  39. package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js.map +1 -1
  40. package/dist/components/authorize/common/keys.js.map +1 -1
  41. package/dist/components/authorize/component.js +4 -1
  42. package/dist/components/authorize/component.js.map +1 -1
  43. package/dist/components/authorize/decorators/index.js.map +1 -1
  44. package/dist/components/authorize/interceptor.js +4 -2
  45. package/dist/components/authorize/interceptor.js.map +1 -1
  46. package/dist/components/authorize/provider.js.map +1 -1
  47. package/dist/components/authorize/repositories/authorize.repository.js.map +1 -1
  48. package/dist/components/authorize/services/enforcer.service.js.map +1 -1
  49. package/dist/components/authorize/services/generator.service.js +4 -2
  50. package/dist/components/authorize/services/generator.service.js.map +1 -1
  51. package/dist/components/crash-report/common/keys.js +4 -1
  52. package/dist/components/crash-report/common/keys.js.map +1 -1
  53. package/dist/components/crash-report/component.js.map +1 -1
  54. package/dist/components/crash-report/providers/provider.js.map +1 -1
  55. package/dist/components/crash-report/services/mt-crash-report.service.js +1 -1
  56. package/dist/components/crash-report/services/mt-crash-report.service.js.map +1 -1
  57. package/dist/components/grpc/components/server.component.js +1 -1
  58. package/dist/components/grpc/components/server.component.js.map +1 -1
  59. package/dist/components/grpc/decorators/index.js.map +1 -1
  60. package/dist/components/grpc/helpers/grpc-client.js +1 -1
  61. package/dist/components/grpc/helpers/grpc-client.js.map +1 -1
  62. package/dist/components/grpc/helpers/grpc-server.js.map +1 -1
  63. package/dist/components/socket-io/component.js.map +1 -1
  64. package/dist/components/socket-io/helpers/socket-io-client.helper.js.map +1 -1
  65. package/dist/components/socket-io/helpers/socket-io-server.helper.js +4 -1
  66. package/dist/components/socket-io/helpers/socket-io-server.helper.js.map +1 -1
  67. package/dist/components/static-asset/component.js.map +1 -1
  68. package/dist/components/static-asset/controllers/asset.controller.js.map +1 -1
  69. package/dist/components/static-asset/controllers/resource.controller.js.map +1 -1
  70. package/dist/helpers/crypto/algorithms/aes.algorithm.js.map +1 -1
  71. package/dist/helpers/crypto/algorithms/base.algorithm.js +4 -1
  72. package/dist/helpers/crypto/algorithms/base.algorithm.js.map +1 -1
  73. package/dist/helpers/database/query-builder.helper.js.map +1 -1
  74. package/dist/helpers/logger/application-logger.js +8 -1
  75. package/dist/helpers/logger/application-logger.js.map +1 -1
  76. package/dist/helpers/logger/default-logger.js.map +1 -1
  77. package/dist/helpers/network/network-tcp-client.helper.js.map +1 -1
  78. package/dist/helpers/network/network-udp-client.helper.js.map +1 -1
  79. package/dist/helpers/network/network.helper.js.map +1 -1
  80. package/dist/helpers/queue/mqtt.helper.js.map +1 -1
  81. package/dist/helpers/redis.helper.js.map +1 -1
  82. package/dist/helpers/storage/minio.helper.js.map +1 -1
  83. package/dist/helpers/testing/test-case.js.map +1 -1
  84. package/dist/helpers/testing/test-handler.js.map +1 -1
  85. package/dist/interceptors/content-range.interceptor.js +1 -1
  86. package/dist/interceptors/content-range.interceptor.js.map +1 -1
  87. package/dist/middlewares/request-spy.middleware.js.map +1 -1
  88. package/dist/migrations/handler.js.map +1 -1
  89. package/dist/mixins/object-search.mixin.js.map +1 -1
  90. package/dist/mixins/user-audit-v2.mixin.js +1 -1
  91. package/dist/mixins/user-audit-v2.mixin.js.map +1 -1
  92. package/dist/utilities/date.utility.js.map +1 -1
  93. package/dist/utilities/parse.utility.js +6 -1
  94. package/dist/utilities/parse.utility.js.map +1 -1
  95. package/dist/utilities/request.utility.js.map +1 -1
  96. package/package.json +1 -1
@@ -25,24 +25,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.defineRelationCrudController = exports.defineAssociateController = exports.defineRelationViewController = void 0;
28
+ const core_1 = require("@loopback/core");
28
29
  const repository_1 = require("@loopback/repository");
29
30
  const rest_1 = require("@loopback/rest");
30
31
  const get_1 = __importDefault(require("lodash/get"));
31
32
  const common_1 = require("../../common");
32
33
  const utilities_1 = require("../../utilities");
33
34
  const common_2 = require("./common");
35
+ const security_1 = require("@loopback/security");
34
36
  // --------------------------------------------------------------------------------------------------------------
35
37
  const defineRelationViewController = (opts) => {
36
- const { baseClass, relationType, relationName, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = '', schema } = opts;
37
- const restPath = `/{id}/${endPoint ? endPoint : relationName}`;
38
+ const { baseClass, entities, relation, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = '', schema, } = opts;
39
+ const restPath = `/{id}/${endPoint ? endPoint : relation.name}`;
38
40
  const BaseClass = baseClass !== null && baseClass !== void 0 ? baseClass : common_2.BaseController;
39
41
  class ViewController extends BaseClass {
40
- constructor(sourceRepository, targetRepository) {
41
- super({ scope: `ViewController.${relationName}` });
42
- this.relation = {
43
- name: relationName,
44
- type: relationType,
45
- };
42
+ constructor(sourceRepository, targetRepository, getCurrentUser) {
43
+ super({ scope: `ViewController.${relation.name}` });
46
44
  this.defaultLimit = defaultLimit;
47
45
  if (!sourceRepository) {
48
46
  throw (0, utilities_1.getError)({
@@ -58,22 +56,61 @@ const defineRelationViewController = (opts) => {
58
56
  });
59
57
  }
60
58
  this.targetRepository = targetRepository;
59
+ if (getCurrentUser && typeof getCurrentUser !== 'function') {
60
+ throw (0, utilities_1.getError)({
61
+ statusCode: 500,
62
+ message: '[defineRelationViewController] Invalid getCurrentUser type | Please check again the 3rd parameter in constructor!',
63
+ });
64
+ }
65
+ this.getCurrentUser = getCurrentUser;
66
+ }
67
+ // -----------------------------------------------------------------------------------------------
68
+ _getBelongsToRepository(sourceId) {
69
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(sourceId);
70
+ return ref;
71
+ }
72
+ _getHasOneRepository(sourceId) {
73
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(sourceId);
74
+ return ref;
75
+ }
76
+ _getHasManyRepository(sourceId) {
77
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(sourceId);
78
+ return ref;
79
+ }
80
+ _getHasManyThroughRepository(sourceId) {
81
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(sourceId);
82
+ return ref;
83
+ }
84
+ // ----------------------------------------------------------------------------------------------------------
85
+ _getContextUser() {
86
+ return new Promise((resolve, reject) => {
87
+ if (!this.getCurrentUser) {
88
+ resolve(null);
89
+ return;
90
+ }
91
+ if (typeof this.getCurrentUser !== 'function') {
92
+ throw (0, utilities_1.getError)({
93
+ statusCode: 500,
94
+ message: '[defineRelationViewController][_getContextUser] Invalid getCurrentUser type | Please check again the 3rd parameter in constructor!',
95
+ });
96
+ }
97
+ this.getCurrentUser().then(resolve).catch(reject);
98
+ });
61
99
  }
62
100
  // -----------------------------------------------------------------------------------------------
63
101
  find(id, filter) {
64
- const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
65
- switch (relationType) {
102
+ switch (relation.type) {
66
103
  case common_1.EntityRelations.BELONGS_TO: {
67
- return ref;
104
+ return this._getBelongsToRepository(id).get();
68
105
  }
69
106
  case common_1.EntityRelations.HAS_ONE: {
70
- return ref.get((0, common_2.applyLimit)(filter));
107
+ return this._getHasOneRepository(id).get((0, common_2.applyLimit)(filter));
71
108
  }
72
109
  case common_1.EntityRelations.HAS_MANY: {
73
- return ref.find((0, common_2.applyLimit)(filter));
110
+ return this._getHasManyRepository(id).find((0, common_2.applyLimit)(filter));
74
111
  }
75
112
  case common_1.EntityRelations.HAS_MANY_THROUGH: {
76
- return ref.find((0, common_2.applyLimit)(filter));
113
+ return this._getHasManyThroughRepository(id).find((0, common_2.applyLimit)(filter));
77
114
  }
78
115
  default: {
79
116
  return Promise.resolve([]);
@@ -82,51 +119,80 @@ const defineRelationViewController = (opts) => {
82
119
  }
83
120
  // -----------------------------------------------------------------------------------------------
84
121
  count(id, where) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
87
- switch (relationType) {
88
- case common_1.EntityRelations.BELONGS_TO: {
89
- return ref;
90
- }
91
- case common_1.EntityRelations.HAS_ONE: {
92
- return ref
93
- .get({ where })
94
- .then(() => Promise.resolve({ count: 1 }))
95
- .catch(() => Promise.resolve({ count: 0 }));
96
- }
97
- case common_1.EntityRelations.HAS_MANY: {
98
- const targetConstraint = ref.constraint;
99
- const targetRepository = yield ref.getTargetRepository();
100
- return targetRepository.count(Object.assign(Object.assign({}, where), targetConstraint));
101
- }
102
- case common_1.EntityRelations.HAS_MANY_THROUGH: {
103
- const throughConstraint = yield ref.getThroughConstraintFromSource();
104
- const throughRepository = yield ref.getThroughRepository();
105
- const thoughInstances = yield throughRepository.find({
106
- where: Object.assign({}, throughConstraint),
122
+ switch (relation.type) {
123
+ case common_1.EntityRelations.BELONGS_TO: {
124
+ return new Promise(resolve => {
125
+ this._getBelongsToRepository(id)
126
+ .get()
127
+ .then(rs => {
128
+ if (!rs) {
129
+ resolve({ count: 0 });
130
+ return;
131
+ }
132
+ resolve({ count: 1 });
133
+ })
134
+ .catch(() => {
135
+ resolve({ count: 0 });
107
136
  });
108
- const targetConstraint = yield ref.getTargetConstraintFromThroughModels(thoughInstances);
109
- const targetModelName = yield ref.targetResolver().name;
110
- const targetRepositoryGetter = (0, get_1.default)(ref.getTargetRepository, targetModelName);
111
- const targetRepository = yield targetRepositoryGetter();
112
- return targetRepository.count(Object.assign(Object.assign({}, where), targetConstraint));
113
- }
114
- default: {
115
- return { count: 0 };
116
- }
137
+ });
117
138
  }
118
- });
139
+ case common_1.EntityRelations.HAS_ONE: {
140
+ return new Promise(resolve => {
141
+ this._getHasOneRepository(id)
142
+ .get()
143
+ .then(rs => {
144
+ if (!rs) {
145
+ resolve({ count: 0 });
146
+ return;
147
+ }
148
+ resolve({ count: 1 });
149
+ })
150
+ .catch(() => {
151
+ resolve({ count: 0 });
152
+ });
153
+ });
154
+ }
155
+ case common_1.EntityRelations.HAS_MANY: {
156
+ const relationRepository = this._getHasManyRepository(id);
157
+ const targetConstraint = relationRepository.constraint;
158
+ const isPrincipalEntity = this.targetRepository.modelClass.definition.properties['principalType'] !== null;
159
+ const countCondition = Object.assign(Object.assign(Object.assign({}, where), targetConstraint), { principalType: isPrincipalEntity ? entities.source : undefined });
160
+ return this.targetRepository.count(countCondition);
161
+ }
162
+ case common_1.EntityRelations.HAS_MANY_THROUGH: {
163
+ return new Promise((resolve, reject) => {
164
+ const relationRepository = this._getHasManyThroughRepository(id);
165
+ const throughConstraint = relationRepository.getThroughConstraintFromSource();
166
+ relationRepository
167
+ .getThroughRepository()
168
+ .then(throughRepository => {
169
+ throughRepository
170
+ .find({
171
+ where: Object.assign({}, throughConstraint),
172
+ })
173
+ .then(throughInstances => {
174
+ const targetConstraint = relationRepository.getTargetConstraintFromThroughModels(throughInstances);
175
+ const condition = Object.assign(Object.assign({}, where), targetConstraint);
176
+ resolve(this.targetRepository.count(condition));
177
+ })
178
+ .catch(reject);
179
+ })
180
+ .catch(reject);
181
+ });
182
+ }
183
+ default: {
184
+ return { count: 0 };
185
+ }
186
+ }
119
187
  }
120
188
  }
121
189
  __decorate([
122
190
  (0, rest_1.get)(restPath, {
123
191
  responses: {
124
192
  '200': {
125
- description: `Array of target model in relation ${relationName}`,
193
+ description: `Array of target model in relation ${relation.name}`,
126
194
  content: {
127
- 'application/json': {
128
- schema,
129
- },
195
+ 'application/json': { schema },
130
196
  },
131
197
  },
132
198
  },
@@ -153,34 +219,19 @@ const defineRelationViewController = (opts) => {
153
219
  __param(1, rest_1.param.query.object('where')),
154
220
  __metadata("design:type", Function),
155
221
  __metadata("design:paramtypes", [Object, Object]),
156
- __metadata("design:returntype", Promise)
222
+ __metadata("design:returntype", void 0)
157
223
  ], ViewController.prototype, "count", null);
158
224
  return ViewController;
159
225
  };
160
226
  exports.defineRelationViewController = defineRelationViewController;
161
227
  // --------------------------------------------------------------------------------------------------------------
162
228
  const defineAssociateController = (opts) => {
163
- const { baseClass, relationName, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = '', schema } = opts;
164
- const restPath = `/{id}/${endPoint ? endPoint : relationName}`;
165
- const BaseClass = baseClass !== null && baseClass !== void 0 ? baseClass : common_2.BaseController;
166
- class AssociationController extends BaseClass {
167
- constructor(sourceRepository, targetRepository) {
168
- super(sourceRepository, targetRepository);
229
+ const { baseClass, relation, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = '', schema, } = opts;
230
+ const restPath = `/{id}/${endPoint ? endPoint : relation.name}`;
231
+ class AssociationController extends baseClass {
232
+ constructor(sourceRepository, targetRepository, getCurrentUser) {
233
+ super(sourceRepository, targetRepository, getCurrentUser);
169
234
  this.defaultLimit = defaultLimit;
170
- if (!sourceRepository) {
171
- throw (0, utilities_1.getError)({
172
- statusCode: 500,
173
- message: '[defineAssociateController] Invalid source repository!',
174
- });
175
- }
176
- this.sourceRepository = sourceRepository;
177
- if (!targetRepository) {
178
- throw (0, utilities_1.getError)({
179
- statusCode: 500,
180
- message: '[defineAssociateController] Invalid target repository!',
181
- });
182
- }
183
- this.targetRepository = targetRepository;
184
235
  }
185
236
  // -----------------------------------------------------------------------------------------------
186
237
  link(id, linkId) {
@@ -199,14 +250,14 @@ const defineAssociateController = (opts) => {
199
250
  message: 'Invalid association (target model is not existed)',
200
251
  });
201
252
  }
202
- const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
253
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(id);
203
254
  return ref.link(linkId);
204
255
  });
205
256
  }
206
257
  // -----------------------------------------------------------------------------------------------
207
258
  unlink(id, linkId) {
208
259
  return __awaiter(this, void 0, void 0, function* () {
209
- const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
260
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(id);
210
261
  return ref.unlink(linkId);
211
262
  });
212
263
  }
@@ -215,7 +266,7 @@ const defineAssociateController = (opts) => {
215
266
  (0, rest_1.post)(`${restPath}/{link_id}`, {
216
267
  responses: {
217
268
  '200': {
218
- description: `Create association between source and target for ${relationName} relation`,
269
+ description: `Create association between source and target for ${relation.name} relation`,
219
270
  content: {
220
271
  'application/json': {
221
272
  schema,
@@ -234,7 +285,7 @@ const defineAssociateController = (opts) => {
234
285
  (0, rest_1.del)(`${restPath}/{link_id}`, {
235
286
  responses: {
236
287
  '200': {
237
- description: `Remove association between source and target for ${relationName} relation`,
288
+ description: `Remove association between source and target for ${relation.name} relation`,
238
289
  content: { 'application/json': {} },
239
290
  },
240
291
  },
@@ -250,78 +301,94 @@ const defineAssociateController = (opts) => {
250
301
  exports.defineAssociateController = defineAssociateController;
251
302
  // --------------------------------------------------------------------------------------------------------------
252
303
  const defineRelationCrudController = (controllerOptions) => {
304
+ var _a, _b;
253
305
  const { association, schema, options = {
254
306
  useControlTarget: false,
255
307
  defaultLimit: common_1.App.DEFAULT_QUERY_LIMIT,
256
308
  endPoint: '',
257
309
  }, } = controllerOptions;
258
- const { relationName, relationType } = association;
310
+ const { entities, repositories, relation } = association;
259
311
  const { target } = schema;
260
- if (!common_1.EntityRelations.isValid(relationType)) {
312
+ if (!common_1.EntityRelations.isValid(relation.type)) {
261
313
  throw (0, utilities_1.getError)({
262
314
  statusCode: 500,
263
315
  message: `[defineRelationCrudController] Invalid relationType! Valids: ${[...common_1.EntityRelations.TYPE_SET]}`,
264
316
  });
265
317
  }
266
318
  const { target: targetSchema } = schema;
267
- const { useControlTarget = true, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = '' } = options;
268
- const restPath = `{id}/${endPoint ? endPoint : relationName}`;
319
+ const { useControlTarget = true, defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT, endPoint = relation.name, } = options;
320
+ const restPath = `{id}/${endPoint}`;
269
321
  const ViewController = (0, exports.defineRelationViewController)({
270
322
  baseClass: common_2.BaseController,
271
- relationType,
272
- relationName,
323
+ entities,
324
+ relation,
273
325
  defaultLimit,
274
326
  endPoint,
275
327
  schema: target,
276
328
  });
277
329
  const AssociationController = (0, exports.defineAssociateController)({
278
330
  baseClass: ViewController,
279
- relationName,
331
+ relation,
280
332
  defaultLimit,
281
333
  endPoint,
282
334
  schema: target,
283
335
  });
284
336
  // -----------------------------------------------------------------------------------------------
285
- const ExtendsableClass = relationType === common_1.EntityRelations.HAS_MANY_THROUGH ? AssociationController : ViewController;
337
+ const ExtendsableClass = relation.type === common_1.EntityRelations.HAS_MANY_THROUGH ? AssociationController : ViewController;
286
338
  if (!useControlTarget) {
287
339
  return ExtendsableClass;
288
340
  }
289
341
  // -----------------------------------------------------------------------------------------------
290
342
  class Controller extends ExtendsableClass {
291
- constructor(sourceRepository, targetRepository) {
292
- if (!sourceRepository) {
293
- throw (0, utilities_1.getError)({
294
- statusCode: 500,
295
- message: '[defineRelationCrudController] Invalid source repository!',
296
- });
297
- }
298
- if (!targetRepository) {
299
- throw (0, utilities_1.getError)({
300
- statusCode: 500,
301
- message: '[defineRelationCrudController] Invalid target repository!',
302
- });
303
- }
304
- super(sourceRepository, targetRepository);
343
+ constructor(sourceRepository, targetRepository, getCurrentUser) {
344
+ super(sourceRepository, targetRepository, getCurrentUser);
305
345
  }
306
346
  // -----------------------------------------------------------------------------------------------
307
347
  create(id, mapping) {
308
- return __awaiter(this, void 0, void 0, function* () {
309
- const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
310
- return ref.create(mapping);
348
+ return new Promise((resolve, reject) => {
349
+ this._getContextUser()
350
+ .then((currentUser) => {
351
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(id);
352
+ ref
353
+ .create(mapping, {
354
+ authorId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
355
+ })
356
+ .then(resolve)
357
+ .catch(reject);
358
+ })
359
+ .catch(reject);
311
360
  });
312
361
  }
313
362
  // -----------------------------------------------------------------------------------------------
314
363
  patch(id, mapping, where) {
315
- return __awaiter(this, void 0, void 0, function* () {
316
- const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
317
- return ref.patch(mapping, where);
364
+ return new Promise((resolve, reject) => {
365
+ this._getContextUser()
366
+ .then((currentUser) => {
367
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(id);
368
+ ref
369
+ .patch(mapping, where, {
370
+ authorId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
371
+ })
372
+ .then(resolve)
373
+ .catch(reject);
374
+ })
375
+ .catch(reject);
318
376
  });
319
377
  }
320
378
  // -----------------------------------------------------------------------------------------------
321
379
  delete(id, where) {
322
- return __awaiter(this, void 0, void 0, function* () {
323
- const ref = (0, get_1.default)(this.sourceRepository, relationName)(id);
324
- return ref.delete(where);
380
+ return new Promise((resolve, reject) => {
381
+ this._getContextUser()
382
+ .then((currentUser) => {
383
+ const ref = (0, get_1.default)(this.sourceRepository, relation.name)(id);
384
+ ref
385
+ .delete(where, {
386
+ authorId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
387
+ })
388
+ .then(resolve)
389
+ .catch(reject);
390
+ })
391
+ .catch(reject);
325
392
  });
326
393
  }
327
394
  }
@@ -329,7 +396,7 @@ const defineRelationCrudController = (controllerOptions) => {
329
396
  (0, rest_1.post)(restPath, {
330
397
  responses: {
331
398
  '200': {
332
- description: `Create target model for ${relationName} relation`,
399
+ description: `Create target model for ${relation.name} relation`,
333
400
  content: {
334
401
  'application/json': {
335
402
  schema,
@@ -353,7 +420,7 @@ const defineRelationCrudController = (controllerOptions) => {
353
420
  (0, rest_1.patch)(restPath, {
354
421
  responses: {
355
422
  '200': {
356
- description: `Patch target model for ${relationName} relation`,
423
+ description: `Patch target model for ${relation.name} relation`,
357
424
  content: { 'application/json': { schema: repository_1.CountSchema } },
358
425
  },
359
426
  },
@@ -374,7 +441,7 @@ const defineRelationCrudController = (controllerOptions) => {
374
441
  (0, rest_1.del)(restPath, {
375
442
  responses: {
376
443
  '200': {
377
- description: `Delete target model for ${relationName} relation`,
444
+ description: `Delete target model for ${relation.name} relation`,
378
445
  content: { 'application/json': { schema: repository_1.CountSchema } },
379
446
  },
380
447
  },
@@ -385,6 +452,11 @@ const defineRelationCrudController = (controllerOptions) => {
385
452
  __metadata("design:paramtypes", [Number, Object]),
386
453
  __metadata("design:returntype", Promise)
387
454
  ], Controller.prototype, "delete", null);
455
+ (0, core_1.inject)(`repositories.${(_a = repositories === null || repositories === void 0 ? void 0 : repositories.source) !== null && _a !== void 0 ? _a : `${entities.source}Repository`}`)(Controller, undefined, 0);
456
+ (0, core_1.inject)(`repositories.${(_b = repositories === null || repositories === void 0 ? void 0 : repositories.target) !== null && _b !== void 0 ? _b : `${entities.target}Repository`}`)(Controller, undefined, 1);
457
+ if (options.doInjectCurrentUser) {
458
+ core_1.inject.getter(security_1.SecurityBindings.USER, { optional: true })(Controller, undefined, 2);
459
+ }
388
460
  return Controller;
389
461
  };
390
462
  exports.defineRelationCrudController = defineRelationCrudController;
@@ -1 +1 @@
1
- {"version":3,"file":"relational.controller.js","sourceRoot":"","sources":["../../../src/base/controllers/relational.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relational.controller.js","sourceRoot":"","sources":["../../../src/base/controllers/relational.controller.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Getter } from '@loopback/core';
2
2
  import { Count, Filter, FilterExcludingWhere, Where } from '@loopback/repository';
3
- import { SchemaRef } from '@loopback/rest';
3
+ import { SchemaRef, RequestContext } from '@loopback/rest';
4
4
  import { CrudRestControllerOptions } from '@loopback/rest-crud';
5
5
  import { EntityRelationType, ICrudService, IdType } from '../../common/types';
6
6
  import { IJWTTokenPayload } from '../../components/authenticate/common/types';
@@ -28,10 +28,13 @@ export interface IServiceCrudControllerOptions<E extends BaseIdEntity> {
28
28
  replaceById?: SchemaRef;
29
29
  deleteById?: SchemaRef;
30
30
  };
31
- doInjectCurrentUser?: boolean;
31
+ options?: {
32
+ doInjectCurrentUser?: boolean;
33
+ };
32
34
  }
33
35
  export declare const defineServiceCrudController: <E extends BaseTzEntity>(opts: IServiceCrudControllerOptions<E>) => {
34
- new (service: ICrudService<E>, getCurrentUser?: Getter<IJWTTokenPayload>): {
36
+ new (requestContext: RequestContext, service: ICrudService<E>, getCurrentUser?: Getter<IJWTTokenPayload>): {
37
+ requestContext: RequestContext;
35
38
  service: ICrudService<E>;
36
39
  getCurrentUser?: Getter<IJWTTokenPayload>;
37
40
  defaultLimit: number;