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.
Files changed (3) hide show
  1. package/REST.d.ts +70 -0
  2. package/REST.js +17 -2
  3. 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
- export default class FLAMEREST {
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.17",
3
+ "version": "1.0.20",
4
4
  "description": "",
5
5
  "main": "REST.js",
6
- "scripts": {},
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"