flamerest 1.0.93 → 1.0.94

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 +15 -1
  2. package/REST.js +13 -9
  3. package/package.json +1 -1
package/REST.d.ts CHANGED
@@ -69,7 +69,21 @@ interface IREST {
69
69
  * @param {object} params
70
70
  * @returns
71
71
  */
72
- all<T>(table: string, params?: { where?: object, extfields?: object | Array<string>, fields?: object | Array<string>, sort?: Array<string>, page?: number, perPage?: number, tree?: number, params?: any }): Promise<Rows<T>>,
72
+ all<T>(table: string, params?: {
73
+ where?: object,
74
+ extfields?: object | Array<string>,
75
+ fields?: object | Array<string>,
76
+ sort?: Array<string>,
77
+ page?: number,
78
+ perPage?: number,
79
+ tree?: number,
80
+ params?: any,
81
+ export?: {
82
+ format?: 'xlsx' | 'csv',
83
+ titles?: Array<string>,
84
+ filename?: string,
85
+ }
86
+ }): Promise<Rows<T>>,
73
87
 
74
88
  /**
75
89
  * Получить одну запись по ID или по условию выборки [первая запись]
package/REST.js CHANGED
@@ -320,9 +320,10 @@ class FLAMEREST {
320
320
  * @param titles Это чтобы мы могли контроллить какие названия полей мы будет загружать при экспорте, чтобы они были как в таблице
321
321
  * @param tree дерево
322
322
  * @param params Доп параметры для кастомизации запроса на беке
323
+ * @param exportData имя файла для экспорта
323
324
  * @return Promise<>
324
325
  */
325
- get(table, where, extfields, fields, sortfields, page, perPage, RemoveDuplicates, format, titles, tree, params) {
326
+ get(table, where, extfields, fields, sortfields, page, perPage, RemoveDuplicates, format, titles, tree, params, exportData) {
326
327
 
327
328
  // Нормализуем имена таблиц
328
329
  table = table.replace(/_/g, "");
@@ -345,9 +346,6 @@ class FLAMEREST {
345
346
  if (fields !== undefined && fields !== null)
346
347
  json.fields = fields;
347
348
 
348
- if (titles !== undefined && titles !== null)
349
- json.titles = titles;
350
-
351
349
  if (sortfields !== undefined && sortfields !== null)
352
350
  json.sort = sortfields;
353
351
 
@@ -360,13 +358,19 @@ class FLAMEREST {
360
358
  if (RemoveDuplicates !== undefined && RemoveDuplicates !== null)
361
359
  json.RemoveDuplicates = true;
362
360
 
363
- if (format !== undefined && format !== null) {
364
- json.format = format;
361
+ if (titles !== undefined && titles !== null)
362
+ json.titles = titles;
363
+
364
+ // экспорт
365
+ if (exportData !== undefined && exportData !== null) {
366
+ json.export = {
367
+ format: exportData.format ?? 'xlsx',
368
+ titles: exportData.titles ?? [],
369
+ filename: exportData.filename ?? 'export_' + new Date().toUTCString + ".xlsx",
370
+ };
365
371
  responseType = "blob";
366
372
  }
367
373
 
368
-
369
-
370
374
  // Страницы
371
375
  json['per-page'] = perPage === undefined ? this.perPageDefault : perPage;
372
376
  json['page'] = page === undefined ? 1 : page;
@@ -382,7 +386,7 @@ class FLAMEREST {
382
386
  * @returns {object}
383
387
  */
384
388
  all(table, params) {
385
- return this.get(table, params?.where, params?.extfields, params?.fields, params?.sort, params?.page, params?.perPage, null, null, null, params?.tree, params?.params);
389
+ return this.get(table, params?.where, params?.extfields, params?.fields, params?.sort, params?.page, params?.perPage, null, null, null, params?.tree, params?.params, params?.export);
386
390
  }
387
391
 
388
392
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flamerest",
3
- "version": "1.0.93",
3
+ "version": "1.0.94",
4
4
  "description": "",
5
5
  "main": "REST.js",
6
6
  "typings": "./REST.d.ts",