@spinajs/orm-api 2.0.102

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 (126) hide show
  1. package/README.md +11 -0
  2. package/lib/cjs/PlainJsonCollectionTransformer.d.ts +9 -0
  3. package/lib/cjs/PlainJsonCollectionTransformer.d.ts.map +1 -0
  4. package/lib/cjs/PlainJsonCollectionTransformer.js +30 -0
  5. package/lib/cjs/PlainJsonCollectionTransformer.js.map +1 -0
  6. package/lib/cjs/config/orm-http.d.ts +17 -0
  7. package/lib/cjs/config/orm-http.d.ts.map +1 -0
  8. package/lib/cjs/config/orm-http.js +23 -0
  9. package/lib/cjs/config/orm-http.js.map +1 -0
  10. package/lib/cjs/controllers/Collections.d.ts +33 -0
  11. package/lib/cjs/controllers/Collections.d.ts.map +1 -0
  12. package/lib/cjs/controllers/Collections.js +415 -0
  13. package/lib/cjs/controllers/Collections.js.map +1 -0
  14. package/lib/cjs/controllers/JsonApi.d.ts +1 -0
  15. package/lib/cjs/controllers/JsonApi.d.ts.map +1 -0
  16. package/lib/cjs/controllers/JsonApi.js +245 -0
  17. package/lib/cjs/controllers/JsonApi.js.map +1 -0
  18. package/lib/cjs/dto/QueryArgs.d.ts +9 -0
  19. package/lib/cjs/dto/QueryArgs.d.ts.map +1 -0
  20. package/lib/cjs/dto/QueryArgs.js +28 -0
  21. package/lib/cjs/dto/QueryArgs.js.map +1 -0
  22. package/lib/cjs/dto/QueryFilter.d.ts +5 -0
  23. package/lib/cjs/dto/QueryFilter.d.ts.map +1 -0
  24. package/lib/cjs/dto/QueryFilter.js +25 -0
  25. package/lib/cjs/dto/QueryFilter.js.map +1 -0
  26. package/lib/cjs/dto/QueryIncludes.d.ts +5 -0
  27. package/lib/cjs/dto/QueryIncludes.d.ts.map +1 -0
  28. package/lib/cjs/dto/QueryIncludes.js +25 -0
  29. package/lib/cjs/dto/QueryIncludes.js.map +1 -0
  30. package/lib/cjs/hydrators/QueryFilterHydrator.d.ts +5 -0
  31. package/lib/cjs/hydrators/QueryFilterHydrator.d.ts.map +1 -0
  32. package/lib/cjs/hydrators/QueryFilterHydrator.js +15 -0
  33. package/lib/cjs/hydrators/QueryFilterHydrator.js.map +1 -0
  34. package/lib/cjs/hydrators/QueryIncludesHydrator.d.ts +5 -0
  35. package/lib/cjs/hydrators/QueryIncludesHydrator.d.ts.map +1 -0
  36. package/lib/cjs/hydrators/QueryIncludesHydrator.js +21 -0
  37. package/lib/cjs/hydrators/QueryIncludesHydrator.js.map +1 -0
  38. package/lib/cjs/index.d.ts +29 -0
  39. package/lib/cjs/index.d.ts.map +1 -0
  40. package/lib/cjs/index.js +101 -0
  41. package/lib/cjs/index.js.map +1 -0
  42. package/lib/cjs/interfaces.d.ts +27 -0
  43. package/lib/cjs/interfaces.d.ts.map +1 -0
  44. package/lib/cjs/interfaces.js +32 -0
  45. package/lib/cjs/interfaces.js.map +1 -0
  46. package/lib/cjs/middleware.d.ts +22 -0
  47. package/lib/cjs/middleware.d.ts.map +1 -0
  48. package/lib/cjs/middleware.js +31 -0
  49. package/lib/cjs/middleware.js.map +1 -0
  50. package/lib/cjs/package.json +1 -0
  51. package/lib/cjs/policies/FindModelType.d.ts +8 -0
  52. package/lib/cjs/policies/FindModelType.d.ts.map +1 -0
  53. package/lib/cjs/policies/FindModelType.js +43 -0
  54. package/lib/cjs/policies/FindModelType.js.map +1 -0
  55. package/lib/cjs/route-args/ModelType.d.ts +13 -0
  56. package/lib/cjs/route-args/ModelType.d.ts.map +1 -0
  57. package/lib/cjs/route-args/ModelType.js +39 -0
  58. package/lib/cjs/route-args/ModelType.js.map +1 -0
  59. package/lib/cjs/schemas/QueryArgs.schema.d.ts +20 -0
  60. package/lib/cjs/schemas/QueryArgs.schema.d.ts.map +1 -0
  61. package/lib/cjs/schemas/QueryArgs.schema.js +13 -0
  62. package/lib/cjs/schemas/QueryArgs.schema.js.map +1 -0
  63. package/lib/mjs/PlainJsonCollectionTransformer.d.ts +9 -0
  64. package/lib/mjs/PlainJsonCollectionTransformer.d.ts.map +1 -0
  65. package/lib/mjs/PlainJsonCollectionTransformer.js +27 -0
  66. package/lib/mjs/PlainJsonCollectionTransformer.js.map +1 -0
  67. package/lib/mjs/config/orm-http.d.ts +17 -0
  68. package/lib/mjs/config/orm-http.d.ts.map +1 -0
  69. package/lib/mjs/config/orm-http.js +21 -0
  70. package/lib/mjs/config/orm-http.js.map +1 -0
  71. package/lib/mjs/controllers/Collections.d.ts +33 -0
  72. package/lib/mjs/controllers/Collections.d.ts.map +1 -0
  73. package/lib/mjs/controllers/Collections.js +412 -0
  74. package/lib/mjs/controllers/Collections.js.map +1 -0
  75. package/lib/mjs/controllers/JsonApi.d.ts +2 -0
  76. package/lib/mjs/controllers/JsonApi.d.ts.map +1 -0
  77. package/lib/mjs/controllers/JsonApi.js +246 -0
  78. package/lib/mjs/controllers/JsonApi.js.map +1 -0
  79. package/lib/mjs/dto/QueryArgs.d.ts +9 -0
  80. package/lib/mjs/dto/QueryArgs.d.ts.map +1 -0
  81. package/lib/mjs/dto/QueryArgs.js +22 -0
  82. package/lib/mjs/dto/QueryArgs.js.map +1 -0
  83. package/lib/mjs/dto/QueryFilter.d.ts +5 -0
  84. package/lib/mjs/dto/QueryFilter.d.ts.map +1 -0
  85. package/lib/mjs/dto/QueryFilter.js +22 -0
  86. package/lib/mjs/dto/QueryFilter.js.map +1 -0
  87. package/lib/mjs/dto/QueryIncludes.d.ts +5 -0
  88. package/lib/mjs/dto/QueryIncludes.d.ts.map +1 -0
  89. package/lib/mjs/dto/QueryIncludes.js +22 -0
  90. package/lib/mjs/dto/QueryIncludes.js.map +1 -0
  91. package/lib/mjs/hydrators/QueryFilterHydrator.d.ts +5 -0
  92. package/lib/mjs/hydrators/QueryFilterHydrator.d.ts.map +1 -0
  93. package/lib/mjs/hydrators/QueryFilterHydrator.js +11 -0
  94. package/lib/mjs/hydrators/QueryFilterHydrator.js.map +1 -0
  95. package/lib/mjs/hydrators/QueryIncludesHydrator.d.ts +5 -0
  96. package/lib/mjs/hydrators/QueryIncludesHydrator.d.ts.map +1 -0
  97. package/lib/mjs/hydrators/QueryIncludesHydrator.js +14 -0
  98. package/lib/mjs/hydrators/QueryIncludesHydrator.js.map +1 -0
  99. package/lib/mjs/index.d.ts +29 -0
  100. package/lib/mjs/index.d.ts.map +1 -0
  101. package/lib/mjs/index.js +95 -0
  102. package/lib/mjs/index.js.map +1 -0
  103. package/lib/mjs/interfaces.d.ts +27 -0
  104. package/lib/mjs/interfaces.d.ts.map +1 -0
  105. package/lib/mjs/interfaces.js +28 -0
  106. package/lib/mjs/interfaces.js.map +1 -0
  107. package/lib/mjs/middleware.d.ts +22 -0
  108. package/lib/mjs/middleware.d.ts.map +1 -0
  109. package/lib/mjs/middleware.js +27 -0
  110. package/lib/mjs/middleware.js.map +1 -0
  111. package/lib/mjs/package.json +1 -0
  112. package/lib/mjs/policies/FindModelType.d.ts +8 -0
  113. package/lib/mjs/policies/FindModelType.d.ts.map +1 -0
  114. package/lib/mjs/policies/FindModelType.js +40 -0
  115. package/lib/mjs/policies/FindModelType.js.map +1 -0
  116. package/lib/mjs/route-args/ModelType.d.ts +13 -0
  117. package/lib/mjs/route-args/ModelType.d.ts.map +1 -0
  118. package/lib/mjs/route-args/ModelType.js +35 -0
  119. package/lib/mjs/route-args/ModelType.js.map +1 -0
  120. package/lib/mjs/schemas/QueryArgs.schema.d.ts +20 -0
  121. package/lib/mjs/schemas/QueryArgs.schema.d.ts.map +1 -0
  122. package/lib/mjs/schemas/QueryArgs.schema.js +11 -0
  123. package/lib/mjs/schemas/QueryArgs.schema.js.map +1 -0
  124. package/lib/tsconfig.cjs.tsbuildinfo +1 -0
  125. package/lib/tsconfig.mjs.tsbuildinfo +1 -0
  126. package/package.json +68 -0
@@ -0,0 +1,412 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { MODEL_DESCTRIPTION_SYMBOL, Orm, OrmException, RelationType, SortOrder } from '@spinajs/orm';
14
+ import { BaseController, Get, BasePath, Ok, Post, Query, Del, Body, Put, PKey, ParameterType, Policy, BodyField, Param } from '@spinajs/http';
15
+ import { Resource, Permission } from '@spinajs/rbac-http';
16
+ import { Autoinject } from '@spinajs/di';
17
+ import { BadRequest, ResourceNotFound } from '@spinajs/exceptions';
18
+ import { ModelType } from '../route-args/ModelType.js';
19
+ import { FindModelType } from '../policies/FindModelType.js';
20
+ import { QueryArgs } from '../dto/QueryArgs.js';
21
+ import { QueryFilter } from '../dto/QueryFilter.js';
22
+ import { AutoinjectService } from '@spinajs/configuration';
23
+ import { Log, Logger } from '@spinajs/log';
24
+ import { QueryIncludes } from '../dto/QueryIncludes.js';
25
+ import { CollectionApiTransformer } from './../interfaces.js';
26
+ let Collections = class Collections extends BaseController {
27
+ // --------------------- DELETE functions --------------------- //
28
+ async batchDelete(model, ids) {
29
+ const tModel = this.getModelDescriptor(model);
30
+ const result = await model.destroy().whereIn(tModel.PrimaryKey, ids);
31
+ this.Log.trace(`Deleted ${result.RowsAffected} records from ${tModel.Name}`);
32
+ return new Ok({
33
+ [tModel.PrimaryKey]: ids,
34
+ });
35
+ }
36
+ async del(model, id) {
37
+ const descriptor = this.getModelDescriptor(model);
38
+ const result = await model.destroy(id);
39
+ this.Log.trace(`Deleted ${result.RowsAffected} records from ${descriptor.Name} with id ${id}`);
40
+ return new Ok({
41
+ [descriptor.PrimaryKey]: [id],
42
+ });
43
+ }
44
+ async deleteRelationBatch(model, id, relation, relationIds) {
45
+ const descriptor = this.getRelationDescriptor(model, relation);
46
+ if (descriptor.Type === RelationType.One) {
47
+ throw new BadRequest('Cannot delete batch from one to one relation');
48
+ }
49
+ const exists = await model.exists(id);
50
+ if (!exists) {
51
+ throw new ResourceNotFound(`Record with id ${id} not found`, {
52
+ Resource: model.name,
53
+ Id: id,
54
+ });
55
+ }
56
+ const result = await descriptor.TargetModel.destroy(relationIds).where(descriptor.ForeignKey, id);
57
+ this.Log.trace(`Deleted ${result.RowsAffected} records from ${descriptor.Name} with id ${id}`);
58
+ return new Ok(relationIds);
59
+ }
60
+ async deleteRelation(model, id, relation, relationId) {
61
+ const descriptor = this.getRelationDescriptor(model, relation);
62
+ const tModel = this.getModelDescriptor(descriptor.TargetModel);
63
+ const exists = await model.exists(id);
64
+ if (!exists) {
65
+ throw new ResourceNotFound(`Record with id ${id} not found`, {
66
+ Resource: model.name,
67
+ Id: id,
68
+ });
69
+ }
70
+ const result = await descriptor.TargetModel.destroy(relationId).when(descriptor.Type !== RelationType.One, function () {
71
+ this.where({ [descriptor.ForeignKey]: id });
72
+ });
73
+ this.Log.trace(`Deleted related ${result.RowsAffected} records from ${tModel.Name} with id ${id}`);
74
+ return new Ok({
75
+ [tModel.PrimaryKey]: relationId,
76
+ });
77
+ }
78
+ async deleteRelationAll(model, id, relation) {
79
+ const descriptor = this.getRelationDescriptor(model, relation);
80
+ const tModel = this.getModelDescriptor(descriptor.TargetModel);
81
+ const exists = await model.exists(id);
82
+ if (!exists) {
83
+ throw new ResourceNotFound(`Record with id ${id} not found`, {
84
+ Resource: model.name,
85
+ Id: id,
86
+ });
87
+ }
88
+ const result = await descriptor.TargetModel.destroy().when(descriptor.Type !== RelationType.One, function () {
89
+ this.where(descriptor.ForeignKey, id);
90
+ });
91
+ this.Log.trace(`Deleted related ${result.RowsAffected} records from ${tModel.Name} with id ${id}`);
92
+ return new Ok();
93
+ }
94
+ // --------------------- GET functions --------------------- //
95
+ async getAll(model, getParams, filters, includes) {
96
+ const query = model
97
+ .where(filters)
98
+ .select('*')
99
+ .populate(includes)
100
+ .order(getParams.order, getParams.orderDirection ?? SortOrder.ASC)
101
+ .skip(getParams.page * getParams.perPage ?? 0)
102
+ .take(getParams.perPage ?? 10);
103
+ const count = await query.clone().clearColumns().count('*', 'count').takeFirst().asRaw();
104
+ const result = await query;
105
+ return new Ok({
106
+ Data: result.map((x) => x.dehydrateWithRelations()),
107
+ Total: count.count,
108
+ });
109
+ }
110
+ async get(model, id, includes) {
111
+ const descriptor = this.getModelDescriptor(model);
112
+ const result = await model
113
+ .query()
114
+ .select('*')
115
+ .where(descriptor.PrimaryKey, id)
116
+ .populate(includes)
117
+ .firstOrThrow(new ResourceNotFound(`Record with id ${id} not found`, {
118
+ Resource: model.name,
119
+ [descriptor.PrimaryKey]: id,
120
+ }));
121
+ return new Ok(result.dehydrateWithRelations());
122
+ }
123
+ async getRelation(model, id, relation, relationId, includes) {
124
+ const mDescriptor = this.getModelDescriptor(model);
125
+ const rDescriptor = this.getRelationDescriptor(model, relation);
126
+ const rmDescriptor = this.getModelDescriptor(rDescriptor.TargetModel);
127
+ const query = rDescriptor.TargetModel.query();
128
+ const pExists = await model.exists(id);
129
+ if (!pExists) {
130
+ throw new ResourceNotFound(`Record with id ${id} not found`, {
131
+ Resource: model.name,
132
+ [mDescriptor.PrimaryKey]: id,
133
+ });
134
+ }
135
+ const result = await query
136
+ .select('*')
137
+ .populate(includes)
138
+ .where(rmDescriptor.PrimaryKey, relationId)
139
+ .firstOrThrow(new ResourceNotFound(`Record with id ${relationId} not found`, {
140
+ Resource: rDescriptor.TargetModel.name,
141
+ [rmDescriptor.PrimaryKey]: relationId,
142
+ }));
143
+ return new Ok(result.dehydrateWithRelations());
144
+ }
145
+ async getRelations(model, id, relation, params, filters, includes) {
146
+ const mDescriptor = this.getModelDescriptor(model);
147
+ const rDescriptor = this.getRelationDescriptor(model, relation);
148
+ const pExists = await model.exists(id);
149
+ if (!pExists) {
150
+ throw new ResourceNotFound(`Record with id ${id} not found`, {
151
+ Resource: model.name,
152
+ [mDescriptor.PrimaryKey]: id,
153
+ });
154
+ }
155
+ const query = rDescriptor.TargetModel.where(filters)
156
+ .where(rDescriptor.ForeignKey, id)
157
+ .select('*')
158
+ .populate(includes)
159
+ .order(params.order, params.orderDirection ?? SortOrder.ASC)
160
+ .skip(params.page * params.perPage ?? 0)
161
+ .take(params.perPage ?? 10);
162
+ const count = await query.clone().clearColumns().count('*', 'count').takeFirst().asRaw();
163
+ const result = await query;
164
+ return new Ok({
165
+ Data: result.map((x) => x.dehydrateWithRelations()),
166
+ Total: count,
167
+ });
168
+ }
169
+ // --------------------- POST functions --------------------- //
170
+ async save(model, data) {
171
+ const toInsert = (Array.isArray(data) ? data : [data]).map((x) => new model(x));
172
+ await model.insert(toInsert);
173
+ return new Ok(toInsert.map((x) => x.dehydrate()));
174
+ }
175
+ async insertRelation(model, id, relation, data) {
176
+ const mDescriptor = this.getModelDescriptor(model);
177
+ const rDescriptor = this.getRelationDescriptor(model, relation);
178
+ const m = await model.get(id);
179
+ if (!m) {
180
+ throw new ResourceNotFound(`Record with id ${id} not found`, {
181
+ Resource: model.name,
182
+ [mDescriptor.PrimaryKey]: id,
183
+ });
184
+ }
185
+ const toInsert = (Array.isArray(data) ? data : [data]).map((x) => new rDescriptor.TargetModel(x));
186
+ toInsert.forEach((x) => {
187
+ m.attach(x);
188
+ });
189
+ await rDescriptor.TargetModel.insert(toInsert);
190
+ return new Ok(toInsert.map((x) => x.dehydrate()));
191
+ }
192
+ // --------------------- PUT functions --------------------- //
193
+ async update(model, id, data) {
194
+ const descriptor = this.getModelDescriptor(model);
195
+ const entity = await model.where(descriptor.PrimaryKey, id).firstOrThrow(new ResourceNotFound(`Record with id ${id} not found`, {
196
+ Resource: model.name,
197
+ [descriptor.PrimaryKey]: id,
198
+ }));
199
+ entity.hydrate(data);
200
+ await entity.update();
201
+ this.Log.trace('Updated entity with id ${id}');
202
+ return new Ok(entity.toJSON());
203
+ }
204
+ async updateRelation(model, id, relation, relationId, data) {
205
+ const dModel = this.getModelDescriptor(model);
206
+ const dRelation = this.getRelationDescriptor(model, relation);
207
+ const dTargetModel = this.getModelDescriptor(dRelation.TargetModel);
208
+ const entity = await model
209
+ .where(id)
210
+ .populate(relation, function () {
211
+ this.where(dTargetModel.PrimaryKey, relationId);
212
+ })
213
+ .firstOrThrow(new ResourceNotFound(`Record with id ${id} not found`, {
214
+ Resource: model.name,
215
+ [dModel.PrimaryKey]: id,
216
+ }));
217
+ const rEntity = dRelation.Type === RelationType.One ? entity[relation].Value : entity[relation][0];
218
+ this.Log.trace(`Updating relation ${relation} with id ${relationId} for model ${model.name} with id ${id}`);
219
+ rEntity.hydrate(data);
220
+ await rEntity.update();
221
+ return new Ok(rEntity.toJSON());
222
+ }
223
+ // --------------------- HELPERS functions --------------------- //
224
+ getModelDescriptor(model) {
225
+ const descriptor = model[MODEL_DESCTRIPTION_SYMBOL];
226
+ if (!descriptor) {
227
+ throw new OrmException(`Model ${model.name} has no descriptor`);
228
+ }
229
+ return descriptor;
230
+ }
231
+ getRelationDescriptor(model, relation) {
232
+ const descriptor = this.getModelDescriptor(model);
233
+ let rDescriptor = null;
234
+ for (const [key, value] of descriptor.Relations) {
235
+ if (key.toLowerCase() === relation.toLowerCase().trim()) {
236
+ rDescriptor = value;
237
+ break;
238
+ }
239
+ }
240
+ if (!rDescriptor) {
241
+ throw new OrmException(`Model ${model.name} has no relation ${relation}`);
242
+ }
243
+ return rDescriptor;
244
+ }
245
+ prepareQuery(model, relation, id, callback) {
246
+ const descriptor = this.getModelDescriptor(model);
247
+ const rDescriptor = this.getRelationDescriptor(model, relation);
248
+ const tDescriptor = this.getModelDescriptor(rDescriptor.TargetModel);
249
+ const sQuery = model.query().where(descriptor.PrimaryKey, id).populate(relation, callback);
250
+ return {
251
+ relation: rDescriptor,
252
+ relationModel: tDescriptor,
253
+ query: sQuery,
254
+ };
255
+ }
256
+ };
257
+ __decorate([
258
+ Logger('orm-http:api'),
259
+ __metadata("design:type", Log)
260
+ ], Collections.prototype, "Log", void 0);
261
+ __decorate([
262
+ AutoinjectService('api.endpoint.transformer'),
263
+ __metadata("design:type", CollectionApiTransformer)
264
+ ], Collections.prototype, "DataTransformer", void 0);
265
+ __decorate([
266
+ Autoinject(),
267
+ __metadata("design:type", Orm)
268
+ ], Collections.prototype, "Orm", void 0);
269
+ __decorate([
270
+ Post(':model/__batchDelete'),
271
+ __param(0, ModelType()),
272
+ __param(1, Body()),
273
+ __metadata("design:type", Function),
274
+ __metadata("design:paramtypes", [Object, Array]),
275
+ __metadata("design:returntype", Promise)
276
+ ], Collections.prototype, "batchDelete", null);
277
+ __decorate([
278
+ Del(':model/:id'),
279
+ Permission('deleteAny'),
280
+ __param(0, ModelType()),
281
+ __param(1, Param()),
282
+ __metadata("design:type", Function),
283
+ __metadata("design:paramtypes", [Object, Object]),
284
+ __metadata("design:returntype", Promise)
285
+ ], Collections.prototype, "del", null);
286
+ __decorate([
287
+ Post(':model/:id/:relation/__batchDelete'),
288
+ Permission('deleteAny'),
289
+ __param(0, ModelType()),
290
+ __param(1, Param()),
291
+ __param(2, Param()),
292
+ __param(3, Body()),
293
+ __metadata("design:type", Function),
294
+ __metadata("design:paramtypes", [Object, Object, String, Array]),
295
+ __metadata("design:returntype", Promise)
296
+ ], Collections.prototype, "deleteRelationBatch", null);
297
+ __decorate([
298
+ Del(':model/:id/:relation/:relationId'),
299
+ Permission('deleteAny'),
300
+ __param(0, ModelType()),
301
+ __param(1, Param()),
302
+ __param(2, Param()),
303
+ __param(3, Param()),
304
+ __metadata("design:type", Function),
305
+ __metadata("design:paramtypes", [Object, Object, String, Number]),
306
+ __metadata("design:returntype", Promise)
307
+ ], Collections.prototype, "deleteRelation", null);
308
+ __decorate([
309
+ Del(':model/:id/:relation'),
310
+ Permission('deleteAny'),
311
+ __param(0, ModelType()),
312
+ __param(1, PKey(ParameterType.FromQuery)),
313
+ __param(2, Query()),
314
+ __metadata("design:type", Function),
315
+ __metadata("design:paramtypes", [Object, Object, String]),
316
+ __metadata("design:returntype", Promise)
317
+ ], Collections.prototype, "deleteRelationAll", null);
318
+ __decorate([
319
+ Get(':model'),
320
+ Permission('readAny'),
321
+ __param(0, ModelType()),
322
+ __param(1, Query()),
323
+ __param(2, Query()),
324
+ __param(3, Query()),
325
+ __metadata("design:type", Function),
326
+ __metadata("design:paramtypes", [Object, QueryArgs, QueryFilter, QueryIncludes]),
327
+ __metadata("design:returntype", Promise)
328
+ ], Collections.prototype, "getAll", null);
329
+ __decorate([
330
+ Get(':model/:id'),
331
+ Permission('readAny'),
332
+ __param(0, ModelType()),
333
+ __param(1, Param()),
334
+ __param(2, Query()),
335
+ __metadata("design:type", Function),
336
+ __metadata("design:paramtypes", [Object, Number, QueryIncludes]),
337
+ __metadata("design:returntype", Promise)
338
+ ], Collections.prototype, "get", null);
339
+ __decorate([
340
+ Get(':model/:id/:relation/:relationId'),
341
+ Permission('readAny'),
342
+ __param(0, ModelType()),
343
+ __param(1, Param()),
344
+ __param(2, Param()),
345
+ __param(3, Param()),
346
+ __param(4, Query()),
347
+ __metadata("design:type", Function),
348
+ __metadata("design:paramtypes", [Object, Object, String, Object, QueryIncludes]),
349
+ __metadata("design:returntype", Promise)
350
+ ], Collections.prototype, "getRelation", null);
351
+ __decorate([
352
+ Get(':model/:id/:relation'),
353
+ Permission('readAny'),
354
+ __param(0, ModelType()),
355
+ __param(1, Param()),
356
+ __param(2, Param()),
357
+ __param(3, Query()),
358
+ __param(4, Query()),
359
+ __param(5, Query()),
360
+ __metadata("design:type", Function),
361
+ __metadata("design:paramtypes", [Object, Object, String, QueryArgs, QueryFilter, QueryIncludes]),
362
+ __metadata("design:returntype", Promise)
363
+ ], Collections.prototype, "getRelations", null);
364
+ __decorate([
365
+ Post(':model'),
366
+ Permission('createAny'),
367
+ __param(0, ModelType()),
368
+ __param(1, BodyField()),
369
+ __metadata("design:type", Function),
370
+ __metadata("design:paramtypes", [Object, Object]),
371
+ __metadata("design:returntype", Promise)
372
+ ], Collections.prototype, "save", null);
373
+ __decorate([
374
+ Post(':model/:id/relation/:relation'),
375
+ Permission('createAny'),
376
+ __param(0, ModelType()),
377
+ __param(1, Param()),
378
+ __param(2, Param()),
379
+ __param(3, BodyField()),
380
+ __metadata("design:type", Function),
381
+ __metadata("design:paramtypes", [Object, Object, String, Object]),
382
+ __metadata("design:returntype", Promise)
383
+ ], Collections.prototype, "insertRelation", null);
384
+ __decorate([
385
+ Put(':model/:id'),
386
+ Permission('updateAny'),
387
+ __param(0, ModelType()),
388
+ __param(1, Param()),
389
+ __param(2, BodyField()),
390
+ __metadata("design:type", Function),
391
+ __metadata("design:paramtypes", [Object, Number, Object]),
392
+ __metadata("design:returntype", Promise)
393
+ ], Collections.prototype, "update", null);
394
+ __decorate([
395
+ Put(':model/:id/relation/:relationId'),
396
+ Permission('updateAny'),
397
+ __param(0, ModelType()),
398
+ __param(1, Param()),
399
+ __param(2, Param()),
400
+ __param(3, Param()),
401
+ __param(4, BodyField()),
402
+ __metadata("design:type", Function),
403
+ __metadata("design:paramtypes", [Object, Number, String, Object, Object]),
404
+ __metadata("design:returntype", Promise)
405
+ ], Collections.prototype, "updateRelation", null);
406
+ Collections = __decorate([
407
+ BasePath('collection'),
408
+ Resource('repository'),
409
+ Policy(FindModelType)
410
+ ], Collections);
411
+ export { Collections };
412
+ //# sourceMappingURL=Collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collections.js","sourceRoot":"","sources":["../../../src/controllers/Collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=JsonApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonApi.d.ts","sourceRoot":"","sources":["../../../src/controllers/JsonApi.ts"],"names":[],"mappings":""}