phx-node 1.0.106 → 1.0.107
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 +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/types/inapp-noti.d.ts +52 -0
- package/dist/lib/types/inapp-noti.js +14 -0
- package/dist/lib/types/inapp-noti.js.map +1 -0
- package/dist/module/inapp-noti/push-notification.service.d.ts +14 -0
- package/dist/module/inapp-noti/push-notification.service.js +81 -0
- package/dist/module/inapp-noti/push-notification.service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -50,4 +50,5 @@ import { PHXGetUserManagerByUserId } from "./module/department-manager/user-mana
|
|
|
50
50
|
import { PHXEmailRenderToHTML, PHXAllowTags } from "./lib/utils/email-render-to-HTML";
|
|
51
51
|
import { PHXAllowExplanation } from "./module/explanation/check-allow-explanation.service";
|
|
52
52
|
import { PHXSettingSiteService } from "./module/setting-site/setting-site.service";
|
|
53
|
-
|
|
53
|
+
import { PHXPushNotificationService } from "./module/inapp-noti/push-notification.service";
|
|
54
|
+
export { PHXSettingSiteService, 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, PHXGetListDepartmentManager, PHXAllowExplanation, PHXPushNotificationService, };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
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 = exports.PHXSettingSiteService = void 0;
|
|
4
|
-
exports.PHXAllowExplanation = exports.PHXGetListDepartmentManager = exports.PHXAllowTags = exports.PHXEmailRenderToHTML = exports.PHXGetUserManagerByUserId = exports.DepartmentManagerService = void 0;
|
|
4
|
+
exports.PHXPushNotificationService = exports.PHXAllowExplanation = exports.PHXGetListDepartmentManager = exports.PHXAllowTags = exports.PHXEmailRenderToHTML = exports.PHXGetUserManagerByUserId = exports.DepartmentManagerService = 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");
|
|
@@ -110,4 +110,6 @@ const check_allow_explanation_service_1 = require("./module/explanation/check-al
|
|
|
110
110
|
Object.defineProperty(exports, "PHXAllowExplanation", { enumerable: true, get: function () { return check_allow_explanation_service_1.PHXAllowExplanation; } });
|
|
111
111
|
const setting_site_service_1 = require("./module/setting-site/setting-site.service");
|
|
112
112
|
Object.defineProperty(exports, "PHXSettingSiteService", { enumerable: true, get: function () { return setting_site_service_1.PHXSettingSiteService; } });
|
|
113
|
+
const push_notification_service_1 = require("./module/inapp-noti/push-notification.service");
|
|
114
|
+
Object.defineProperty(exports, "PHXPushNotificationService", { enumerable: true, get: function () { return push_notification_service_1.PHXPushNotificationService; } });
|
|
113
115
|
//# 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":";;;;AAAA,6IAAmI;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export interface IGroupRequestType {
|
|
2
|
+
group: string;
|
|
3
|
+
count?: number;
|
|
4
|
+
items?: {
|
|
5
|
+
label: string;
|
|
6
|
+
count: number;
|
|
7
|
+
}[];
|
|
8
|
+
}
|
|
9
|
+
export declare enum EmailType {
|
|
10
|
+
TRANSACTION_BASIC = "transaction-basic",
|
|
11
|
+
HRM_REMIND = "hrm-remind"
|
|
12
|
+
}
|
|
13
|
+
export declare enum NotificationType {
|
|
14
|
+
SYSTEM = "SYSTEM",
|
|
15
|
+
TO_ME = "TO_ME"
|
|
16
|
+
}
|
|
17
|
+
export interface Attachment {
|
|
18
|
+
filename: string;
|
|
19
|
+
pathname: string;
|
|
20
|
+
}
|
|
21
|
+
export interface PushNotiMobile {
|
|
22
|
+
title: string;
|
|
23
|
+
message: string;
|
|
24
|
+
module_code: string;
|
|
25
|
+
app: string;
|
|
26
|
+
payload: any;
|
|
27
|
+
}
|
|
28
|
+
export interface SendEmailV3 {
|
|
29
|
+
emailType: EmailType;
|
|
30
|
+
to: string;
|
|
31
|
+
subject: string;
|
|
32
|
+
title: string;
|
|
33
|
+
previewText: string;
|
|
34
|
+
isValidEmail?: boolean;
|
|
35
|
+
callToActionURL?: string;
|
|
36
|
+
callToActionText?: string;
|
|
37
|
+
content?: string;
|
|
38
|
+
listRequests?: IGroupRequestType[];
|
|
39
|
+
description?: string;
|
|
40
|
+
schoolId?: number;
|
|
41
|
+
tag?: string;
|
|
42
|
+
attachments?: Attachment[];
|
|
43
|
+
}
|
|
44
|
+
export interface PushInappNoti {
|
|
45
|
+
user_id: number;
|
|
46
|
+
action_code: string;
|
|
47
|
+
hostname: string;
|
|
48
|
+
student_id?: number;
|
|
49
|
+
type?: NotificationType;
|
|
50
|
+
pushNotiMobile?: PushNotiMobile;
|
|
51
|
+
sendEmailV3?: SendEmailV3;
|
|
52
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotificationType = exports.EmailType = void 0;
|
|
4
|
+
var EmailType;
|
|
5
|
+
(function (EmailType) {
|
|
6
|
+
EmailType["TRANSACTION_BASIC"] = "transaction-basic";
|
|
7
|
+
EmailType["HRM_REMIND"] = "hrm-remind";
|
|
8
|
+
})(EmailType || (exports.EmailType = EmailType = {}));
|
|
9
|
+
var NotificationType;
|
|
10
|
+
(function (NotificationType) {
|
|
11
|
+
NotificationType["SYSTEM"] = "SYSTEM";
|
|
12
|
+
NotificationType["TO_ME"] = "TO_ME";
|
|
13
|
+
})(NotificationType || (exports.NotificationType = NotificationType = {}));
|
|
14
|
+
//# sourceMappingURL=inapp-noti.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inapp-noti.js","sourceRoot":"","sources":["../../../src/lib/types/inapp-noti.ts"],"names":[],"mappings":";;;AAaA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,oDAAuC,CAAA;IACvC,sCAAyB,CAAA;AAC3B,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,mCAAe,CAAA;AACjB,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HttpService } from "@nestjs/axios";
|
|
2
|
+
import { ConfigService } from "@nestjs/config";
|
|
3
|
+
import { PushInappNoti } from "src/lib/types/inapp-noti";
|
|
4
|
+
export declare class PHXPushNotificationService {
|
|
5
|
+
private readonly httpService;
|
|
6
|
+
private readonly configService;
|
|
7
|
+
private readonly logger;
|
|
8
|
+
constructor(httpService: HttpService, configService: ConfigService);
|
|
9
|
+
private pushNoti;
|
|
10
|
+
send(payload: PushInappNoti): Promise<{
|
|
11
|
+
status: string;
|
|
12
|
+
message: string;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var PHXPushNotificationService_1;
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.PHXPushNotificationService = void 0;
|
|
23
|
+
const axios_1 = require("@nestjs/axios");
|
|
24
|
+
const common_1 = require("@nestjs/common");
|
|
25
|
+
const config_1 = require("@nestjs/config");
|
|
26
|
+
const rxjs_1 = require("rxjs");
|
|
27
|
+
let PHXPushNotificationService = PHXPushNotificationService_1 = class PHXPushNotificationService {
|
|
28
|
+
constructor(httpService, configService) {
|
|
29
|
+
this.httpService = httpService;
|
|
30
|
+
this.configService = configService;
|
|
31
|
+
this.logger = new common_1.Logger(PHXPushNotificationService_1.name);
|
|
32
|
+
}
|
|
33
|
+
pushNoti(payload) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
var _a, _b;
|
|
36
|
+
const { hostname } = payload;
|
|
37
|
+
const producerApi = this.configService.get("PRODUCER_API");
|
|
38
|
+
if (!producerApi) {
|
|
39
|
+
const errorMessage = `${hostname}: PRODUCER_API is not configured`;
|
|
40
|
+
this.logger.debug(errorMessage);
|
|
41
|
+
throw new Error(errorMessage);
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const { data } = yield (0, rxjs_1.lastValueFrom)(this.httpService.post(`${producerApi}/emit/inapp-noti`, payload, {
|
|
45
|
+
headers: {
|
|
46
|
+
hostname,
|
|
47
|
+
},
|
|
48
|
+
}));
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
let errorMessage = "";
|
|
53
|
+
if ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) {
|
|
54
|
+
const message = error.response.data.message;
|
|
55
|
+
errorMessage = Array.isArray(message) ? message.join(", ") : message;
|
|
56
|
+
}
|
|
57
|
+
const errorResponse = `Error pushing in-app notification: ${errorMessage}`;
|
|
58
|
+
this.logger.error(errorResponse);
|
|
59
|
+
throw new Error(errorResponse);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
send(payload) {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
try {
|
|
66
|
+
yield this.pushNoti(payload);
|
|
67
|
+
return { status: "success", message: "Notification pushed successfully" };
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
throw new common_1.BadRequestException((error === null || error === void 0 ? void 0 : error.message) || "Failed to process notification");
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.PHXPushNotificationService = PHXPushNotificationService;
|
|
76
|
+
exports.PHXPushNotificationService = PHXPushNotificationService = PHXPushNotificationService_1 = __decorate([
|
|
77
|
+
(0, common_1.Injectable)(),
|
|
78
|
+
__metadata("design:paramtypes", [axios_1.HttpService,
|
|
79
|
+
config_1.ConfigService])
|
|
80
|
+
], PHXPushNotificationService);
|
|
81
|
+
//# sourceMappingURL=push-notification.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-notification.service.js","sourceRoot":"","sources":["../../../src/module/inapp-noti/push-notification.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAAyE;AACzE,2CAA+C;AAC/C,+BAAqC;AAI9B,IAAM,0BAA0B,kCAAhC,MAAM,0BAA0B;IAErC,YACmB,WAAwB,EACxB,aAA4B;QAD5B,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAH9B,WAAM,GAAG,IAAI,eAAM,CAAC,4BAA0B,CAAC,IAAI,CAAC,CAAC;IAInE,CAAC;IAEU,QAAQ,CAAC,OAAsB;;;YAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,YAAY,GAAG,GAAG,QAAQ,kCAAkC,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,oBAAa,EAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,kBAAkB,EAAE,OAAO,EAAE;oBAC/D,OAAO,EAAE;wBACP,QAAQ;qBACT;iBACF,CAAC,CACH,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,0CAAE,OAAO,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC5C,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvE,CAAC;gBACD,MAAM,aAAa,GAAG,sCAAsC,YAAY,EAAE,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;KAAA;IAEY,IAAI,CAAC,OAAsB;;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,4BAAmB,CAC3B,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,gCAAgC,CACnD,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AA9CY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;qCAIqB,mBAAW;QACT,sBAAa;GAJpC,0BAA0B,CA8CtC"}
|