flamerest 1.0.47 → 1.0.50
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 +5 -5
- package/REST.js +49 -33
- package/package.json +1 -1
package/REST.d.ts
CHANGED
|
@@ -39,8 +39,8 @@ type Rows<T> = {
|
|
|
39
39
|
status: Number,
|
|
40
40
|
ok: boolean,
|
|
41
41
|
data?: Array<T>,
|
|
42
|
-
errors: Object|undefined,
|
|
43
|
-
message: string|undefined,
|
|
42
|
+
errors: Object | undefined,
|
|
43
|
+
message: string | undefined,
|
|
44
44
|
pages: {
|
|
45
45
|
page: Number,
|
|
46
46
|
perPage: Number,
|
|
@@ -63,7 +63,7 @@ export function one<T>(table: string, IDOrWhere: number | string | object, field
|
|
|
63
63
|
* @param table
|
|
64
64
|
* @param values
|
|
65
65
|
*/
|
|
66
|
-
export function create<T>(table: string, values: object): Promise<SavedObject<T>>
|
|
66
|
+
export function create<T>(table: string, values: object, appendTo: number | string | null = null, insertAfter: number | string | null = null, insertFirst: number | string | null = null): Promise<SavedObject<T>>
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
69
|
* Удалить запись
|
|
@@ -71,7 +71,7 @@ export function create<T>(table: string, values: object): Promise<SavedObject<T>
|
|
|
71
71
|
* @param id
|
|
72
72
|
* @param byFields Если указан, удаляет по этим параметрам
|
|
73
73
|
*/
|
|
74
|
-
export function remove(table: string, id: number | string, byFields?: object): Promise<boolean|Array<any>>
|
|
74
|
+
export function remove(table: string, id: number | string, byFields?: object): Promise<boolean | Array<any>>
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
77
|
* Редактировать значения
|
|
@@ -79,7 +79,7 @@ export function remove(table: string, id: number | string, byFields?: object): P
|
|
|
79
79
|
* @param ID
|
|
80
80
|
* @param values
|
|
81
81
|
*/
|
|
82
|
-
export function edit<T>(table: string, ID: number | string, values: object): Promise<SavedObject<T>>
|
|
82
|
+
export function edit<T>(table: string, ID: number | string, values: object, appendTo: number | string | null = null, insertAfter: number | string | null = null, insertFirst: number | string | null = null): Promise<SavedObject<T>>
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
/**
|
package/REST.js
CHANGED
|
@@ -97,7 +97,7 @@ class FLAMEREST {
|
|
|
97
97
|
// Ошибка валидации: Собираем все ошибки полей
|
|
98
98
|
case 422:
|
|
99
99
|
let Errs = {};
|
|
100
|
-
for(let err of ResolveBody.errors) {
|
|
100
|
+
for (let err of ResolveBody.errors) {
|
|
101
101
|
Errs[err['field']] = Errs[err['field']] === undefined ? err['message'] : Errs[err['field']] + ". " + err['message']
|
|
102
102
|
}
|
|
103
103
|
ResolveBody.errors = Errs;
|
|
@@ -355,7 +355,7 @@ class FLAMEREST {
|
|
|
355
355
|
* @returns {object}
|
|
356
356
|
*/
|
|
357
357
|
all(table, params) {
|
|
358
|
-
return this.get(table, params.where, null, params.fields, params.sort, params.page, params.perPage);
|
|
358
|
+
return this.get(table, params.where, null, params.fields, params.sort, params.page, params.perPage, null, null, null, params.tree);
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
/**
|
|
@@ -367,15 +367,15 @@ class FLAMEREST {
|
|
|
367
367
|
* @returns {object|null}
|
|
368
368
|
*/
|
|
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]:id};
|
|
373
|
-
else if(typeof IDOrWhere === 'object') where = IDOrWhere;
|
|
372
|
+
if (typeof IDOrWhere === 'string' || typeof IDOrWhere === 'number') where = { [primaryKeyName]: id };
|
|
373
|
+
else if (typeof IDOrWhere === 'object') where = IDOrWhere;
|
|
374
374
|
else throw "Нужно передавать ID или объект";
|
|
375
375
|
|
|
376
|
-
let resp = await this.get(table, where
|
|
377
|
-
if(resp.errors) return resp;
|
|
378
|
-
if(resp.data.length === 0) return null;
|
|
376
|
+
let resp = await this.get(table, where, null, fields, null, 1, 1);
|
|
377
|
+
if (resp.errors) return resp;
|
|
378
|
+
if (resp.data.length === 0) return null;
|
|
379
379
|
|
|
380
380
|
return resp.data[0];
|
|
381
381
|
}
|
|
@@ -385,7 +385,7 @@ class FLAMEREST {
|
|
|
385
385
|
* @param table
|
|
386
386
|
* @param values
|
|
387
387
|
*/
|
|
388
|
-
async create(table, values) {
|
|
388
|
+
async create(table, values, appendTo = null, insertAfter = null, insertFirst = null) {
|
|
389
389
|
|
|
390
390
|
// Нормализуем имена таблиц
|
|
391
391
|
table = table.replace(/_/g, "");
|
|
@@ -393,7 +393,15 @@ class FLAMEREST {
|
|
|
393
393
|
// Подготовить значения
|
|
394
394
|
await this.prepare(values);
|
|
395
395
|
|
|
396
|
-
|
|
396
|
+
if (appendTo === undefined) appendTo = null;
|
|
397
|
+
if (insertAfter === undefined) insertAfter = null;
|
|
398
|
+
if (insertFirst === undefined) insertFirst = null;
|
|
399
|
+
|
|
400
|
+
return this.request(this.SERVER + '/api/' + this.version + '/' + table + '/create?'
|
|
401
|
+
+ (appendTo !== null ? '&appendTo=' + appendTo : '')
|
|
402
|
+
+ (insertAfter !== null ? '&insertAfter=' + insertAfter : '')
|
|
403
|
+
+ (insertFirst !== null ? '&insertFirst=' + insertFirst : '')
|
|
404
|
+
, JSON.stringify(values), 'POST');
|
|
397
405
|
|
|
398
406
|
}
|
|
399
407
|
|
|
@@ -409,11 +417,11 @@ class FLAMEREST {
|
|
|
409
417
|
table = table.replace(/_/g, "");
|
|
410
418
|
|
|
411
419
|
let params = {};
|
|
412
|
-
if(byFields instanceof Object) params = byFields;
|
|
413
|
-
|
|
420
|
+
if (byFields instanceof Object) params = byFields;
|
|
421
|
+
|
|
414
422
|
let resp = await this.request(this.SERVER + '/api/' + this.version + '/' + table + '/delete?id=' + id, JSON.stringify(params), 'DELETE');
|
|
415
423
|
|
|
416
|
-
if(resp.status === 204) return true;
|
|
424
|
+
if (resp.status === 204) return true;
|
|
417
425
|
|
|
418
426
|
return resp;
|
|
419
427
|
|
|
@@ -425,7 +433,7 @@ class FLAMEREST {
|
|
|
425
433
|
* @param ID
|
|
426
434
|
* @param values
|
|
427
435
|
*/
|
|
428
|
-
async edit(table, ID, values) {
|
|
436
|
+
async edit(table, ID, values, appendTo = null, insertAfter = null, insertFirst = null) {
|
|
429
437
|
|
|
430
438
|
// Нормализуем имена таблиц
|
|
431
439
|
table = table.replace(/_/g, "");
|
|
@@ -433,7 +441,15 @@ class FLAMEREST {
|
|
|
433
441
|
// Подготовить значения
|
|
434
442
|
await this.prepare(values);
|
|
435
443
|
|
|
436
|
-
|
|
444
|
+
if(appendTo === undefined) appendTo = null;
|
|
445
|
+
if (insertAfter === undefined) insertAfter = null;
|
|
446
|
+
if (insertFirst === undefined) insertFirst = null;
|
|
447
|
+
|
|
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 : '')
|
|
452
|
+
, JSON.stringify(values), 'PATCH');
|
|
437
453
|
}
|
|
438
454
|
|
|
439
455
|
/**
|
|
@@ -455,9 +471,9 @@ class FLAMEREST {
|
|
|
455
471
|
async auth(username, password) {
|
|
456
472
|
|
|
457
473
|
let resp = await this.request(this.SERVER + '/auth/auth', JSON.stringify({ login: username, password: password }), 'POST');
|
|
458
|
-
|
|
459
|
-
if(resp.errors) return resp;
|
|
460
|
-
if(resp.data.length === 0) {resp.errors = []; return resp;}
|
|
474
|
+
|
|
475
|
+
if (resp.errors) return resp;
|
|
476
|
+
if (resp.data.length === 0) { resp.errors = []; return resp; }
|
|
461
477
|
|
|
462
478
|
return resp.data;
|
|
463
479
|
|
|
@@ -466,9 +482,9 @@ class FLAMEREST {
|
|
|
466
482
|
async signup(username, password) {
|
|
467
483
|
|
|
468
484
|
let resp = await this.request(this.SERVER + '/auth/signup', JSON.stringify({ login: username, password: password }), 'POST');
|
|
469
|
-
|
|
470
|
-
if(resp.errors) return resp;
|
|
471
|
-
if(resp.data.length === 0) {resp.errors = []; return resp;}
|
|
485
|
+
|
|
486
|
+
if (resp.errors) return resp;
|
|
487
|
+
if (resp.data.length === 0) { resp.errors = []; return resp; }
|
|
472
488
|
|
|
473
489
|
return resp.data;
|
|
474
490
|
|
|
@@ -487,20 +503,20 @@ class FLAMEREST {
|
|
|
487
503
|
|
|
488
504
|
// Если в один из параметров передан FileList или input[type=file], т.е. нужно загрузить файлы
|
|
489
505
|
for (let val in values) {
|
|
490
|
-
|
|
506
|
+
|
|
491
507
|
// Преобразуем
|
|
492
508
|
let value = values[val];
|
|
493
509
|
let isRef = false;
|
|
494
|
-
if (value instanceof Object
|
|
495
|
-
&& value.hasOwnProperty('_value')
|
|
510
|
+
if (value instanceof Object
|
|
511
|
+
&& value.hasOwnProperty('_value')
|
|
496
512
|
&& (
|
|
497
|
-
value._value instanceof Event ||
|
|
498
|
-
value._value instanceof HTMLInputElement ||
|
|
499
|
-
value._value instanceof ClipboardEvent ||
|
|
500
|
-
value._value instanceof DataTransfer ||
|
|
513
|
+
value._value instanceof Event ||
|
|
514
|
+
value._value instanceof HTMLInputElement ||
|
|
515
|
+
value._value instanceof ClipboardEvent ||
|
|
516
|
+
value._value instanceof DataTransfer ||
|
|
501
517
|
value._value instanceof FileList
|
|
502
|
-
|
|
503
|
-
) {value = value.value; isRef = true}
|
|
518
|
+
)
|
|
519
|
+
) { value = value.value; isRef = true }
|
|
504
520
|
|
|
505
521
|
if (value instanceof Event && value.target instanceof HTMLInputElement && value.target.type === 'file') value = value.target.files;
|
|
506
522
|
if (value instanceof HTMLInputElement && value.type === 'file') value = value.files;
|
|
@@ -534,13 +550,13 @@ class FLAMEREST {
|
|
|
534
550
|
readFileAsync(file) {
|
|
535
551
|
return new Promise((resolve, reject) => {
|
|
536
552
|
let reader = new FileReader();
|
|
537
|
-
|
|
553
|
+
|
|
538
554
|
reader.onloadend = () => {
|
|
539
555
|
resolve(reader.result);
|
|
540
556
|
};
|
|
541
|
-
|
|
557
|
+
|
|
542
558
|
reader.onerror = reject;
|
|
543
|
-
|
|
559
|
+
|
|
544
560
|
reader.readAsDataURL(file);
|
|
545
561
|
})
|
|
546
562
|
}
|