Skip to content

Commit 808fa2b

Browse files
committed
w603 message logger csv parser
1 parent 7a1997f commit 808fa2b

11 files changed

+337
-239
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ _This project is completely unofficial and is in no way affiliated with or endor
2525
| W235 | Inventory Snapshot | ✔️ | |
2626
| W311 | Active Work Orders by Shop | | ✔️ |
2727
| W600 | Pick List Values Report | ✔️ | |
28+
| W603 | Message Logger | ✔️ | |
2829
| W604 | Integration Log Viewer | | ✔️ |
2930

3031
## Important Notes

csvReports.d.ts

+5
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,14 @@ export declare const fasterCsvReportOptions: {
2323
* W600 - Pick List Values Report
2424
*/
2525
w600: ParseFasterCsvReportOptions<import("./csvReports/setup/w600.pickListValues.js").W600ReportRow>;
26+
/**
27+
* W603 - Message Logger
28+
*/
29+
w603: ParseFasterCsvReportOptions<import("./csvReports/setup/w603.messageLogger.js").W603ReportRow>;
2630
};
2731
export type SupportedFasterCsvReportName = keyof typeof fasterCsvReportOptions | Capitalize<keyof typeof fasterCsvReportOptions>;
2832
export type { W200SReportRow } from './csvReports/inventory/w200s.inventorySummary.js';
2933
export type { W223ReportRow } from './csvReports/inventory/w223.inventoryTransactionDetails.js';
3034
export type { W235ReportRow } from './csvReports/inventory/w235.inventorySnapshot.js';
3135
export type { W600ReportRow } from './csvReports/setup/w600.pickListValues.js';
36+
export type { W603ReportRow } from './csvReports/setup/w603.messageLogger.js';

csvReports.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { w200s } from './csvReports/inventory/w200s.inventorySummary.js';
77
import { w223 } from './csvReports/inventory/w223.inventoryTransactionDetails.js';
88
import { w235 } from './csvReports/inventory/w235.inventorySnapshot.js';
99
import { w600 } from './csvReports/setup/w600.pickListValues.js';
10+
import { w603 } from './csvReports/setup/w603.messageLogger.js';
1011
/**
1112
* Parses CSV files of Standard FASTER reports.
1213
* @param pathToCsvFile - Path to a FASTER CSV file.
@@ -16,6 +17,7 @@ import { w600 } from './csvReports/setup/w600.pickListValues.js';
1617
export async function parseFasterCsvReport(pathToCsvFile, parsingOptions) {
1718
// eslint-disable-next-line security/detect-non-literal-fs-filename
1819
const fileStream = fs.createReadStream(pathToCsvFile);
20+
// eslint-disable-next-line promise/avoid-new
1921
return await new Promise((resolve) => {
2022
const results = {
2123
data: [],
@@ -79,5 +81,9 @@ export const fasterCsvReportOptions = {
7981
/**
8082
* W600 - Pick List Values Report
8183
*/
82-
w600
84+
w600,
85+
/**
86+
* W603 - Message Logger
87+
*/
88+
w603
8389
};

csvReports.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { w200s } from './csvReports/inventory/w200s.inventorySummary.js'
1414
import { w223 } from './csvReports/inventory/w223.inventoryTransactionDetails.js'
1515
import { w235 } from './csvReports/inventory/w235.inventorySnapshot.js'
1616
import { w600 } from './csvReports/setup/w600.pickListValues.js'
17+
import { w603 } from './csvReports/setup/w603.messageLogger.js'
1718

1819
/**
1920
* Parses CSV files of Standard FASTER reports.
@@ -28,6 +29,7 @@ export async function parseFasterCsvReport<T>(
2829
// eslint-disable-next-line security/detect-non-literal-fs-filename
2930
const fileStream = fs.createReadStream(pathToCsvFile)
3031

32+
// eslint-disable-next-line promise/avoid-new
3133
return await new Promise<FasterCsvReportResults<T>>((resolve) => {
3234
const results: FasterCsvReportResults<T> = {
3335
data: [],
@@ -122,7 +124,12 @@ export const fasterCsvReportOptions = {
122124
/**
123125
* W600 - Pick List Values Report
124126
*/
125-
w600
127+
w600,
128+
129+
/**
130+
* W603 - Message Logger
131+
*/
132+
w603
126133
}
127134

128135
export type SupportedFasterCsvReportName =
@@ -133,3 +140,4 @@ export type { W200SReportRow } from './csvReports/inventory/w200s.inventorySumma
133140
export type { W223ReportRow } from './csvReports/inventory/w223.inventoryTransactionDetails.js'
134141
export type { W235ReportRow } from './csvReports/inventory/w235.inventorySnapshot.js'
135142
export type { W600ReportRow } from './csvReports/setup/w600.pickListValues.js'
143+
export type { W603ReportRow } from './csvReports/setup/w603.messageLogger.js'
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import type { ParseFasterCsvReportOptions } from '../csvTypes.js';
2+
declare const w603ColumnReturnNames: {
3+
readonly Textbox4: "messageId";
4+
readonly Textbox5: "messageDateTime";
5+
readonly Textbox14: "messageType";
6+
readonly Textbox15: "message";
7+
readonly Textbox129: "exceptionDetails";
8+
};
9+
export type W603ReportRow = Record<(typeof w603ColumnReturnNames)[keyof typeof w603ColumnReturnNames], string>;
10+
/**
11+
* W600 - Pick List Values Report
12+
*/
13+
export declare const w603: ParseFasterCsvReportOptions<W603ReportRow>;
14+
export {};
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const w603ColumnReturnNames = {
2+
Textbox4: 'messageId',
3+
Textbox5: 'messageDateTime',
4+
Textbox14: 'messageType',
5+
Textbox15: 'message',
6+
Textbox129: 'exceptionDetails'
7+
};
8+
/**
9+
* W600 - Pick List Values Report
10+
*/
11+
export const w603 = {
12+
columnReturnNames: w603ColumnReturnNames,
13+
columnParameterReturnNames: {
14+
textbox390: 'timeZone',
15+
textbox24: 'startDate',
16+
textbox386: 'endDate',
17+
textbox388: 'messageType',
18+
Textbox10: 'applicationType',
19+
Textbox318: 'displayExceptionDetails'
20+
},
21+
columnVersionReturnNames: {
22+
textbox224: 'script'
23+
}
24+
};
+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import type { ParseFasterCsvReportOptions } from '../csvTypes.js'
2+
3+
const w603ColumnReturnNames = {
4+
Textbox4: 'messageId',
5+
Textbox5: 'messageDateTime',
6+
Textbox14: 'messageType',
7+
Textbox15: 'message',
8+
Textbox129: 'exceptionDetails'
9+
} as const
10+
11+
export type W603ReportRow = Record<
12+
(typeof w603ColumnReturnNames)[keyof typeof w603ColumnReturnNames],
13+
string
14+
>
15+
16+
/**
17+
* W600 - Pick List Values Report
18+
*/
19+
export const w603: ParseFasterCsvReportOptions<W603ReportRow> = {
20+
columnReturnNames: w603ColumnReturnNames,
21+
columnParameterReturnNames: {
22+
textbox390: 'timeZone',
23+
textbox24: 'startDate',
24+
textbox386: 'endDate',
25+
textbox388: 'messageType',
26+
Textbox10: 'applicationType',
27+
Textbox318: 'displayExceptionDetails'
28+
29+
},
30+
columnVersionReturnNames: {
31+
textbox224: 'script'
32+
}
33+
}

0 commit comments

Comments
 (0)