@rocketlink/crm-model 1.0.325 → 1.0.327
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/dtos/csv.response.dto.d.ts +13 -0
- package/dist/dtos/csv.response.dto.d.ts.map +1 -1
- package/dist/util/dateUtil.d.ts +4 -0
- package/dist/util/dateUtil.d.ts.map +1 -1
- package/dist/util/dateUtil.js +7 -0
- package/package.json +1 -1
- package/src/dtos/csv.response.dto.ts +14 -0
- package/src/util/dateUtil.ts +7 -0
|
@@ -2,9 +2,22 @@ import { PaginatedResponse } from "./common/paginated.response.dto";
|
|
|
2
2
|
import { CSV } from "../model/csv.model";
|
|
3
3
|
export interface CSVsResponse extends PaginatedResponse<CSV> {
|
|
4
4
|
}
|
|
5
|
+
/** One invalid row from IBAN/BIC bulk validation (pre-import filtering). */
|
|
6
|
+
export interface CSVValidationErrorRow {
|
|
7
|
+
rowNumber: number;
|
|
8
|
+
iban: string;
|
|
9
|
+
bic: string;
|
|
10
|
+
name: string;
|
|
11
|
+
field: "IBAN" | "BIC";
|
|
12
|
+
error: string;
|
|
13
|
+
}
|
|
5
14
|
export interface CSVUploadResponse {
|
|
6
15
|
csvId: number;
|
|
7
16
|
csvRowsCount: number;
|
|
8
17
|
csvStatus?: string;
|
|
18
|
+
/** Number of rows skipped due to IBAN/BIC validation (CREATE_ORDERS only). */
|
|
19
|
+
invalidRowsCount?: number;
|
|
20
|
+
/** Validation errors for skipped rows (CREATE_ORDERS only). */
|
|
21
|
+
validationErrors?: CSVValidationErrorRow[];
|
|
9
22
|
}
|
|
10
23
|
//# sourceMappingURL=csv.response.dto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.response.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/csv.response.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,GAAG,CAAC;CAC3D;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"csv.response.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/csv.response.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,GAAG,CAAC;CAC3D;AAED,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC5C"}
|
package/dist/util/dateUtil.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare const FORMATS: {
|
|
|
5
5
|
readonly ISO_DATE_TIME_MINUTES: "yyyy-MM-dd HH:mm";
|
|
6
6
|
readonly ISO_DATE_TIME_SECONDS: "yyyy-MM-dd HH:mm:ss";
|
|
7
7
|
readonly COMPACT_DATETIME: "yyyyMMddHHmmss";
|
|
8
|
+
/** Same as COMPACT_DATETIME plus 3-digit ms — avoids collisions when many IDs are minted in the same second. */
|
|
9
|
+
readonly COMPACT_DATETIME_MILLISECONDS: "yyyyMMddHHmmssSSS";
|
|
8
10
|
readonly COMPACT_DATE: "yyyyMMdd";
|
|
9
11
|
};
|
|
10
12
|
export declare const INTERVAL_UNIT: {
|
|
@@ -20,6 +22,8 @@ export declare function dateToTZ(date?: Date | undefined | null): string | undef
|
|
|
20
22
|
export declare function dateToMinutes(date?: Date | undefined | null): string | undefined;
|
|
21
23
|
export declare function dateToMinutesSeconds(date?: Date | undefined | null): string | undefined;
|
|
22
24
|
export declare function getCurrentDateCompacted(): string | undefined;
|
|
25
|
+
/** Compact timestamp including milliseconds; prefer for unique IDs (e.g. gateway TIDs). */
|
|
26
|
+
export declare function getCurrentDateCompactedWithMilliseconds(): string | undefined;
|
|
23
27
|
export declare function isDateString(value: string): boolean;
|
|
24
28
|
export declare function stringToDate(value: string): Date;
|
|
25
29
|
export declare function formatDateString(value: string, formatString?: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateUtil.d.ts","sourceRoot":"","sources":["../../src/util/dateUtil.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"dateUtil.d.ts","sourceRoot":"","sources":["../../src/util/dateUtil.ts"],"names":[],"mappings":"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"}
|
package/dist/util/dateUtil.js
CHANGED
|
@@ -9,6 +9,7 @@ exports.dateToTZ = dateToTZ;
|
|
|
9
9
|
exports.dateToMinutes = dateToMinutes;
|
|
10
10
|
exports.dateToMinutesSeconds = dateToMinutesSeconds;
|
|
11
11
|
exports.getCurrentDateCompacted = getCurrentDateCompacted;
|
|
12
|
+
exports.getCurrentDateCompactedWithMilliseconds = getCurrentDateCompactedWithMilliseconds;
|
|
12
13
|
exports.isDateString = isDateString;
|
|
13
14
|
exports.stringToDate = stringToDate;
|
|
14
15
|
exports.formatDateString = formatDateString;
|
|
@@ -33,6 +34,8 @@ exports.FORMATS = {
|
|
|
33
34
|
ISO_DATE_TIME_MINUTES: 'yyyy-MM-dd HH:mm', // "2026-01-07 14:30
|
|
34
35
|
ISO_DATE_TIME_SECONDS: 'yyyy-MM-dd HH:mm:ss', // "2026-01-07 14:30:23,
|
|
35
36
|
COMPACT_DATETIME: 'yyyyMMddHHmmss', // "20260107143000"
|
|
37
|
+
/** Same as COMPACT_DATETIME plus 3-digit ms — avoids collisions when many IDs are minted in the same second. */
|
|
38
|
+
COMPACT_DATETIME_MILLISECONDS: 'yyyyMMddHHmmssSSS', // "20260107143023123"
|
|
36
39
|
COMPACT_DATE: 'yyyyMMdd', // "20260107"
|
|
37
40
|
};
|
|
38
41
|
exports.INTERVAL_UNIT = {
|
|
@@ -95,6 +98,10 @@ function dateToMinutesSeconds(date) {
|
|
|
95
98
|
function getCurrentDateCompacted() {
|
|
96
99
|
return dateToYYYYMMDD(new Date()); // "20260107143000"
|
|
97
100
|
}
|
|
101
|
+
/** Compact timestamp including milliseconds; prefer for unique IDs (e.g. gateway TIDs). */
|
|
102
|
+
function getCurrentDateCompactedWithMilliseconds() {
|
|
103
|
+
return dateToString(new Date(), exports.FORMATS.COMPACT_DATETIME_MILLISECONDS);
|
|
104
|
+
}
|
|
98
105
|
// Checks if a string matches a date pattern
|
|
99
106
|
function isDateString(value) {
|
|
100
107
|
const datePattern = /^\d{4}-\d{2}-\d{2}(T|\s)\d{2}:\d{2}:\d{2}/;
|
package/package.json
CHANGED
|
@@ -4,8 +4,22 @@ import { CSV } from "../model/csv.model";
|
|
|
4
4
|
export interface CSVsResponse extends PaginatedResponse<CSV> {
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
+
/** One invalid row from IBAN/BIC bulk validation (pre-import filtering). */
|
|
8
|
+
export interface CSVValidationErrorRow {
|
|
9
|
+
rowNumber: number;
|
|
10
|
+
iban: string;
|
|
11
|
+
bic: string;
|
|
12
|
+
name: string;
|
|
13
|
+
field: "IBAN" | "BIC";
|
|
14
|
+
error: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
7
17
|
export interface CSVUploadResponse {
|
|
8
18
|
csvId: number;
|
|
9
19
|
csvRowsCount: number;
|
|
10
20
|
csvStatus?: string;
|
|
21
|
+
/** Number of rows skipped due to IBAN/BIC validation (CREATE_ORDERS only). */
|
|
22
|
+
invalidRowsCount?: number;
|
|
23
|
+
/** Validation errors for skipped rows (CREATE_ORDERS only). */
|
|
24
|
+
validationErrors?: CSVValidationErrorRow[];
|
|
11
25
|
}
|
package/src/util/dateUtil.ts
CHANGED
|
@@ -7,6 +7,8 @@ export const FORMATS = {
|
|
|
7
7
|
ISO_DATE_TIME_MINUTES: 'yyyy-MM-dd HH:mm', // "2026-01-07 14:30
|
|
8
8
|
ISO_DATE_TIME_SECONDS: 'yyyy-MM-dd HH:mm:ss', // "2026-01-07 14:30:23,
|
|
9
9
|
COMPACT_DATETIME: 'yyyyMMddHHmmss', // "20260107143000"
|
|
10
|
+
/** Same as COMPACT_DATETIME plus 3-digit ms — avoids collisions when many IDs are minted in the same second. */
|
|
11
|
+
COMPACT_DATETIME_MILLISECONDS: 'yyyyMMddHHmmssSSS', // "20260107143023123"
|
|
10
12
|
COMPACT_DATE: 'yyyyMMdd', // "20260107"
|
|
11
13
|
} as const;
|
|
12
14
|
|
|
@@ -78,6 +80,11 @@ export function getCurrentDateCompacted(): string | undefined {
|
|
|
78
80
|
return dateToYYYYMMDD(new Date()); // "20260107143000"
|
|
79
81
|
}
|
|
80
82
|
|
|
83
|
+
/** Compact timestamp including milliseconds; prefer for unique IDs (e.g. gateway TIDs). */
|
|
84
|
+
export function getCurrentDateCompactedWithMilliseconds(): string | undefined {
|
|
85
|
+
return dateToString(new Date(), FORMATS.COMPACT_DATETIME_MILLISECONDS);
|
|
86
|
+
}
|
|
87
|
+
|
|
81
88
|
// Checks if a string matches a date pattern
|
|
82
89
|
export function isDateString(value: string): boolean {
|
|
83
90
|
const datePattern = /^\d{4}-\d{2}-\d{2}(T|\s)\d{2}:\d{2}:\d{2}/;
|