@isoftdata/utility-dashboard-backend 2.4.13 → 2.4.15

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/dist/index.js CHANGED
@@ -37,7 +37,7 @@ exports.formatChartDataForReport = formatChartDataForReport;
37
37
  const db = require('@isoftdata/utility-db');
38
38
  const chart_helper_js_1 = require("./chart-helper.js");
39
39
  const utility_date_time_1 = require("@isoftdata/utility-date-time");
40
- const formatDate = require('date-fns/format');
40
+ const date_fns_1 = require("date-fns");
41
41
  const camelcase_1 = __importDefault(require("camelcase"));
42
42
  const mysql = require('mysql');
43
43
  const deepmerge = require('deepmerge');
@@ -156,6 +156,26 @@ const loadOptionList = async (mysqlConnection, optionListQuery, optionList = [])
156
156
  const optionsFromQuery = (optionListQuery && (await db.query(mysqlConnection, optionListQuery))) || [];
157
157
  return [...optionList, ...optionsFromQuery.map((option) => ({ ...option, fromQuery: true }))];
158
158
  };
159
+ const isValidDateRangeValue = (value) => {
160
+ return [
161
+ 'Always',
162
+ 'Today',
163
+ 'Yesterday',
164
+ 'Last 7 Days',
165
+ 'Last 30 Days',
166
+ 'Last 90 Days',
167
+ 'Last 365 Days',
168
+ 'This Week',
169
+ 'This Month',
170
+ 'This Quarter',
171
+ 'This Year',
172
+ 'Previous Week',
173
+ 'Previous Month',
174
+ 'Previous Quarter',
175
+ 'Previous Year',
176
+ 'Custom',
177
+ ].includes(value);
178
+ };
159
179
  async function loadOutputParameterValues(mysqlConnection, { definitionList = [], selectionList = [], forClient = false, session, site = 'store', siteIdColumn, siteNameColumn }) {
160
180
  if (!(definitionList instanceof Array) || !definitionList.length) {
161
181
  return [];
@@ -163,24 +183,21 @@ async function loadOutputParameterValues(mysqlConnection, { definitionList = [],
163
183
  const parameterValues = [];
164
184
  for (const definition of definitionList) {
165
185
  const matchingParameterSelection = selectionList.find(param => param.name === definition.name);
166
- let typedParameter;
167
- const baseParameter = {
168
- name: definition.name,
186
+ let typedParameter = {
187
+ ...definition,
169
188
  title: definition.title || definition.name,
170
- default: definition.default,
171
- value: matchingParameterSelection?.value ?? definition.default,
172
189
  queryValues: {},
173
190
  };
174
- if (definition.type === 'dateRange') {
175
- baseParameter.value = baseParameter.value || 'Last 30 Days';
191
+ if (typedParameter.type !== 'dateRange') {
192
+ typedParameter.value = matchingParameterSelection?.value ?? definition.default;
193
+ }
194
+ if (typedParameter.type === 'dateRange') {
195
+ typedParameter.value = isValidDateRangeValue(typedParameter.value) ? typedParameter.value : 'Last 30 Days';
176
196
  typedParameter = {
177
- ...baseParameter,
197
+ ...typedParameter,
178
198
  type: 'dateRange',
179
- dates: matchingParameterSelection?.dates ?? (0, utility_date_time_1.datesFromRange)(baseParameter.value),
199
+ dates: matchingParameterSelection?.dates ?? (typedParameter.value !== 'Custom' ? (0, utility_date_time_1.datesFromRange)(typedParameter.value) : { from: '', to: '' }),
180
200
  };
181
- if (typedParameter.value !== 'Custom') {
182
- typedParameter.dates = (0, utility_date_time_1.datesFromRange)(typedParameter.value);
183
- }
184
201
  if (!forClient) {
185
202
  typedParameter.queryValues = {
186
203
  [`${typedParameter.name}_start_date`]: typedParameter.dates.from,
@@ -190,7 +207,7 @@ async function loadOutputParameterValues(mysqlConnection, { definitionList = [],
190
207
  }
191
208
  else if (definition.type === 'selection') {
192
209
  typedParameter = {
193
- ...baseParameter,
210
+ ...typedParameter,
194
211
  type: 'selection',
195
212
  optionListQuery: definition?.optionListQuery,
196
213
  optionList: definition?.optionList,
@@ -208,7 +225,7 @@ async function loadOutputParameterValues(mysqlConnection, { definitionList = [],
208
225
  }
209
226
  else if (definition.type === 'siteSelection') {
210
227
  typedParameter = {
211
- ...baseParameter,
228
+ ...typedParameter,
212
229
  type: 'siteSelection',
213
230
  permission: definition?.permission,
214
231
  optionList: [],
@@ -247,23 +264,15 @@ async function loadOutputParameterValues(mysqlConnection, { definitionList = [],
247
264
  };
248
265
  }
249
266
  }
250
- else if (definition.type === 'date') {
251
- typedParameter = {
252
- ...baseParameter,
253
- type: 'date',
254
- };
255
- typedParameter.value = typedParameter.value || formatDate(new Date(), 'yyyy-MM-dd');
267
+ else if (typedParameter.type === 'date') {
268
+ typedParameter.value = typedParameter.value || (0, date_fns_1.format)(new Date(), 'yyyy-MM-dd');
256
269
  if (!forClient) {
257
270
  typedParameter.queryValues = {
258
271
  [typedParameter.name]: typedParameter.value,
259
272
  };
260
273
  }
261
274
  }
262
- else if (definition.type === 'session') {
263
- typedParameter = {
264
- ...baseParameter,
265
- type: 'session',
266
- };
275
+ else if (typedParameter.type === 'session') {
267
276
  const parameterName = (0, camelcase_1.default)(definition.name);
268
277
  typedParameter.value = (session[parameterName] ?? '').toString();
269
278
  if (!forClient) {
@@ -273,7 +282,7 @@ async function loadOutputParameterValues(mysqlConnection, { definitionList = [],
273
282
  }
274
283
  }
275
284
  else {
276
- throw new Error(`Parameter type mismatch for ${baseParameter.name}`);
285
+ throw new Error(`Parameter type mismatch for ${typedParameter.name}`);
277
286
  }
278
287
  parameterValues.push(typedParameter);
279
288
  }
@@ -359,4 +368,4 @@ async function formatChartDataForReport(mysqlConnection, { reportParameters, cha
359
368
  throw err;
360
369
  }
361
370
  }
362
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4SEEsa0ZBNENDO0FBT0Qsc0NBR0M7QUFtQkQsOERBaUpDO0FBV0QsOENBeUJDO0FBRUQsMENBcUJDO0FBV0Qsb0RBcUJDO0FBbUJELDREQTJCQztBQWplRCxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtBQUMzQyx1REFVMEI7QUFDMUIsb0VBQTZEO0FBQzdELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0FBQzdDLDBEQUFpQztBQUNqQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDOUIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBTXRDLDZFQUE0RDtBQUM1RCxxREFBNkQ7QUFBcEQsNEhBQUEseUJBQXlCLE9BQUE7QUFNbEMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsU0FBMEIsRUFBRSxFQUFFO0lBQ3ZGLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDbkIsS0FBSyxVQUFVO2dCQUVkLFNBQVMsR0FBRyxJQUFBLCtDQUE2QixFQUFDLFNBQVMsQ0FBQyxDQUFBO2dCQUNwRCxNQUFLO1lBQ04sS0FBSyxTQUFTO2dCQUViLFNBQVMsR0FBRyxJQUFBLGtDQUFnQixFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUE7Z0JBQ3JFLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDNUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FB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
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4SEEsa0ZBNENDO0FBT0Qsc0NBR0M7QUF3Q0QsOERBc0lDO0FBV0QsOENBeUJDO0FBRUQsMENBcUJDO0FBV0Qsb0RBcUJDO0FBbUJELDREQTJCQztBQTNlRCxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtBQUMzQyx1REFVMEI7QUFDMUIsb0VBQTZEO0FBQzdELHVDQUErQztBQUMvQywwREFBaUM7QUFDakMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzlCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQU10Qyw2RUFBNEQ7QUFDNUQscURBQTZEO0FBQXBELDRIQUFBLHlCQUF5QixPQUFBO0FBTWxDLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxTQUFpQixFQUFFLFNBQTBCLEVBQUUsRUFBRTtJQUN2RixJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ25CLEtBQUssVUFBVTtnQkFFZCxTQUFTLEdBQUcsSUFBQSwrQ0FBNkIsRUFBQyxTQUFTLENBQUMsQ0FBQTtnQkFDcEQsTUFBSztZQUNOLEtBQUssU0FBUztnQkFFYixTQUFTLEdBQUcsSUFBQSxrQ0FBZ0IsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO2dCQUNyRSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQzVCLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFBO2dCQUM1QixDQUFDO2dCQUNELE1BQUs7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
@@ -1,3 +1,4 @@
1
+ import type { NamedDateRange } from '@isoftdata/utility-date-time';
1
2
  export interface OptionListEntry {
2
3
  id: number | string;
3
4
  name: string;
@@ -17,6 +18,7 @@ export interface DashboardReportDateParameter extends DashboardReportBaseParamet
17
18
  }
18
19
  export interface DashboardReportDateRangeParameter extends DashboardReportBaseParameter {
19
20
  type: 'dateRange';
21
+ value: NamedDateRange | 'Custom';
20
22
  dates: {
21
23
  from: string;
22
24
  to: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isoftdata/utility-dashboard-backend",
3
- "version": "2.4.13",
3
+ "version": "2.4.15",
4
4
  "description": "A utility for formatting chart and report data to be usable by the frontend dashboard component.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -25,10 +25,10 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
- "@isoftdata/utility-date-time": "^2.0.3",
28
+ "@isoftdata/utility-date-time": "^4.0.1",
29
29
  "@isoftdata/utility-db": "^1.4.0",
30
30
  "camelcase": "^6.3.0",
31
- "date-fns": "^2.23.0",
31
+ "date-fns": "^3.6.0",
32
32
  "deepmerge": "^4.2.2",
33
33
  "klona": "^2.0.5",
34
34
  "mathjs": "^11.5.0",