flamerest 1.0.25 → 1.0.28

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 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 restify that)
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
@@ -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
@@ -1,7 +1,7 @@
1
1
 
2
2
  class FLAMEREST {
3
3
 
4
- constructor(server_address, localhost_endpoint, unauthorized_callback) {
4
+ constructor(server_address, localhost_endpoint, unauthorized_callback, version) {
5
5
 
6
6
  /**
7
7
  * Адрес серва
@@ -25,6 +25,11 @@ class FLAMEREST {
25
25
  */
26
26
  this.unauthorized_callback = unauthorized_callback;
27
27
 
28
+ /**
29
+ * Версия api
30
+ */
31
+ this.version = version ? version : 'v1';
32
+
28
33
  }
29
34
 
30
35
  install(Vue, options) {
@@ -300,7 +305,7 @@ class FLAMEREST {
300
305
  let responseType = "json";
301
306
 
302
307
  // Генерим запрос
303
- let query = this.SERVER + '/api/' + table;
308
+ let query = this.SERVER + '/api/' + this.version + '/' + table;
304
309
 
305
310
  let json = {};
306
311
 
@@ -376,7 +381,7 @@ class FLAMEREST {
376
381
  // Подготовить значения
377
382
  await this.prepare(values);
378
383
 
379
- return this.request(this.SERVER + '/api/' + table + '/create', JSON.stringify(values), 'POST');
384
+ return this.request(this.SERVER + '/api/' + this.version + '/' + table + '/create', JSON.stringify(values), 'POST');
380
385
 
381
386
  }
382
387
 
@@ -384,13 +389,17 @@ class FLAMEREST {
384
389
  * Удалить запись
385
390
  * @param table
386
391
  * @param id
392
+ * @param byFields
387
393
  */
388
- remove(table, id) {
394
+ remove(table, id = 0, byFields = null) {
389
395
 
390
396
  // Нормализуем имена таблиц
391
397
  table = table.replace(/_/g, "");
392
398
 
393
- return this.request(this.SERVER + '/api/' + table + '/delete?id=' + id, '{}', 'DELETE');
399
+ params = {};
400
+ if(byFields instanceof Object) params = byFields;
401
+
402
+ return this.request(this.SERVER + '/api/' + this.version + '/' + table + '/delete?id=' + id, params, 'DELETE');
394
403
 
395
404
  }
396
405
 
@@ -408,7 +417,7 @@ class FLAMEREST {
408
417
  // Подготовить значения
409
418
  await this.prepare(values);
410
419
 
411
- return this.request(this.SERVER + '/api/' + table + '/update?id=' + ID, JSON.stringify(values), 'PATCH');
420
+ return this.request(this.SERVER + '/api/' + this.version + '/' + table + '/update?id=' + ID, JSON.stringify(values), 'PATCH');
412
421
  }
413
422
 
414
423
  /**
@@ -441,7 +450,7 @@ class FLAMEREST {
441
450
 
442
451
 
443
452
  /**
444
- * Подготовить объект под загрузку: загрузить данные из элементов [type=file]
453
+ * Подготовить объект под загрузку: загрузить данные из элементов Input [type=file] / Clipboard / DataTransfer [Drag&Drop/Clipboard]
445
454
  * @param {object} values
446
455
  */
447
456
  async prepare(values) {
@@ -450,6 +459,8 @@ class FLAMEREST {
450
459
  for (let val in values) {
451
460
  // Преобразуем
452
461
  if (values[val] instanceof HTMLInputElement && values[val].type === 'file') values[val] = values[val].files;
462
+ if (values[val] instanceof ClipboardEvent) values[val] = values[val].clipboardData.files;
463
+ if (values[val] instanceof DataTransfer) values[val] = values[val].files;
453
464
  if (values[val] instanceof FileList) {
454
465
  let newValues = [];
455
466
  values[val] = Array.from(values[val]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flamerest",
3
- "version": "1.0.25",
3
+ "version": "1.0.28",
4
4
  "description": "",
5
5
  "main": "REST.js",
6
6
  "typings": "./REST.d.ts",