flamerest 1.0.51 → 1.0.54
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/REST.d.ts +7 -0
- package/REST.js +26 -5
- package/package.json +1 -1
package/REST.d.ts
CHANGED
|
@@ -141,3 +141,10 @@ export function logout(): object;
|
|
|
141
141
|
*/
|
|
142
142
|
export function prepare(values: any): Promise<any>;
|
|
143
143
|
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Заполнить объект данными, пришедшими из базы, сохраняя оригинальные классы и функции
|
|
147
|
+
* @param object Заполняемый объект
|
|
148
|
+
* @param values Аналогичный объект-источник данных
|
|
149
|
+
*/
|
|
150
|
+
export function fillObject(object: any, values: any): void;
|
package/REST.js
CHANGED
|
@@ -369,7 +369,7 @@ class FLAMEREST {
|
|
|
369
369
|
async one(table, IDOrWhere, fields = null, primaryKeyName = 'id') {
|
|
370
370
|
|
|
371
371
|
let where = {};
|
|
372
|
-
if (typeof IDOrWhere === 'string' || typeof IDOrWhere === 'number') where = { [primaryKeyName]:
|
|
372
|
+
if (typeof IDOrWhere === 'string' || typeof IDOrWhere === 'number') where = { [primaryKeyName]: IDOrWhere };
|
|
373
373
|
else if (typeof IDOrWhere === 'object') where = IDOrWhere;
|
|
374
374
|
else throw "Нужно передавать ID или объект";
|
|
375
375
|
|
|
@@ -441,14 +441,14 @@ class FLAMEREST {
|
|
|
441
441
|
// Подготовить значения
|
|
442
442
|
await this.prepare(values);
|
|
443
443
|
|
|
444
|
-
if(appendTo === undefined) appendTo = null;
|
|
444
|
+
if (appendTo === undefined) appendTo = null;
|
|
445
445
|
if (insertAfter === undefined) insertAfter = null;
|
|
446
446
|
if (insertFirst === undefined) insertFirst = null;
|
|
447
447
|
|
|
448
448
|
return this.request(this.SERVER + '/api/' + this.version + '/' + table + '/update?id=' + ID
|
|
449
|
-
+ (appendTo!==null ? '&appendTo=' + appendTo : '')
|
|
450
|
-
+ (insertAfter!==null ? '&insertAfter=' + insertAfter : '')
|
|
451
|
-
+ (insertFirst!==null ? '&insertFirst=' + insertFirst : '')
|
|
449
|
+
+ (appendTo !== null ? '&appendTo=' + appendTo : '')
|
|
450
|
+
+ (insertAfter !== null ? '&insertAfter=' + insertAfter : '')
|
|
451
|
+
+ (insertFirst !== null ? '&insertFirst=' + insertFirst : '')
|
|
452
452
|
, JSON.stringify(values), 'PATCH');
|
|
453
453
|
}
|
|
454
454
|
|
|
@@ -561,6 +561,27 @@ class FLAMEREST {
|
|
|
561
561
|
})
|
|
562
562
|
}
|
|
563
563
|
|
|
564
|
+
/**
|
|
565
|
+
* Заполнить существующий объект пришедшими из БД данными
|
|
566
|
+
* сохраняя при этом оригинальные классы и функции
|
|
567
|
+
* @param {*} object
|
|
568
|
+
* @param {*} values
|
|
569
|
+
*/
|
|
570
|
+
fillObject(object, values) {
|
|
571
|
+
for (let prop in object) {
|
|
572
|
+
|
|
573
|
+
// добавляем только те объекты, что уже созданы в сущности
|
|
574
|
+
if (!values.hasOwnProperty(prop)) continue;
|
|
575
|
+
|
|
576
|
+
// объекты проходим рекурсивно
|
|
577
|
+
if (typeof values[prop] === 'object' && typeof object[prop] === 'object' && values[prop] !== null && typeof object[prop] !== null) { this.fillObject(object[prop], values[prop]); continue }
|
|
578
|
+
|
|
579
|
+
// тут остались все обычные типы - записываем
|
|
580
|
+
object[prop] = values[prop];
|
|
581
|
+
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
|
|
564
585
|
}
|
|
565
586
|
|
|
566
587
|
|