flamerest 1.0.17 → 1.0.20
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 +70 -0
- package/REST.js +17 -2
- package/package.json +5 -2
package/REST.d.ts
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {string} url Адрес
|
|
4
|
+
* @param {object|string} params Параметры, которые надо передать, могут быть в виде объекта или строки
|
|
5
|
+
* @param {string} type Тип
|
|
6
|
+
* @param {string} responseType Тип ответа: json или blob
|
|
7
|
+
*/
|
|
8
|
+
export function request(url: string, params: object|string, type:string = 'GET', responseType:string = 'json'): object
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Получить выборку из таблицы через REST
|
|
12
|
+
* @param table
|
|
13
|
+
* @param fields
|
|
14
|
+
* @param where Позволяет делать выборку из связанных таблиц, надо только их указать через название таблицы sites.id=5, и указать колонку в expand
|
|
15
|
+
* @param expand
|
|
16
|
+
* @param sortfields
|
|
17
|
+
* @param page
|
|
18
|
+
* @param perPage
|
|
19
|
+
* @param RemoveDuplicates
|
|
20
|
+
* @param format
|
|
21
|
+
* @param titles Это чтобы мы могли контроллить какие названия полей мы будет загружать при экспорте, чтобы они были как в таблице
|
|
22
|
+
* @return Promise<>
|
|
23
|
+
*/
|
|
24
|
+
export function get(table: string, where, expand, fields, sortfields, page, perPage, RemoveDuplicates, format, titles): object
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Создать новую запись
|
|
28
|
+
* @param table
|
|
29
|
+
* @param values
|
|
30
|
+
*/
|
|
31
|
+
export function create(table: string, values: object)
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Удалить запись
|
|
35
|
+
* @param table
|
|
36
|
+
* @param id
|
|
37
|
+
*/
|
|
38
|
+
export function remove(table, id)
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Редактировать значения
|
|
42
|
+
* @param table
|
|
43
|
+
* @param ID
|
|
44
|
+
* @param values
|
|
45
|
+
*/
|
|
46
|
+
export function edit(table, ID, values)
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Получить схемы всех таблиц
|
|
50
|
+
*/
|
|
51
|
+
export function getCRUDInfo(): object
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Авторизоваться
|
|
55
|
+
* @param username
|
|
56
|
+
* @param password
|
|
57
|
+
*/
|
|
58
|
+
export function auth(username: string, password: string);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Зарегистрироваться с этим логином и паролем
|
|
62
|
+
* @param username
|
|
63
|
+
* @param password
|
|
64
|
+
*/
|
|
65
|
+
export function signup(username, password);
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Выйти из системы
|
|
69
|
+
*/
|
|
70
|
+
export function logout(): object;
|
package/REST.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
2
|
+
class FLAMEREST {
|
|
3
3
|
|
|
4
4
|
constructor(server_address, localhost_endpoint, unauthorized_callback){
|
|
5
5
|
|
|
@@ -156,7 +156,7 @@ export default class FLAMEREST {
|
|
|
156
156
|
ResolveBody.data = response;
|
|
157
157
|
resolve(ResolveBody);
|
|
158
158
|
|
|
159
|
-
}).catch(err=>{
|
|
159
|
+
}).catch(async err=>{
|
|
160
160
|
|
|
161
161
|
// Ошибка загрузки любого типа
|
|
162
162
|
// TODO: на этом этапе стоит сделать, чтобы он пробовал повторить запрос, если это GET
|
|
@@ -168,6 +168,10 @@ export default class FLAMEREST {
|
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
+
if(typeof err.body === 'object') {
|
|
172
|
+
err.body = await err.body;
|
|
173
|
+
}
|
|
174
|
+
|
|
171
175
|
console.log('Ошибка загрузки [' + 0 + '] ' + url + ": " + err.message);
|
|
172
176
|
|
|
173
177
|
reject(err);
|
|
@@ -371,8 +375,19 @@ export default class FLAMEREST {
|
|
|
371
375
|
return this.request(this.SERVER + '/auth/auth', JSON.stringify({login: username, password: password}), 'POST');
|
|
372
376
|
}
|
|
373
377
|
|
|
378
|
+
signup(username, password) {
|
|
379
|
+
return this.request(this.SERVER + '/auth/signup', JSON.stringify({login: username, password: password}), 'POST');
|
|
380
|
+
}
|
|
381
|
+
|
|
374
382
|
logout() {
|
|
375
383
|
return this.request(this.SERVER + '/auth/logout', '{}', 'POST');
|
|
376
384
|
}
|
|
377
385
|
|
|
378
386
|
}
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
if(!window.REST) {
|
|
390
|
+
window.REST = new FLAMEREST();
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
export default window.REST;
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flamerest",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.20",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "REST.js",
|
|
6
|
-
"
|
|
6
|
+
"typings": "./REST.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"push and publish": "git push && npm --no-git-tag-version version patch && npm publish"
|
|
9
|
+
},
|
|
7
10
|
"repository": {
|
|
8
11
|
"type": "git",
|
|
9
12
|
"url": "git+https://github.com/FlameArt/rest.git"
|