@cellaware/utils 8.16.0 → 8.17.1
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/chatwms/alert.d.ts
CHANGED
|
@@ -49,8 +49,6 @@ export interface AlertContentInfo extends DatagridStateBase {
|
|
|
49
49
|
contextName: DataContext;
|
|
50
50
|
specification: string;
|
|
51
51
|
query: string;
|
|
52
|
-
/** Parsed & optimized database version of ChatWMS query. */
|
|
53
|
-
jitQuery?: string;
|
|
54
52
|
summary: string;
|
|
55
53
|
reviewOk?: boolean;
|
|
56
54
|
reviewConfidence?: string;
|
package/dist/chatwms/cosmos.js
CHANGED
|
@@ -340,7 +340,7 @@ function injectParameters(query, parameters) {
|
|
|
340
340
|
if (parameters.length > 0) {
|
|
341
341
|
let whereBuf = '1 = 1';
|
|
342
342
|
for (const parameter of parameters) {
|
|
343
|
-
whereBuf += ` AND ${codifyCondition(parameter)}`;
|
|
343
|
+
whereBuf += ` AND ${codifyCondition(parameter, 'cosmos')}`;
|
|
344
344
|
}
|
|
345
345
|
const subquery = `SELECT * FROM ${SUBQUERY_QUERY_PLACEHOLDER} param_sq WHERE ${whereBuf}`;
|
|
346
346
|
queryMut = injectSubquery(queryMut, subquery);
|
|
@@ -44,8 +44,6 @@ export interface DashboardWidgetContentInfo extends DatagridStateBase {
|
|
|
44
44
|
contextName: DataContext;
|
|
45
45
|
specification: string;
|
|
46
46
|
query: string;
|
|
47
|
-
/** Parsed & optimized database version of ChatWMS query. */
|
|
48
|
-
jitQuery?: string;
|
|
49
47
|
summary: string;
|
|
50
48
|
reviewOk?: boolean;
|
|
51
49
|
reviewConfidence?: string;
|
|
@@ -147,7 +147,8 @@ export declare function initDatagridCondition(): DatagridCondition;
|
|
|
147
147
|
export declare function summarizeCondition(condition: DatagridCondition, localeMessageFn: (language: string, messageId: string) => Promise<string>): Promise<string>;
|
|
148
148
|
export declare function summarizeConditionMarkdown(condition: DatagridCondition, localeMessageFn: (language: string, messageId: string) => Promise<string>): Promise<string>;
|
|
149
149
|
export declare function summarizeConditionHtml(condition: DatagridCondition, localeMessageFn: (language: string, messageId: string) => Promise<string>): Promise<string>;
|
|
150
|
-
|
|
150
|
+
/** Supported dialects: `mssql` | `oracle` | `snowflake` | `sqlite` | `cosmos` */
|
|
151
|
+
export declare function codifyCondition(condition: DatagridCondition, sqlDialect: string): string;
|
|
151
152
|
/**
|
|
152
153
|
* Equivalent of `parseNumeric` in front end
|
|
153
154
|
*
|
package/dist/chatwms/datagrid.js
CHANGED
|
@@ -379,7 +379,15 @@ export async function summarizeConditionHtml(condition, localeMessageFn) {
|
|
|
379
379
|
}
|
|
380
380
|
return `<code>${condition.columnName}</code> ${ruleStr}`;
|
|
381
381
|
}
|
|
382
|
-
|
|
382
|
+
const DATE_FORMATTERS = {
|
|
383
|
+
mssql: column => `CONVERT(VARCHAR(10), ${column}, 23)`,
|
|
384
|
+
oracle: column => `TO_CHAR(${column}, 'YYYY-MM-DD')`,
|
|
385
|
+
snowflake: column => `TO_CHAR(${column}, 'YYYY-MM-DD')`,
|
|
386
|
+
sqlite: column => `strftime('%Y-%m-%d', ${column})`,
|
|
387
|
+
cosmos: column => `SUBSTRING(${column}, 0, 10`,
|
|
388
|
+
};
|
|
389
|
+
/** Supported dialects: `mssql` | `oracle` | `snowflake` | `sqlite` | `cosmos` */
|
|
390
|
+
export function codifyCondition(condition, sqlDialect) {
|
|
383
391
|
// NOTE: since we check for action/unsafe SQL with every query, we do not need to check for SQL injection here.
|
|
384
392
|
if (condition.dataType === 'number') {
|
|
385
393
|
const v1 = !condition.value || condition.value == '' ? 0 : condition.value;
|
|
@@ -413,7 +421,9 @@ export function codifyCondition(condition) {
|
|
|
413
421
|
const v1 = !condition.value || condition.value == '' ? 0 : condition.value;
|
|
414
422
|
const v2 = !condition.value2 || condition.value2 == '' ? 0 : condition.value2;
|
|
415
423
|
// Need to wrap in quotes due to how ChatWMS will alias columns (ex: location_id -> Location ID).
|
|
416
|
-
|
|
424
|
+
// Also need to make sure we are using a consistent date format.
|
|
425
|
+
// **Important:** since we do not currently support times, we will use a simple date format (YYYY-MM-DD).
|
|
426
|
+
const quotedColumnName = DATE_FORMATTERS[sqlDialect](`"${condition.columnName}"`);
|
|
417
427
|
switch (condition.rule) {
|
|
418
428
|
case ConditionalFormatRule.EQUALS:
|
|
419
429
|
return `${quotedColumnName} = '${v1}'`;
|
package/dist/chatwms/report.d.ts
CHANGED
|
@@ -54,8 +54,6 @@ export interface ReportLineContentInfo extends DatagridStateBase {
|
|
|
54
54
|
contextName: DataContext;
|
|
55
55
|
specification: string;
|
|
56
56
|
query: string;
|
|
57
|
-
/** Parsed & optimized database version of ChatWMS query. */
|
|
58
|
-
jitQuery?: string;
|
|
59
57
|
summary: string;
|
|
60
58
|
reviewOk?: boolean;
|
|
61
59
|
reviewConfidence?: string;
|