flamerest 1.0.24 → 1.0.27
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 +44 -37
- package/package.json +1 -1
package/REST.d.ts
CHANGED
|
@@ -85,3 +85,10 @@ export function signup(username: string, password: string);
|
|
|
85
85
|
* Выйти из системы
|
|
86
86
|
*/
|
|
87
87
|
export function logout(): object;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Подготовить объект под загрузку: загрузить данные из элементов [type=file]
|
|
91
|
+
* @param values
|
|
92
|
+
*/
|
|
93
|
+
export function prepare(values: object): object;
|
|
94
|
+
|
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
|
|
|
@@ -373,24 +378,10 @@ class FLAMEREST {
|
|
|
373
378
|
// Нормализуем имена таблиц
|
|
374
379
|
table = table.replace(/_/g, "");
|
|
375
380
|
|
|
376
|
-
//
|
|
377
|
-
|
|
378
|
-
// Преобразуем
|
|
379
|
-
if(values[val] instanceof HTMLInputElement && values[val].type === 'file') values[val] = values[val].files;
|
|
380
|
-
if (values[val] instanceof FileList) {
|
|
381
|
-
let newValues = [];
|
|
382
|
-
values[val] = Array.from(values[val]);
|
|
383
|
-
for (let file in values[val]) {
|
|
384
|
-
newValues.push({
|
|
385
|
-
'name': values[val][file].name,
|
|
386
|
-
'data': await this.readFileAsync(values[val][file])
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
values[val] = newValues;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
381
|
+
// Подготовить значения
|
|
382
|
+
await this.prepare(values);
|
|
392
383
|
|
|
393
|
-
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');
|
|
394
385
|
|
|
395
386
|
}
|
|
396
387
|
|
|
@@ -404,7 +395,7 @@ class FLAMEREST {
|
|
|
404
395
|
// Нормализуем имена таблиц
|
|
405
396
|
table = table.replace(/_/g, "");
|
|
406
397
|
|
|
407
|
-
return this.request(this.SERVER + '/api/' + table + '/delete?id=' + id, '{}', 'DELETE');
|
|
398
|
+
return this.request(this.SERVER + '/api/' + this.version + '/' + table + '/delete?id=' + id, '{}', 'DELETE');
|
|
408
399
|
|
|
409
400
|
}
|
|
410
401
|
|
|
@@ -419,24 +410,10 @@ class FLAMEREST {
|
|
|
419
410
|
// Нормализуем имена таблиц
|
|
420
411
|
table = table.replace(/_/g, "");
|
|
421
412
|
|
|
422
|
-
//
|
|
423
|
-
|
|
424
|
-
// Преобразуем
|
|
425
|
-
if(values[val] instanceof HTMLInputElement && values[val].type === 'file') values[val] = values[val].files;
|
|
426
|
-
if (values[val] instanceof FileList) {
|
|
427
|
-
let newValues = [];
|
|
428
|
-
values[val] = Array.from(values[val]);
|
|
429
|
-
for (let file in values[val]) {
|
|
430
|
-
newValues.push({
|
|
431
|
-
'name': values[val][file].name,
|
|
432
|
-
'data': await this.readFileAsync(values[val][file])
|
|
433
|
-
});
|
|
434
|
-
}
|
|
435
|
-
values[val] = newValues;
|
|
436
|
-
}
|
|
437
|
-
}
|
|
413
|
+
// Подготовить значения
|
|
414
|
+
await this.prepare(values);
|
|
438
415
|
|
|
439
|
-
return this.request(this.SERVER + '/api/' + table + '/update?id=' + ID, JSON.stringify(values), 'PATCH');
|
|
416
|
+
return this.request(this.SERVER + '/api/' + this.version + '/' + table + '/update?id=' + ID, JSON.stringify(values), 'PATCH');
|
|
440
417
|
}
|
|
441
418
|
|
|
442
419
|
/**
|
|
@@ -467,6 +444,36 @@ class FLAMEREST {
|
|
|
467
444
|
return this.request(this.SERVER + '/auth/logout', '{}', 'POST');
|
|
468
445
|
}
|
|
469
446
|
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Подготовить объект под загрузку: загрузить данные из элементов [type=file]
|
|
450
|
+
* @param {object} values
|
|
451
|
+
*/
|
|
452
|
+
async prepare(values) {
|
|
453
|
+
|
|
454
|
+
// Если в один из параметров передан FileList или input[type=file], т.е. нужно загрузить файлы
|
|
455
|
+
for (let val in values) {
|
|
456
|
+
// Преобразуем
|
|
457
|
+
if (values[val] instanceof HTMLInputElement && values[val].type === 'file') values[val] = values[val].files;
|
|
458
|
+
if (values[val] instanceof ClipboardEvent) values[val] = values[val].clipboardData.files;
|
|
459
|
+
if (values[val] instanceof DataTransfer) values[val] = values[val].files;
|
|
460
|
+
if (values[val] instanceof FileList) {
|
|
461
|
+
let newValues = [];
|
|
462
|
+
values[val] = Array.from(values[val]);
|
|
463
|
+
for (let file in values[val]) {
|
|
464
|
+
newValues.push({
|
|
465
|
+
'name': values[val][file].name,
|
|
466
|
+
'data': await this.readFileAsync(values[val][file])
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
values[val] = newValues;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
return values;
|
|
474
|
+
|
|
475
|
+
}
|
|
476
|
+
|
|
470
477
|
/**
|
|
471
478
|
* Прочесть файл асинхронно
|
|
472
479
|
* @param {File} file
|