phx-node 1.0.102 → 1.0.104
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/lib/utils/email-render-to-HTML.js +5 -1
- package/dist/lib/utils/email-render-to-HTML.js.map +1 -1
- package/dist/module/hrm-checkin/get-actual-working-hours.service.js +9 -9
- package/dist/module/hrm-checkin/get-actual-working-hours.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,8 @@ const PHXAllowTags = (html) => {
|
|
|
9
9
|
while ((match = tagRegex.exec(html)) !== null) {
|
|
10
10
|
const [_fullMatch, tagName, attrs] = match;
|
|
11
11
|
const lowerTag = tagName.toLowerCase();
|
|
12
|
+
if (_fullMatch.startsWith("</"))
|
|
13
|
+
continue;
|
|
12
14
|
if (!allowedTags.includes(lowerTag)) {
|
|
13
15
|
throw new Error(`Tag <${lowerTag}> is not allowed`);
|
|
14
16
|
}
|
|
@@ -16,7 +18,9 @@ const PHXAllowTags = (html) => {
|
|
|
16
18
|
throw new Error(`Tag <${lowerTag}> contains forbidden attributes (class/style/event)`);
|
|
17
19
|
}
|
|
18
20
|
if (lowerTag === "a") {
|
|
19
|
-
|
|
21
|
+
console.log("hrefMatch", attrs);
|
|
22
|
+
const cleanedAttrs = attrs === null || attrs === void 0 ? void 0 : attrs.trim();
|
|
23
|
+
const hrefMatch = cleanedAttrs === null || cleanedAttrs === void 0 ? void 0 : cleanedAttrs.match(/\bhref\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/i);
|
|
20
24
|
if (!hrefMatch) {
|
|
21
25
|
throw new Error(`<a> tag must have valid href`);
|
|
22
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-render-to-HTML.js","sourceRoot":"","sources":["../../../src/lib/utils/email-render-to-HTML.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAM3B,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE;IACnD,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"email-render-to-HTML.js","sourceRoot":"","sources":["../../../src/lib/utils/email-render-to-HTML.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAM3B,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE;IACnD,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,gCAAgC,CAAC;IAClD,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAC1C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,kBAAkB,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,KAAK,IAAI,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,QAAQ,QAAQ,qDAAqD,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CACnC,2CAA2C,CAC5C,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,IAAI,KAAK,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,8BAA8B,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAnCW,QAAA,YAAY,gBAmCvB;AAOK,MAAM,oBAAoB,GAAG,CAClC,IAAY,EACZ,GAAwB,EACxB,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAA2B,EAAE,CAAC;IAElD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,cAAc,CAAC,GAAG,CAAC,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAC;QACxB,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AACjE,CAAC,CAAC;AAhBW,QAAA,oBAAoB,wBAgB/B"}
|
|
@@ -31,7 +31,7 @@ let GetActualWorkingHoursService = class GetActualWorkingHoursService {
|
|
|
31
31
|
return 0;
|
|
32
32
|
const start = new Date(timeCheckin);
|
|
33
33
|
const end = new Date(timeCheckout);
|
|
34
|
-
let
|
|
34
|
+
let totalMs = end.getTime() - start.getTime();
|
|
35
35
|
if (lunchBreakStart && lunchBreakEnd) {
|
|
36
36
|
const parseTimeToDate = (base, timeStr) => {
|
|
37
37
|
const [h, m, s] = timeStr.split(":").map(Number);
|
|
@@ -41,17 +41,17 @@ let GetActualWorkingHoursService = class GetActualWorkingHoursService {
|
|
|
41
41
|
};
|
|
42
42
|
const breakStart = parseTimeToDate(start, lunchBreakStart);
|
|
43
43
|
const breakEnd = parseTimeToDate(start, lunchBreakEnd);
|
|
44
|
-
const overlapStart =
|
|
45
|
-
const overlapEnd =
|
|
46
|
-
const
|
|
47
|
-
|
|
44
|
+
const overlapStart = Math.max(start.getTime(), breakStart.getTime());
|
|
45
|
+
const overlapEnd = Math.min(end.getTime(), breakEnd.getTime());
|
|
46
|
+
const breakMs = Math.max(0, overlapEnd - overlapStart);
|
|
47
|
+
totalMs -= breakMs;
|
|
48
48
|
}
|
|
49
|
-
const
|
|
50
|
-
const totalHours =
|
|
49
|
+
const totalMinutes = Math.ceil(totalMs / 60000);
|
|
50
|
+
const totalHours = totalMinutes / 60;
|
|
51
51
|
const hoursView = Math.floor(totalHours);
|
|
52
|
-
const minutes =
|
|
52
|
+
const minutes = totalMinutes % 60;
|
|
53
53
|
return {
|
|
54
|
-
totalMinutes
|
|
54
|
+
totalMinutes,
|
|
55
55
|
totalHours: Math.round(totalHours * 100) / 100,
|
|
56
56
|
view: `${hoursView}h${minutes.toString().padStart(2, "0")}`,
|
|
57
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-actual-working-hours.service.js","sourceRoot":"","sources":["../../../src/module/hrm-checkin/get-actual-working-hours.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,0FAAuF;AAEvF,yDAAgE;AAGzD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACvC,YACmB,uBAAmD;QAAnD,4BAAuB,GAAvB,uBAAuB,CAA4B;IACnE,CAAC;IAGI,eAAe,CACrB,WAAmB,EACnB,YAAoB,EACpB,eAAwB,EACxB,aAAsB;QAEtB,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-actual-working-hours.service.js","sourceRoot":"","sources":["../../../src/module/hrm-checkin/get-actual-working-hours.service.ts"],"names":[],"mappings":"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"}
|