@steroidsjs/nest 4.2.1 → 4.3.0

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 (34) hide show
  1. package/infrastructure/applications/BaseApplication.js +2 -1
  2. package/infrastructure/applications/BaseApplication.js.map +1 -1
  3. package/infrastructure/applications/rest/RestApplication.d.ts +5 -0
  4. package/infrastructure/applications/rest/RestApplication.js +14 -6
  5. package/infrastructure/applications/rest/RestApplication.js.map +1 -1
  6. package/infrastructure/commands/MigrateCommand.d.ts +0 -1
  7. package/infrastructure/commands/MigrateCommand.js +0 -34
  8. package/infrastructure/commands/MigrateCommand.js.map +1 -1
  9. package/infrastructure/commands/generate/index.d.ts +6 -6
  10. package/infrastructure/commands/generate/index.js +7 -39
  11. package/infrastructure/commands/generate/index.js.map +1 -1
  12. package/infrastructure/filters/UserExceptionFilter.d.ts +1 -0
  13. package/infrastructure/filters/UserExceptionFilter.js +1 -0
  14. package/infrastructure/filters/UserExceptionFilter.js.map +1 -1
  15. package/package.json +2 -1
  16. package/tsconfig.tsbuildinfo +1 -1
  17. package/usecases/base/SearchQuery.js +8 -17
  18. package/usecases/base/SearchQuery.js.map +1 -1
  19. package/usecases/exceptions/UserException.d.ts +1 -0
  20. package/usecases/exceptions/UserException.js +1 -0
  21. package/usecases/exceptions/UserException.js.map +1 -1
  22. package/usecases/helpers/DataMapper.js +9 -6
  23. package/usecases/helpers/DataMapper.js.map +1 -1
  24. package/usecases/helpers/getMetaRelationsFromObject.d.ts +2 -0
  25. package/usecases/helpers/getMetaRelationsFromObject.js +52 -0
  26. package/usecases/helpers/getMetaRelationsFromObject.js.map +1 -0
  27. package/usecases/helpers/getMetaRelationsFromObject.test.d.ts +1 -0
  28. package/usecases/helpers/getMetaRelationsFromObject.test.js +327 -0
  29. package/usecases/helpers/getMetaRelationsFromObject.test.js.map +1 -0
  30. package/usecases/services/CrudService.js +5 -1
  31. package/usecases/services/CrudService.js.map +1 -1
  32. package/infrastructure/utils/getNewPermissions.d.ts +0 -2
  33. package/infrastructure/utils/getNewPermissions.js +0 -18
  34. package/infrastructure/utils/getNewPermissions.js.map +0 -1
@@ -2,9 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_ALIAS = void 0;
4
4
  const lodash_1 = require("lodash");
5
+ const crypto_1 = require("crypto");
5
6
  const SchemaSelect_1 = require("../../infrastructure/decorators/schema/SchemaSelect");
6
7
  const BaseField_1 = require("../../infrastructure/decorators/fields/BaseField");
7
8
  exports.DEFAULT_ALIAS = 'model';
9
+ const ALIAS_HASH_LENGTH = 16;
8
10
  class SearchQuery {
9
11
  constructor(config) {
10
12
  this._useShortAliases = config === null || config === void 0 ? void 0 : config.useShortAliases;
@@ -36,23 +38,12 @@ class SearchQuery {
36
38
  if (!isShort) {
37
39
  return relationsArray.join('_');
38
40
  }
39
- else {
40
- // first letter + the uppercase letters + relation index in path + relation length
41
- // model.firstRelation.secondRelation -> m0_fr113_sr214
42
- return relationsArray.map((relation, index) => {
43
- // root alias shouldn't change
44
- if (index === 0) {
45
- return relation;
46
- }
47
- return relation[0]
48
- + relation.split('')
49
- .filter(letter => /\w/.test(letter) && letter === letter.toUpperCase())
50
- .map(letter => letter.toLowerCase())
51
- .join('')
52
- + String(index)
53
- + relation.length;
54
- }).join('_');
55
- }
41
+ return relationsArray.length === 1
42
+ ? relationsArray[0]
43
+ : (0, crypto_1.createHash)('sha256')
44
+ .update(relationPath)
45
+ .digest('hex')
46
+ .slice(0, ALIAS_HASH_LENGTH);
56
47
  }
57
48
  select(value) {
58
49
  this._select = [].concat(value || []);
@@ -1 +1 @@
1
- {"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../../src/usecases/base/SearchQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../../src/usecases/base/SearchQuery.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /** @deprecated */
1
2
  export declare class UserException {
2
3
  message: any;
3
4
  constructor(message: string);
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserException = void 0;
4
+ /** @deprecated */
4
5
  class UserException {
5
6
  constructor(message) {
6
7
  this.message = message;
@@ -1 +1 @@
1
- {"version":3,"file":"UserException.js","sourceRoot":"","sources":["../../../src/usecases/exceptions/UserException.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAGtB,YAAY,OAAe;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAND,sCAMC"}
1
+ {"version":3,"file":"UserException.js","sourceRoot":"","sources":["../../../src/usecases/exceptions/UserException.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AAClB,MAAa,aAAa;IAGtB,YAAY,OAAe;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAND,sCAMC"}
@@ -59,20 +59,23 @@ class DataMapper {
59
59
  return;
60
60
  }
61
61
  if ((0, lodash_1.has)(values, sourceName)) {
62
+ const value = (options === null || options === void 0 ? void 0 : options.isArray) && values[sourceName] != null && !Array.isArray(values[sourceName])
63
+ ? [values[sourceName]]
64
+ : values[sourceName];
62
65
  if ((options === null || options === void 0 ? void 0 : options.appType) === 'relation') {
63
- if (options.isArray && Array.isArray(values[sourceName])) {
64
- object[name] = values[sourceName]
66
+ if (options.isArray && Array.isArray(value)) {
67
+ object[name] = value
65
68
  .map(item => DataMapper.create(options.relationClass(), item, transformType));
66
69
  }
67
- else if ((0, lodash_2.isObject)(values[sourceName])) {
68
- object[name] = DataMapper.create(options.relationClass(), values[sourceName], transformType);
70
+ else if ((0, lodash_2.isObject)(value)) {
71
+ object[name] = DataMapper.create(options.relationClass(), value, transformType);
69
72
  }
70
73
  else {
71
- object[name] = values[sourceName];
74
+ object[name] = value;
72
75
  }
73
76
  }
74
77
  else {
75
- object[name] = values[sourceName];
78
+ object[name] = value;
76
79
  }
77
80
  }
78
81
  for (let type of transformTypes) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataMapper.js","sourceRoot":"","sources":["../../../src/usecases/helpers/DataMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataMapper.js","sourceRoot":"","sources":["../../../src/usecases/helpers/DataMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { IType } from '../interfaces/IType';
2
+ export declare const getMetaRelationsFromObject: (obj: Record<string, any>, ModelClass: IType) => string[];
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMetaRelationsFromObject = void 0;
4
+ const BaseField_1 = require("../../infrastructure/decorators/fields/BaseField");
5
+ const joinRelationPath = (parentPath, fieldName) => parentPath
6
+ ? `${parentPath}.${fieldName}`
7
+ : fieldName;
8
+ const isRecursiveRelationValue = (value) => (typeof value === 'object'
9
+ && value !== null
10
+ && !Array.isArray(value));
11
+ const getNestedRelationValues = (value) => {
12
+ if (Array.isArray(value)) {
13
+ return value.filter(isRecursiveRelationValue);
14
+ }
15
+ return isRecursiveRelationValue(value)
16
+ ? [value]
17
+ : [];
18
+ };
19
+ const getMetaRelationsFromObject = (obj, ModelClass) => {
20
+ const relationNames = new Set();
21
+ const collectRelationNames = (currentObject, RelationMetaClass, parentPath = '') => {
22
+ Object.entries(currentObject).forEach(([fieldName, value]) => {
23
+ const options = (0, BaseField_1.getFieldOptions)(RelationMetaClass, fieldName);
24
+ if (!options) {
25
+ return;
26
+ }
27
+ if (options.appType === 'relationId' && options.relationName) {
28
+ relationNames.add(joinRelationPath(parentPath, fieldName));
29
+ return;
30
+ }
31
+ if (options.appType !== 'relation') {
32
+ return;
33
+ }
34
+ const relationPath = joinRelationPath(parentPath, fieldName);
35
+ relationNames.add(relationPath);
36
+ if (!options.relationClass) {
37
+ return;
38
+ }
39
+ const NestedMetaClass = options.relationClass();
40
+ if (!(0, BaseField_1.isMetaClass)(NestedMetaClass)) {
41
+ return;
42
+ }
43
+ getNestedRelationValues(value).forEach(nestedValue => {
44
+ collectRelationNames(nestedValue, NestedMetaClass, relationPath);
45
+ });
46
+ });
47
+ };
48
+ collectRelationNames(obj, ModelClass);
49
+ return Array.from(relationNames);
50
+ };
51
+ exports.getMetaRelationsFromObject = getMetaRelationsFromObject;
52
+ //# sourceMappingURL=getMetaRelationsFromObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMetaRelationsFromObject.js","sourceRoot":"","sources":["../../../src/usecases/helpers/getMetaRelationsFromObject.ts"],"names":[],"mappings":";;;AAAA,gFAA8F;AAG9F,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,SAAiB,EAAU,EAAE,CAAC,UAAU;IAClF,CAAC,CAAC,GAAG,UAAU,IAAI,SAAS,EAAE;IAC9B,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAgC,EAAE,CAAC,CAC/E,OAAO,KAAK,KAAK,QAAQ;OACtB,KAAK,KAAK,IAAI;OACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC3B,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,KAAc,EAAyB,EAAE;IACtE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;KACjD;IAED,OAAO,wBAAwB,CAAC,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC,KAAK,CAAC;QACT,CAAC,CAAC,EAAE,CAAC;AACb,CAAC,CAAC;AAEK,MAAM,0BAA0B,GAAG,CAAC,GAAwB,EAAE,UAAiB,EAAE,EAAE;IACtF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,MAAM,oBAAoB,GAAG,CACzB,aAAkC,EAClC,iBAAwB,EACxB,UAAU,GAAG,EAAE,EACjB,EAAE;QACA,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE;YACzD,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAE9D,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO;aACV;YAED,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE;gBAC1D,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3D,OAAO;aACV;YAED,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE;gBAChC,OAAO;aACV;YAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC7D,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEhC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;gBACxB,OAAO;aACV;YAED,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAChD,IAAI,CAAC,IAAA,uBAAW,EAAC,eAAe,CAAC,EAAE;gBAC/B,OAAO;aACV;YAED,uBAAuB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACjD,oBAAoB,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAEtC,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACrC,CAAC,CAAC;AA7CW,QAAA,0BAA0B,8BA6CrC"}
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const globals_1 = require("@jest/globals");
13
+ const fields_1 = require("../../infrastructure/decorators/fields");
14
+ const fields_2 = require("../../infrastructure/decorators/fields");
15
+ const fields_3 = require("../../infrastructure/decorators/fields");
16
+ const fields_4 = require("../../infrastructure/decorators/fields");
17
+ const getMetaRelationsFromObject_1 = require("./getMetaRelationsFromObject");
18
+ class FileSchema {
19
+ }
20
+ __decorate([
21
+ (0, fields_1.PrimaryKeyField)(),
22
+ __metadata("design:type", Number)
23
+ ], FileSchema.prototype, "id", void 0);
24
+ __decorate([
25
+ (0, fields_4.StringField)(),
26
+ __metadata("design:type", String)
27
+ ], FileSchema.prototype, "name", void 0);
28
+ class CompanySchema {
29
+ }
30
+ __decorate([
31
+ (0, fields_1.PrimaryKeyField)(),
32
+ __metadata("design:type", Number)
33
+ ], CompanySchema.prototype, "id", void 0);
34
+ __decorate([
35
+ (0, fields_4.StringField)(),
36
+ __metadata("design:type", String)
37
+ ], CompanySchema.prototype, "title", void 0);
38
+ class UserProfileSchema {
39
+ }
40
+ __decorate([
41
+ (0, fields_1.PrimaryKeyField)(),
42
+ __metadata("design:type", Number)
43
+ ], UserProfileSchema.prototype, "id", void 0);
44
+ __decorate([
45
+ (0, fields_3.RelationIdField)({ relationName: 'avatar' }),
46
+ __metadata("design:type", Number)
47
+ ], UserProfileSchema.prototype, "avatarId", void 0);
48
+ __decorate([
49
+ (0, fields_2.RelationField)({
50
+ type: 'OneToOne',
51
+ isOwningSide: true,
52
+ relationClass: () => FileSchema,
53
+ }),
54
+ __metadata("design:type", FileSchema)
55
+ ], UserProfileSchema.prototype, "avatar", void 0);
56
+ class UserSchema {
57
+ }
58
+ __decorate([
59
+ (0, fields_1.PrimaryKeyField)(),
60
+ __metadata("design:type", Number)
61
+ ], UserSchema.prototype, "id", void 0);
62
+ __decorate([
63
+ (0, fields_3.RelationIdField)({ relationName: 'company' }),
64
+ __metadata("design:type", Number)
65
+ ], UserSchema.prototype, "companyId", void 0);
66
+ __decorate([
67
+ (0, fields_2.RelationField)({
68
+ type: 'ManyToOne',
69
+ relationClass: () => CompanySchema,
70
+ }),
71
+ __metadata("design:type", CompanySchema)
72
+ ], UserSchema.prototype, "company", void 0);
73
+ __decorate([
74
+ (0, fields_2.RelationField)({
75
+ type: 'OneToOne',
76
+ isOwningSide: true,
77
+ relationClass: () => UserProfileSchema,
78
+ }),
79
+ __metadata("design:type", UserProfileSchema)
80
+ ], UserSchema.prototype, "profile", void 0);
81
+ __decorate([
82
+ (0, fields_4.StringField)(),
83
+ __metadata("design:type", String)
84
+ ], UserSchema.prototype, "name", void 0);
85
+ class CommentSchema {
86
+ }
87
+ __decorate([
88
+ (0, fields_1.PrimaryKeyField)(),
89
+ __metadata("design:type", Number)
90
+ ], CommentSchema.prototype, "id", void 0);
91
+ __decorate([
92
+ (0, fields_3.RelationIdField)({ relationName: 'author' }),
93
+ __metadata("design:type", Number)
94
+ ], CommentSchema.prototype, "authorId", void 0);
95
+ __decorate([
96
+ (0, fields_2.RelationField)({
97
+ type: 'ManyToOne',
98
+ relationClass: () => UserSchema,
99
+ }),
100
+ __metadata("design:type", UserSchema)
101
+ ], CommentSchema.prototype, "author", void 0);
102
+ __decorate([
103
+ (0, fields_4.StringField)(),
104
+ __metadata("design:type", String)
105
+ ], CommentSchema.prototype, "text", void 0);
106
+ class TaskSchema {
107
+ }
108
+ __decorate([
109
+ (0, fields_1.PrimaryKeyField)(),
110
+ __metadata("design:type", Number)
111
+ ], TaskSchema.prototype, "id", void 0);
112
+ __decorate([
113
+ (0, fields_4.StringField)(),
114
+ __metadata("design:type", String)
115
+ ], TaskSchema.prototype, "title", void 0);
116
+ class TagSchema {
117
+ }
118
+ __decorate([
119
+ (0, fields_1.PrimaryKeyField)(),
120
+ __metadata("design:type", Number)
121
+ ], TagSchema.prototype, "id", void 0);
122
+ __decorate([
123
+ (0, fields_3.RelationIdField)({ relationName: 'creator' }),
124
+ __metadata("design:type", Number)
125
+ ], TagSchema.prototype, "creatorId", void 0);
126
+ __decorate([
127
+ (0, fields_2.RelationField)({
128
+ type: 'ManyToOne',
129
+ relationClass: () => UserSchema,
130
+ }),
131
+ __metadata("design:type", UserSchema)
132
+ ], TagSchema.prototype, "creator", void 0);
133
+ __decorate([
134
+ (0, fields_4.StringField)(),
135
+ __metadata("design:type", String)
136
+ ], TagSchema.prototype, "name", void 0);
137
+ class PostMetaSchema {
138
+ }
139
+ __decorate([
140
+ (0, fields_1.PrimaryKeyField)(),
141
+ __metadata("design:type", Number)
142
+ ], PostMetaSchema.prototype, "id", void 0);
143
+ __decorate([
144
+ (0, fields_3.RelationIdField)({ relationName: 'previewImage' }),
145
+ __metadata("design:type", Number)
146
+ ], PostMetaSchema.prototype, "previewImageId", void 0);
147
+ __decorate([
148
+ (0, fields_2.RelationField)({
149
+ type: 'OneToOne',
150
+ isOwningSide: true,
151
+ relationClass: () => FileSchema,
152
+ }),
153
+ __metadata("design:type", FileSchema)
154
+ ], PostMetaSchema.prototype, "previewImage", void 0);
155
+ class PostSchema {
156
+ }
157
+ __decorate([
158
+ (0, fields_1.PrimaryKeyField)(),
159
+ __metadata("design:type", Number)
160
+ ], PostSchema.prototype, "id", void 0);
161
+ __decorate([
162
+ (0, fields_3.RelationIdField)({ relationName: 'author' }),
163
+ __metadata("design:type", Number)
164
+ ], PostSchema.prototype, "authorId", void 0);
165
+ __decorate([
166
+ (0, fields_2.RelationField)({
167
+ type: 'ManyToOne',
168
+ relationClass: () => UserSchema,
169
+ }),
170
+ __metadata("design:type", UserSchema)
171
+ ], PostSchema.prototype, "author", void 0);
172
+ __decorate([
173
+ (0, fields_2.RelationField)({
174
+ type: 'OneToOne',
175
+ isOwningSide: true,
176
+ relationClass: () => PostMetaSchema,
177
+ }),
178
+ __metadata("design:type", PostMetaSchema)
179
+ ], PostSchema.prototype, "meta", void 0);
180
+ __decorate([
181
+ (0, fields_2.RelationField)({
182
+ type: 'OneToMany',
183
+ relationClass: () => CommentSchema,
184
+ inverseSide: 'post',
185
+ }),
186
+ __metadata("design:type", Array)
187
+ ], PostSchema.prototype, "comments", void 0);
188
+ __decorate([
189
+ (0, fields_3.RelationIdField)({
190
+ relationName: 'tasks',
191
+ isArray: true,
192
+ }),
193
+ __metadata("design:type", Array)
194
+ ], PostSchema.prototype, "tasksIds", void 0);
195
+ __decorate([
196
+ (0, fields_2.RelationField)({
197
+ type: 'ManyToMany',
198
+ isOwningSide: true,
199
+ relationClass: () => TaskSchema,
200
+ }),
201
+ __metadata("design:type", Array)
202
+ ], PostSchema.prototype, "tasks", void 0);
203
+ __decorate([
204
+ (0, fields_2.RelationField)({
205
+ type: 'ManyToMany',
206
+ isOwningSide: true,
207
+ relationClass: () => TagSchema,
208
+ }),
209
+ __metadata("design:type", Array)
210
+ ], PostSchema.prototype, "tags", void 0);
211
+ __decorate([
212
+ (0, fields_4.StringField)(),
213
+ __metadata("design:type", String)
214
+ ], PostSchema.prototype, "title", void 0);
215
+ (0, globals_1.describe)('getMetaRelationsFromObject', () => {
216
+ (0, globals_1.it)('collects ManyToOne relationId field without loading relation object', () => {
217
+ (0, globals_1.expect)((0, getMetaRelationsFromObject_1.getMetaRelationsFromObject)({
218
+ authorId: 10,
219
+ }, PostSchema)).toEqual([
220
+ 'authorId',
221
+ ]);
222
+ });
223
+ (0, globals_1.it)('collects nested OneToOne relations with deeper relationId links', () => {
224
+ (0, globals_1.expect)((0, getMetaRelationsFromObject_1.getMetaRelationsFromObject)({
225
+ meta: {
226
+ previewImageId: 15,
227
+ },
228
+ }, PostSchema)).toEqual([
229
+ 'meta',
230
+ 'meta.previewImageId',
231
+ ]);
232
+ });
233
+ (0, globals_1.it)('collects nested relations from OneToMany arrays', () => {
234
+ (0, globals_1.expect)((0, getMetaRelationsFromObject_1.getMetaRelationsFromObject)({
235
+ comments: [
236
+ {
237
+ authorId: 3,
238
+ },
239
+ {
240
+ author: {
241
+ profile: {
242
+ avatarId: 7,
243
+ },
244
+ },
245
+ },
246
+ ],
247
+ }, PostSchema)).toEqual([
248
+ 'comments',
249
+ 'comments.authorId',
250
+ 'comments.author',
251
+ 'comments.author.profile',
252
+ 'comments.author.profile.avatarId',
253
+ ]);
254
+ });
255
+ (0, globals_1.it)('collects nested relations from ManyToMany arrays', () => {
256
+ (0, globals_1.expect)((0, getMetaRelationsFromObject_1.getMetaRelationsFromObject)({
257
+ tags: [
258
+ {
259
+ creator: {
260
+ companyId: 22,
261
+ profile: {
262
+ avatarId: 11,
263
+ },
264
+ },
265
+ },
266
+ ],
267
+ }, PostSchema)).toEqual([
268
+ 'tags',
269
+ 'tags.creator',
270
+ 'tags.creator.companyId',
271
+ 'tags.creator.profile',
272
+ 'tags.creator.profile.avatarId',
273
+ ]);
274
+ });
275
+ (0, globals_1.it)('collects relationId arrays without loading the relation itself', () => {
276
+ (0, globals_1.expect)((0, getMetaRelationsFromObject_1.getMetaRelationsFromObject)({
277
+ tasksIds: [1, 2, 3],
278
+ }, PostSchema)).toEqual([
279
+ 'tasksIds',
280
+ ]);
281
+ });
282
+ (0, globals_1.it)('collects mixed relation types once and ignores non-relation objects', () => {
283
+ (0, globals_1.expect)((0, getMetaRelationsFromObject_1.getMetaRelationsFromObject)({
284
+ author: {
285
+ companyId: 5,
286
+ },
287
+ meta: {
288
+ previewImageId: 15,
289
+ },
290
+ comments: [
291
+ {
292
+ authorId: 3,
293
+ },
294
+ {
295
+ payload: {
296
+ ignore: true,
297
+ },
298
+ },
299
+ ],
300
+ tags: [
301
+ {
302
+ creator: {
303
+ companyId: 22,
304
+ },
305
+ },
306
+ {
307
+ creatorId: 999,
308
+ },
309
+ ],
310
+ extra: {
311
+ nested: true,
312
+ },
313
+ }, PostSchema)).toEqual([
314
+ 'author',
315
+ 'author.companyId',
316
+ 'meta',
317
+ 'meta.previewImageId',
318
+ 'comments',
319
+ 'comments.authorId',
320
+ 'tags',
321
+ 'tags.creator',
322
+ 'tags.creator.companyId',
323
+ 'tags.creatorId',
324
+ ]);
325
+ });
326
+ });
327
+ //# sourceMappingURL=getMetaRelationsFromObject.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMetaRelationsFromObject.test.js","sourceRoot":"","sources":["../../../src/usecases/helpers/getMetaRelationsFromObject.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const BaseField_1 = require("../../infrastructure/decorators/fields/BaseField");
8
8
  const RelationTypeEnum_1 = require("../../domain/enums/RelationTypeEnum");
9
9
  const exceptions_1 = require("../exceptions");
10
10
  const ReadService_1 = require("./ReadService");
11
+ const getMetaRelationsFromObject_1 = require("../helpers/getMetaRelationsFromObject");
11
12
  /**
12
13
  * Generic CRUD service
13
14
  */
@@ -48,8 +49,11 @@ class CrudService extends ReadService_1.ReadService {
48
49
  // Fetch previous model state
49
50
  let prevModel = null;
50
51
  if (id) {
52
+ const relationsNames = (0, BaseField_1.isMetaClass)(dto.constructor)
53
+ ? (0, BaseField_1.getMetaRelations)(dto.constructor)
54
+ : (0, getMetaRelationsFromObject_1.getMetaRelationsFromObject)(dto, this.modelClass);
51
55
  prevModel = await this.createQuery()
52
- .with((0, BaseField_1.getMetaRelations)(dto.constructor))
56
+ .with(relationsNames)
53
57
  .where({ [this.primaryKey]: id })
54
58
  .one();
55
59
  if (!prevModel) {
@@ -1 +1 @@
1
- {"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CrudService.js","sourceRoot":"","sources":["../../../src/usecases/services/CrudService.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { DataSource } from '@steroidsjs/typeorm';
2
- export declare const getNewPermissions: (dataSource: DataSource, tableName?: string, columnName?: string) => Promise<any[]>;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNewPermissions = void 0;
4
- const PermissionsFactory_1 = require("../helpers/PermissionsFactory");
5
- const getNewPermissions = async (dataSource, tableName = 'auth_permission', columnName = 'name') => {
6
- const allPermissions = PermissionsFactory_1.PermissionsFactory.getAllPermissionsKeys();
7
- if (allPermissions.length === 0) {
8
- return allPermissions;
9
- }
10
- const existingPermissions = new Set();
11
- const existingPermissionsRows = await dataSource.query(`SELECT ${columnName} FROM ${tableName}`);
12
- for (const row of existingPermissionsRows) {
13
- existingPermissions.add(row[columnName]);
14
- }
15
- return allPermissions.filter(permission => !existingPermissions.has(permission));
16
- };
17
- exports.getNewPermissions = getNewPermissions;
18
- //# sourceMappingURL=getNewPermissions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNewPermissions.js","sourceRoot":"","sources":["../../../src/infrastructure/utils/getNewPermissions.ts"],"names":[],"mappings":";;;AACA,sEAAiE;AAE1D,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAAsB,EAAE,SAAS,GAAG,iBAAiB,EAAE,UAAU,GAAG,MAAM,EAAE,EAAE;IAClH,MAAM,cAAc,GAAG,uCAAkB,CAAC,qBAAqB,EAAE,CAAC;IAElE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,cAAc,CAAC;KACzB;IAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,uBAAuB,GAAwC,MAAM,UAAU,CAAC,KAAK,CACvF,UAAU,UAAU,SAAS,SAAS,EAAE,CAC3C,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE;QACvC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;KAC5C;IAED,OAAO,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B"}