phx-node 1.0.95 → 1.0.97

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.d.ts CHANGED
@@ -46,4 +46,5 @@ import { PHXConvertHeadersRequest } from "./lib/helper";
46
46
  import { GetActualWorkingHoursService } from "./module/hrm-checkin/get-actual-working-hours.service";
47
47
  import { DepartmentManagerService } from "./module/department-manager/department-manager.service";
48
48
  import { PHXGetUserManagerByUserId } from "./module/department-manager/user-manager.service";
49
- export { PHXNestModule, GetSchoolYearService, GetListActiveSchoolYearService, GetActiveSchoolYearAndNextYearService, GetListActiveSchoolYearAndNextYearService, GetListNextSchoolYearService, PHXGraphqlService, PHXGraphqlV2Service, ApiService, PHXStudentInfoService, PHXStudentInfoServiceV3, PHXStudentInfoServiceSystemV3, PHXDateHelpers, PHXGrpcClientService, PHXGrpcClientSystemService, GetActiveSchoolYearAndNextYearServiceV3, GetActiveSchoolYearAndNextYearServiceSystemV3, GetListActiveSchoolYearAndNextYearServiceV3, GetListActiveSchoolYearAndNextYearServiceSystemV3, GetListActiveSchoolYearServiceV3, GetListActiveSchoolYearServiceSystemV3, GetListNextSchoolYearServiceV3, GetListNextSchoolYearServiceSystemV3, GetSchoolYearServiceV3, GetSchoolYearServiceSystemV3, PHXDevToolDataService, PHXCronjobManagerService, PHXCloneCronjob, PHXConfigByHostNameService, runWithSentryCheckIn, PHXHostnameService, PHXEnvPublicService, PHXContextStorageService, PHXSettingFormulaPromotion, PHXSettingFormulaPromotionV2, PHXQueryListDetailFeeAdjustment, PHXQueryAdmissionTuition, PHXQueryListDetailFeeAdjustmentBM, PHXQueryAdmissionTuitionBM, PHXSchoolMonthSystemService, PHXSchoolMonthClientService, PHXNotificationByModuleService, PHXStatisticalNotificationByModuleService, GetPrevCurrentNextYearsService, GetPrevCurrentNextYearsServiceSystem, PHXTransactionContentService, PHXUserDevicesService, PHXConvertHeadersRequest, GetActualWorkingHoursService, DepartmentManagerService, PHXGetUserManagerByUserId, };
49
+ import { PHXEmailRenderToHTML, PHXAllowTags } from "./lib/utils/email-render-to-HTML";
50
+ export { PHXNestModule, GetSchoolYearService, GetListActiveSchoolYearService, GetActiveSchoolYearAndNextYearService, GetListActiveSchoolYearAndNextYearService, GetListNextSchoolYearService, PHXGraphqlService, PHXGraphqlV2Service, ApiService, PHXStudentInfoService, PHXStudentInfoServiceV3, PHXStudentInfoServiceSystemV3, PHXDateHelpers, PHXGrpcClientService, PHXGrpcClientSystemService, GetActiveSchoolYearAndNextYearServiceV3, GetActiveSchoolYearAndNextYearServiceSystemV3, GetListActiveSchoolYearAndNextYearServiceV3, GetListActiveSchoolYearAndNextYearServiceSystemV3, GetListActiveSchoolYearServiceV3, GetListActiveSchoolYearServiceSystemV3, GetListNextSchoolYearServiceV3, GetListNextSchoolYearServiceSystemV3, GetSchoolYearServiceV3, GetSchoolYearServiceSystemV3, PHXDevToolDataService, PHXCronjobManagerService, PHXCloneCronjob, PHXConfigByHostNameService, runWithSentryCheckIn, PHXHostnameService, PHXEnvPublicService, PHXContextStorageService, PHXSettingFormulaPromotion, PHXSettingFormulaPromotionV2, PHXQueryListDetailFeeAdjustment, PHXQueryAdmissionTuition, PHXQueryListDetailFeeAdjustmentBM, PHXQueryAdmissionTuitionBM, PHXSchoolMonthSystemService, PHXSchoolMonthClientService, PHXNotificationByModuleService, PHXStatisticalNotificationByModuleService, GetPrevCurrentNextYearsService, GetPrevCurrentNextYearsServiceSystem, PHXTransactionContentService, PHXUserDevicesService, PHXConvertHeadersRequest, GetActualWorkingHoursService, DepartmentManagerService, PHXGetUserManagerByUserId, PHXEmailRenderToHTML, PHXAllowTags, };
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DepartmentManagerService = exports.GetActualWorkingHoursService = exports.PHXConvertHeadersRequest = exports.PHXUserDevicesService = exports.PHXTransactionContentService = exports.GetPrevCurrentNextYearsServiceSystem = exports.GetPrevCurrentNextYearsService = exports.PHXStatisticalNotificationByModuleService = exports.PHXNotificationByModuleService = exports.PHXSchoolMonthClientService = exports.PHXSchoolMonthSystemService = exports.PHXQueryAdmissionTuitionBM = exports.PHXQueryListDetailFeeAdjustmentBM = exports.PHXQueryAdmissionTuition = exports.PHXQueryListDetailFeeAdjustment = exports.PHXSettingFormulaPromotionV2 = exports.PHXSettingFormulaPromotion = exports.PHXContextStorageService = exports.PHXEnvPublicService = exports.PHXHostnameService = exports.runWithSentryCheckIn = exports.PHXConfigByHostNameService = exports.PHXCloneCronjob = exports.PHXCronjobManagerService = exports.PHXDevToolDataService = exports.GetSchoolYearServiceSystemV3 = exports.GetSchoolYearServiceV3 = exports.GetListNextSchoolYearServiceSystemV3 = exports.GetListNextSchoolYearServiceV3 = exports.GetListActiveSchoolYearServiceSystemV3 = exports.GetListActiveSchoolYearServiceV3 = exports.GetListActiveSchoolYearAndNextYearServiceSystemV3 = exports.GetListActiveSchoolYearAndNextYearServiceV3 = exports.GetActiveSchoolYearAndNextYearServiceSystemV3 = exports.GetActiveSchoolYearAndNextYearServiceV3 = exports.PHXGrpcClientSystemService = exports.PHXGrpcClientService = exports.PHXDateHelpers = exports.PHXStudentInfoServiceSystemV3 = exports.PHXStudentInfoServiceV3 = exports.PHXStudentInfoService = exports.ApiService = exports.PHXGraphqlV2Service = exports.PHXGraphqlService = exports.GetListNextSchoolYearService = exports.GetListActiveSchoolYearAndNextYearService = exports.GetActiveSchoolYearAndNextYearService = exports.GetListActiveSchoolYearService = exports.GetSchoolYearService = exports.PHXNestModule = void 0;
4
- exports.PHXGetUserManagerByUserId = void 0;
4
+ exports.PHXAllowTags = exports.PHXEmailRenderToHTML = exports.PHXGetUserManagerByUserId = void 0;
5
5
  const tuititon_formula_setting_v2_service_1 = require("./module/helpers-service/tuition-helper-service/tuititon-formula-setting-v2.service");
6
6
  Object.defineProperty(exports, "PHXSettingFormulaPromotionV2", { enumerable: true, get: function () { return tuititon_formula_setting_v2_service_1.PHXSettingFormulaPromotionV2; } });
7
7
  const config_by_hostname_service_1 = require("./module/cronjob-manager/config-by-hostname.service");
@@ -101,4 +101,7 @@ const department_manager_service_1 = require("./module/department-manager/depart
101
101
  Object.defineProperty(exports, "DepartmentManagerService", { enumerable: true, get: function () { return department_manager_service_1.DepartmentManagerService; } });
102
102
  const user_manager_service_1 = require("./module/department-manager/user-manager.service");
103
103
  Object.defineProperty(exports, "PHXGetUserManagerByUserId", { enumerable: true, get: function () { return user_manager_service_1.PHXGetUserManagerByUserId; } });
104
+ const email_render_to_HTML_1 = require("./lib/utils/email-render-to-HTML");
105
+ Object.defineProperty(exports, "PHXEmailRenderToHTML", { enumerable: true, get: function () { return email_render_to_HTML_1.PHXEmailRenderToHTML; } });
106
+ Object.defineProperty(exports, "PHXAllowTags", { enumerable: true, get: function () { return email_render_to_HTML_1.PHXAllowTags; } });
104
107
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const PHXAllowTags: (html: string) => string;
2
+ export declare const PHXEmailRenderToHTML: (html: string, obj: Record<string, any>) => any;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHXEmailRenderToHTML = exports.PHXAllowTags = void 0;
4
+ const liquidjs_1 = require("liquidjs");
5
+ const PHXAllowTags = (html) => {
6
+ const allowedTags = ["p", "b", "i", "a", "br"];
7
+ const tagRegex = /<\/?([a-zA-Z0-9]+)(\s[^>]*)?>/g;
8
+ return html.replace(tagRegex, (match, tagName, attrs) => {
9
+ const lowerTag = tagName.toLowerCase();
10
+ if (!allowedTags.includes(lowerTag)) {
11
+ throw new Error(`Tag <${lowerTag}> is not allowed`);
12
+ }
13
+ if (!attrs)
14
+ return `<${lowerTag}>`;
15
+ if (/class\s*=|style\s*=|on[a-z]+\s*=/i.test(attrs)) {
16
+ throw new Error(`Tag <${lowerTag}> contains forbidden attributes (class/style/event)`);
17
+ }
18
+ if (lowerTag === "a") {
19
+ const hrefMatch = attrs.match(/\s*href\s*=\s*(['"])(.*?)\1/i);
20
+ if (!hrefMatch) {
21
+ throw new Error(`<a> tag must have valid href`);
22
+ }
23
+ return `<a href="${hrefMatch[2]}">`;
24
+ }
25
+ const cleanedAttrs = attrs.trim();
26
+ if (cleanedAttrs) {
27
+ throw new Error(`Tag <${lowerTag}> should not have attributes`);
28
+ }
29
+ return `<${lowerTag}>`;
30
+ });
31
+ };
32
+ exports.PHXAllowTags = PHXAllowTags;
33
+ const PHXEmailRenderToHTML = (html, obj) => {
34
+ const htmlSanitize = (0, exports.PHXAllowTags)(html);
35
+ const validatedValue = {};
36
+ for (const [key, value] of Object.entries(obj)) {
37
+ validatedValue[key] = (0, exports.PHXAllowTags)(value);
38
+ }
39
+ const liquid = new liquidjs_1.Liquid({
40
+ strictVariables: true,
41
+ strictFilters: true,
42
+ });
43
+ return liquid.parseAndRenderSync(htmlSanitize, validatedValue);
44
+ };
45
+ exports.PHXEmailRenderToHTML = PHXEmailRenderToHTML;
46
+ //# sourceMappingURL=email-render-to-HTML.js.map
@@ -0,0 +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;IAElD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAe,EAAE,KAAa,EAAE,EAAE;QACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAEvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,kBAAkB,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,QAAQ,GAAG,CAAC;QACnC,IAAI,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,QAAQ,QAAQ,qDAAqD,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,YAAY,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACtC,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,8BAA8B,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,QAAQ,GAAG,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,YAAY,gBA6BvB;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"}