remult 0.10.14 → 0.11.1
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.
package/package.json
CHANGED
|
@@ -31,7 +31,15 @@ export declare class RepositoryImplementation<entityType> implements Repository<
|
|
|
31
31
|
id: string;
|
|
32
32
|
} ? string : (string | number))): Promise<void>;
|
|
33
33
|
delete(item: entityType): Promise<void>;
|
|
34
|
-
|
|
34
|
+
insert(item: Partial<OmitEB<entityType>>[]): Promise<entityType[]>;
|
|
35
|
+
insert(item: Partial<OmitEB<entityType>>): Promise<entityType>;
|
|
36
|
+
update(id: (entityType extends {
|
|
37
|
+
id: number;
|
|
38
|
+
} ? number : entityType extends {
|
|
39
|
+
id: string;
|
|
40
|
+
} ? string : (string | number)), entity: Partial<OmitEB<entityType>>): Promise<entityType>;
|
|
41
|
+
save(item: Partial<OmitEB<entityType>>[]): Promise<entityType[]>;
|
|
42
|
+
save(item: Partial<OmitEB<entityType>>): Promise<entityType>;
|
|
35
43
|
find(options: FindOptions<entityType>): Promise<entityType[]>;
|
|
36
44
|
private mapRawDataToResult;
|
|
37
45
|
count(where?: EntityFilter<entityType>): Promise<number>;
|
|
@@ -202,44 +202,76 @@ var RepositoryImplementation = /** @class */ (function () {
|
|
|
202
202
|
});
|
|
203
203
|
});
|
|
204
204
|
};
|
|
205
|
-
RepositoryImplementation.prototype.
|
|
205
|
+
RepositoryImplementation.prototype.insert = function (entity) {
|
|
206
206
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
207
|
-
var ref
|
|
207
|
+
var ref;
|
|
208
|
+
var _this = this;
|
|
208
209
|
return tslib_1.__generator(this, function (_a) {
|
|
209
210
|
switch (_a.label) {
|
|
210
211
|
case 0:
|
|
212
|
+
if (!Array.isArray(entity)) return [3 /*break*/, 1];
|
|
213
|
+
return [2 /*return*/, Promise.all(entity.map(function (x) { return _this.insert(x); }))];
|
|
214
|
+
case 1:
|
|
211
215
|
ref = getEntityRef(entity, false);
|
|
212
|
-
if (!ref) return [3 /*break*/,
|
|
216
|
+
if (!ref) return [3 /*break*/, 3];
|
|
217
|
+
if (!ref.isNew())
|
|
218
|
+
throw "Item is not new";
|
|
213
219
|
return [4 /*yield*/, ref.save()];
|
|
214
|
-
case
|
|
215
|
-
case
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
220
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
221
|
+
case 3: return [4 /*yield*/, this.getEntityRef(this.create(entity)).save()];
|
|
222
|
+
case 4: return [2 /*return*/, _a.sent()];
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
RepositoryImplementation.prototype.update = function (id, entity) {
|
|
228
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
229
|
+
var row, obj, key, updatedRow;
|
|
230
|
+
return tslib_1.__generator(this, function (_a) {
|
|
231
|
+
switch (_a.label) {
|
|
232
|
+
case 0:
|
|
227
233
|
row = new rowHelperImplementation(this._info, Object.assign({}, entity), this, this.edp, this.remult, false);
|
|
228
234
|
obj = row.copyDataToObject();
|
|
229
235
|
for (key in entity) {
|
|
230
236
|
if (Object.prototype.hasOwnProperty.call(entity, key)) {
|
|
231
|
-
element = entity[key];
|
|
232
237
|
entity[key] = obj[key];
|
|
233
238
|
}
|
|
234
239
|
}
|
|
235
240
|
return [4 /*yield*/, this.edp.update(id, entity)];
|
|
236
|
-
case
|
|
241
|
+
case 1:
|
|
237
242
|
updatedRow = _a.sent();
|
|
238
243
|
return [2 /*return*/, this.mapRawDataToResult(updatedRow, undefined)];
|
|
239
244
|
}
|
|
240
245
|
});
|
|
241
246
|
});
|
|
242
247
|
};
|
|
248
|
+
RepositoryImplementation.prototype.save = function (entity) {
|
|
249
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
250
|
+
var ref, id;
|
|
251
|
+
var _this = this;
|
|
252
|
+
return tslib_1.__generator(this, function (_a) {
|
|
253
|
+
switch (_a.label) {
|
|
254
|
+
case 0:
|
|
255
|
+
if (!Array.isArray(entity)) return [3 /*break*/, 1];
|
|
256
|
+
return [2 /*return*/, Promise.all(entity.map(function (x) { return _this.insert(x); }))];
|
|
257
|
+
case 1:
|
|
258
|
+
ref = getEntityRef(entity, false);
|
|
259
|
+
if (!ref) return [3 /*break*/, 3];
|
|
260
|
+
return [4 /*yield*/, ref.save()];
|
|
261
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
262
|
+
case 3:
|
|
263
|
+
if (!(entity instanceof EntityBase)) return [3 /*break*/, 5];
|
|
264
|
+
return [4 /*yield*/, this.getEntityRef(entity).save()];
|
|
265
|
+
case 4: return [2 /*return*/, _a.sent()];
|
|
266
|
+
case 5:
|
|
267
|
+
id = entity[this.metadata.idMetadata.field.key];
|
|
268
|
+
if (id === undefined)
|
|
269
|
+
return [2 /*return*/, this.insert(entity)];
|
|
270
|
+
return [2 /*return*/, this.update(id, entity)];
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
});
|
|
274
|
+
};
|
|
243
275
|
RepositoryImplementation.prototype.find = function (options) {
|
|
244
276
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
245
277
|
var opt, _a, rawRows, loadFields, _b, _c, col, ei, load, repo, toLoad, rawRows_1, rawRows_1_1, r, val, rows, rows_1, rows_1_1, r, e_4_1, result;
|
package/src/remult3/remult3.d.ts
CHANGED
|
@@ -119,13 +119,15 @@ export interface Repository<entityType> {
|
|
|
119
119
|
count(where?: EntityFilter<entityType>): Promise<number>;
|
|
120
120
|
create(item?: Partial<OmitEB<entityType>>): entityType;
|
|
121
121
|
getEntityRef(item: entityType): EntityRef<entityType>;
|
|
122
|
+
save(item: Partial<OmitEB<entityType>>[]): Promise<entityType[]>;
|
|
122
123
|
save(item: Partial<OmitEB<entityType>>): Promise<entityType>;
|
|
123
|
-
|
|
124
|
+
insert(item: Partial<OmitEB<entityType>>[]): Promise<entityType[]>;
|
|
125
|
+
insert(item: Partial<OmitEB<entityType>>): Promise<entityType>;
|
|
126
|
+
update(id: (entityType extends {
|
|
124
127
|
id: number;
|
|
125
128
|
} ? number : entityType extends {
|
|
126
129
|
id: string;
|
|
127
|
-
} ? string : (string | number)): Promise<entityType>;
|
|
128
|
-
save(item: Partial<OmitEB<entityType>>, create?: boolean): Promise<entityType>;
|
|
130
|
+
} ? string : (string | number)), item: Partial<OmitEB<entityType>>): Promise<entityType>;
|
|
129
131
|
delete(id: (entityType extends {
|
|
130
132
|
id: number;
|
|
131
133
|
} ? number : entityType extends {
|