flamerest 1.0.29 → 1.0.32

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 +10 -10
  2. package/REST.js +13 -6
  3. package/package.json +1 -1
package/REST.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * @param {string} type Тип
6
6
  * @param {string} responseType Тип ответа: json или blob
7
7
  */
8
- export function request(url: string, params: object | string, type: string, responseType: string): object
8
+ export function request(url: string, params: object | string, type?: string, responseType?: string): object
9
9
 
10
10
  /**
11
11
  * Получить выборку из таблицы через REST
@@ -21,7 +21,7 @@ export function request(url: string, params: object | string, type: string, resp
21
21
  * @param titles Это чтобы мы могли контроллить какие названия полей мы будет загружать при экспорте, чтобы они были как в таблице
22
22
  * @return Promise<object>
23
23
  */
24
- export function get(table: string, where: object | string | null, expand: object | string | null, fields: object | Array<string> | string | null, sortfields: object | Array<string> | string | null, page: number, perPage: number, RemoveDuplicates, format, titles): object
24
+ export function get(table: string, where?: object | string | null, expand?: object | string | null, fields?: object | Array<string> | string | null, sortfields?: object | Array<string> | string | null, page?: number, perPage?: number, RemoveDuplicates?, format?, titles?): object
25
25
 
26
26
  /**
27
27
  * Получить все записи по запросу [постранично]
@@ -29,16 +29,16 @@ export function get(table: string, where: object | string | null, expand: object
29
29
  * @param {object} params
30
30
  * @returns
31
31
  */
32
- export function all(table: string, params: {where: object, fields: object|Array<string>, sort: Array<string>, page: number, perPage: number}): object;
32
+ export function all(table: string, params?: {where?: object, fields?: object|Array<string>, sort?: Array<string>, page?: number, perPage?: number}): object;
33
33
 
34
34
  /**
35
- * Получить одну запись по её ID
36
- * @param table
37
- * @param id
38
- * @param fields
39
- * @param primaryKeyName
35
+ * Получить одну запись по ID или по условию выборки [первая запись]
36
+ * @param {string} table
37
+ * @param {number|string|object} IDOrWhere
38
+ * @param {object|Array} fields
39
+ * @param {string} primaryKeyName если указан ID, то указать название первичного ключа, если от id он отличается
40
40
  */
41
- export function one(table: string, id: number|string, fields: object|Array<string>, primaryKeyName: string): object;
41
+ export function one(table: string, IDOrWhere: number|string|object, fields?: object|Array<string>|null, primaryKeyName?: string): object|null;
42
42
 
43
43
  /**
44
44
  * Создать новую запись
@@ -53,7 +53,7 @@ export function create(table: string, values: object)
53
53
  * @param id
54
54
  * @param byFields Если указан, удаляет по этим параметрам
55
55
  */
56
- export function remove(table: string, id: number | string, byFields: object)
56
+ export function remove(table: string, id: number | string, byFields?: object)
57
57
 
58
58
  /**
59
59
  * Редактировать значения
package/REST.js CHANGED
@@ -354,17 +354,24 @@ class FLAMEREST {
354
354
  }
355
355
 
356
356
  /**
357
- * Получить одну запись по ID
357
+ * Получить одну запись по ID или по условию выборки [первая запись]
358
358
  * @param {string} table
359
- * @param {number|string} id
359
+ * @param {number|string|object} IDOrWhere
360
360
  * @param {object|Array} fields
361
361
  * @param {string} primaryKeyName
362
- * @returns {object}
362
+ * @returns {object|null}
363
363
  */
364
- async one(table, id, fields = null, primaryKeyName = 'id') {
365
- let resp = await this.get(table, {[primaryKeyName]:id}, null, fields, null, 1, 1);
364
+ async one(table, IDOrWhere, fields = null, primaryKeyName = 'id') {
365
+
366
+ let where = {};
367
+ if(typeof IDOrWhere === 'string' || typeof IDOrWhere === 'number') where = {[primaryKeyName]:id};
368
+ else if(typeof IDOrWhere === 'object') where = IDOrWhere;
369
+ else throw "Нужно передавать ID или объект";
370
+
371
+ let resp = await this.get(table, where , null, fields, null, 1, 1);
366
372
  if(resp.errors) return resp;
367
- if(resp.data.length === 0) return resp;
373
+ if(resp.data.length === 0) return null;
374
+
368
375
  return resp.data[0];
369
376
  }
370
377
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flamerest",
3
- "version": "1.0.29",
3
+ "version": "1.0.32",
4
4
  "description": "",
5
5
  "main": "REST.js",
6
6
  "typings": "./REST.d.ts",