flamerest 1.0.27 → 1.0.30
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/README.md +5 -1
- package/REST.d.ts +8 -7
- package/REST.js +18 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,4 +20,8 @@ window.REST = new FLAMEREST('localhost');
|
|
|
20
20
|
|
|
21
21
|
# Create and Update
|
|
22
22
|
|
|
23
|
-
Just field list, but any field can be HTML Input, or FileList (automatically
|
|
23
|
+
Just field list, but any field can be HTML Input [type=file], Clipboard object, DataTransfer [Drag&Drop/Clipboard] or FileList (automatically upload any of that)
|
|
24
|
+
|
|
25
|
+
# Delete
|
|
26
|
+
|
|
27
|
+
Function `Remove`. Can delete row by primaryKey - second parameter, or mass delete by fields condition - third parameter with fields
|
package/REST.d.ts
CHANGED
|
@@ -32,13 +32,13 @@ export function get(table: string, where: object | string | null, expand: object
|
|
|
32
32
|
export function all(table: string, params: {where: object, fields: object|Array<string>, sort: Array<string>, page: number, perPage: number}): object;
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
* Получить одну запись по ID или по условию выборки [первая запись]
|
|
36
|
+
* @param {string} table
|
|
37
|
+
* @param {number|string|object} IDOrWhere
|
|
38
|
+
* @param {object|Array} fields
|
|
39
|
+
* @param {string} primaryKeyName если указан ID, то указать название первичного ключа, если от id он отличается
|
|
40
40
|
*/
|
|
41
|
-
export function one(table: string,
|
|
41
|
+
export function one(table: string, IDOrWhere: number|string|object, fields: object|Array<string>, primaryKeyName: string): object;
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* Создать новую запись
|
|
@@ -51,8 +51,9 @@ export function create(table: string, values: object)
|
|
|
51
51
|
* Удалить запись
|
|
52
52
|
* @param table
|
|
53
53
|
* @param id
|
|
54
|
+
* @param byFields Если указан, удаляет по этим параметрам
|
|
54
55
|
*/
|
|
55
|
-
export function remove(table: string, id: number | string)
|
|
56
|
+
export function remove(table: string, id: number | string, byFields: object)
|
|
56
57
|
|
|
57
58
|
/**
|
|
58
59
|
* Редактировать значения
|
package/REST.js
CHANGED
|
@@ -354,17 +354,24 @@ class FLAMEREST {
|
|
|
354
354
|
}
|
|
355
355
|
|
|
356
356
|
/**
|
|
357
|
-
* Получить одну запись по ID
|
|
357
|
+
* Получить одну запись по ID или по условию выборки [первая запись]
|
|
358
358
|
* @param {string} table
|
|
359
|
-
* @param {number|string}
|
|
359
|
+
* @param {number|string|object} IDOrWhere
|
|
360
360
|
* @param {object|Array} fields
|
|
361
361
|
* @param {string} primaryKeyName
|
|
362
362
|
* @returns {object}
|
|
363
363
|
*/
|
|
364
|
-
async one(table,
|
|
365
|
-
|
|
364
|
+
async one(table, IDOrWhere, fields = null, primaryKeyName = 'id') {
|
|
365
|
+
|
|
366
|
+
let where = {};
|
|
367
|
+
if(typeof IDOrWhere === 'string' || typeof IDOrWhere === 'number') where = {[primaryKeyName]:id};
|
|
368
|
+
else if(typeof IDOrWhere === 'object') where = IDOrWhere;
|
|
369
|
+
else throw "Нужно передавать ID или объект";
|
|
370
|
+
|
|
371
|
+
let resp = await this.get(table, where , null, fields, null, 1, 1);
|
|
366
372
|
if(resp.errors) return resp;
|
|
367
373
|
if(resp.data.length === 0) return resp;
|
|
374
|
+
|
|
368
375
|
return resp.data[0];
|
|
369
376
|
}
|
|
370
377
|
|
|
@@ -389,13 +396,17 @@ class FLAMEREST {
|
|
|
389
396
|
* Удалить запись
|
|
390
397
|
* @param table
|
|
391
398
|
* @param id
|
|
399
|
+
* @param byFields
|
|
392
400
|
*/
|
|
393
|
-
remove(table, id) {
|
|
401
|
+
remove(table, id = 0, byFields = null) {
|
|
394
402
|
|
|
395
403
|
// Нормализуем имена таблиц
|
|
396
404
|
table = table.replace(/_/g, "");
|
|
397
405
|
|
|
398
|
-
|
|
406
|
+
let params = {};
|
|
407
|
+
if(byFields instanceof Object) params = byFields;
|
|
408
|
+
|
|
409
|
+
return this.request(this.SERVER + '/api/' + this.version + '/' + table + '/delete?id=' + id, JSON.stringify(params), 'DELETE');
|
|
399
410
|
|
|
400
411
|
}
|
|
401
412
|
|
|
@@ -446,7 +457,7 @@ class FLAMEREST {
|
|
|
446
457
|
|
|
447
458
|
|
|
448
459
|
/**
|
|
449
|
-
* Подготовить объект под загрузку: загрузить данные из элементов [type=file]
|
|
460
|
+
* Подготовить объект под загрузку: загрузить данные из элементов Input [type=file] / Clipboard / DataTransfer [Drag&Drop/Clipboard]
|
|
450
461
|
* @param {object} values
|
|
451
462
|
*/
|
|
452
463
|
async prepare(values) {
|