joye-backend-utility 8.0.8 → 8.0.10

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/database.js CHANGED
@@ -27,6 +27,7 @@ class database {
27
27
  con.model('User_Meeting', schema_1.UserMeetingSchema);
28
28
  con.model('User_Message', schema_1.UserMessageSchema);
29
29
  con.model('User_Message_Log', schema_1.UserMessageLogSchema);
30
+ con.model('User_Notification_Log', schema_1.UserNotificationLogSchema);
30
31
  con.model('Database_Info', schema_1.DatabaseInfoSchema);
31
32
  con.model('Master_Video', schema_1.MasterVideoSchema);
32
33
  con.model('Master_Blessings_Data', schema_1.MasterBlessingsDataSchema);
@@ -59,10 +60,13 @@ class database {
59
60
  con.model('Error_Log', schema_1.ErrorLogSchema);
60
61
  con.model('Master_Emotion_v2', schema_1.MasterEmotionsSchemaV2);
61
62
  con.model('Master_Emotional_Driver', schema_1.MasterEmotionalDriverSchema);
63
+ con.model('Master_Emotional_Health', schema_1.MasterEmotionalHealthSchema);
62
64
  con.model('Master_Super_Power_Data', schema_1.MasterSuperPowerDataSchema);
63
65
  con.model('Master_Super_Power_Rule', schema_1.MasterSuperPowerRuleSchema);
64
66
  con.model('User_Super_Power_Data', schema_1.UserSuperPowerDataSchema);
65
67
  con.model('User_Wellbeing_Data', schema_1.UserWellbeingDataSchema);
68
+ con.model('User_Emotional_Health', schema_1.UserEmotionalHealthSchema);
69
+ con.model('User_Emotional_Health_Detail', schema_1.UserEmotionalHealthDetailSchema);
66
70
  };
67
71
  this.connectToDatabase = () => {
68
72
  const env = config_1.NODE_ENV || 'development';
@@ -17,6 +17,7 @@ export { UserLogSchema } from './userLog';
17
17
  export { UserMeetingSchema } from './userMeeting';
18
18
  export { UserMessageSchema } from './userMessages';
19
19
  export { UserMessageLogSchema } from './userMessagesLog';
20
+ export { UserNotificationLogSchema } from './userNotificationLog';
20
21
  export { UserSchema } from './user';
21
22
  export { DatabaseInfoSchema } from './databaseInfo';
22
23
  export { MasterVideoSchema } from './masterVideo';
@@ -50,7 +51,10 @@ export { PageViewSchema } from './pageView';
50
51
  export { ErrorLogSchema } from './errorLog';
51
52
  export { MasterEmotionsSchemaV2 } from './masterEmotionV2';
52
53
  export { MasterEmotionalDriverSchema } from './master_emotional_driver';
54
+ export { MasterEmotionalHealthSchema } from './master_emotional_health';
53
55
  export { MasterSuperPowerDataSchema } from './masterSuperPowerData';
54
56
  export { MasterSuperPowerRuleSchema } from './masterSuperPowerRule';
55
57
  export { UserSuperPowerDataSchema } from './userSuperPowerData';
56
58
  export { UserWellbeingDataSchema } from './user_wellbeing_data';
59
+ export { UserEmotionalHealthSchema } from './user_emotional_health';
60
+ export { UserEmotionalHealthDetailSchema } from './user_emotional_health_detail';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorLogSchema = exports.PageViewSchema = exports.AIPromptsSchema = exports.UserAnalyticSchema = exports.AIResponsesTrackingSchema = exports.UserProfileSchema = exports.UserChatSessionSchema = exports.FeatureFeedbackSchema = exports.UserWeekActivitySchema = exports.UserTrainingRemindersSchema = exports.UserTrainingDailyDataSchema = exports.MasterTrainingDaysSchema = exports.UserTrainingWeekDataSchema = exports.UserTrainingDataSchema = exports.MasterTrainingWeekSchema = exports.MasterTrainingSchema = exports.userJoyLevelQaSchema = exports.userGoalSchema = exports.OrganizationUserAttrPermissionSchema = exports.TimezoneSchema = exports.UserVideoSchema = exports.UserFeedbackSchema = exports.UserReminderSchema = exports.MasterLinkCardSchema = exports.UserRecommendationSchema = exports.MasterSuggestionsParameterSchema = exports.MasterSuggestionsMessageSchema = exports.MasterBlessingsDataSchema = exports.MasterVideoSchema = exports.DatabaseInfoSchema = exports.UserSchema = exports.UserMessageLogSchema = exports.UserMessageSchema = exports.UserMeetingSchema = exports.UserLogSchema = exports.PlatformSchema = exports.OrganizationSchema = exports.MasterThemeMessageSchema = exports.MasterThemeDataSchema = exports.MasterPredictionEmotionsMessageMappingSchema = exports.MasterPredictionEmotionMessageSchema = exports.MasterPredictionEmotionSchema = exports.MasterPodcastSchema = exports.MasterEmotionMessageTypeThemeMappingSchema = exports.MasterEmotionsMessageMappingSchemaV2 = exports.MasterEmotionsMessageMappingSchema = exports.MasterEmotionsSchema = exports.MasterDataSchema = exports.MasterAppSettingSchema = exports.BrewSchema = void 0;
4
- exports.UserWellbeingDataSchema = exports.UserSuperPowerDataSchema = exports.MasterSuperPowerRuleSchema = exports.MasterSuperPowerDataSchema = exports.MasterEmotionalDriverSchema = exports.MasterEmotionsSchemaV2 = void 0;
3
+ exports.PageViewSchema = exports.AIPromptsSchema = exports.UserAnalyticSchema = exports.AIResponsesTrackingSchema = exports.UserProfileSchema = exports.UserChatSessionSchema = exports.FeatureFeedbackSchema = exports.UserWeekActivitySchema = exports.UserTrainingRemindersSchema = exports.UserTrainingDailyDataSchema = exports.MasterTrainingDaysSchema = exports.UserTrainingWeekDataSchema = exports.UserTrainingDataSchema = exports.MasterTrainingWeekSchema = exports.MasterTrainingSchema = exports.userJoyLevelQaSchema = exports.userGoalSchema = exports.OrganizationUserAttrPermissionSchema = exports.TimezoneSchema = exports.UserVideoSchema = exports.UserFeedbackSchema = exports.UserReminderSchema = exports.MasterLinkCardSchema = exports.UserRecommendationSchema = exports.MasterSuggestionsParameterSchema = exports.MasterSuggestionsMessageSchema = exports.MasterBlessingsDataSchema = exports.MasterVideoSchema = exports.DatabaseInfoSchema = exports.UserSchema = exports.UserNotificationLogSchema = exports.UserMessageLogSchema = exports.UserMessageSchema = exports.UserMeetingSchema = exports.UserLogSchema = exports.PlatformSchema = exports.OrganizationSchema = exports.MasterThemeMessageSchema = exports.MasterThemeDataSchema = exports.MasterPredictionEmotionsMessageMappingSchema = exports.MasterPredictionEmotionMessageSchema = exports.MasterPredictionEmotionSchema = exports.MasterPodcastSchema = exports.MasterEmotionMessageTypeThemeMappingSchema = exports.MasterEmotionsMessageMappingSchemaV2 = exports.MasterEmotionsMessageMappingSchema = exports.MasterEmotionsSchema = exports.MasterDataSchema = exports.MasterAppSettingSchema = exports.BrewSchema = void 0;
4
+ exports.UserEmotionalHealthDetailSchema = exports.UserEmotionalHealthSchema = exports.UserWellbeingDataSchema = exports.UserSuperPowerDataSchema = exports.MasterSuperPowerRuleSchema = exports.MasterSuperPowerDataSchema = exports.MasterEmotionalHealthSchema = exports.MasterEmotionalDriverSchema = exports.MasterEmotionsSchemaV2 = exports.ErrorLogSchema = void 0;
5
5
  var brew_1 = require("./brew");
6
6
  Object.defineProperty(exports, "BrewSchema", { enumerable: true, get: function () { return brew_1.BrewSchema; } });
7
7
  var masterAppSetting_1 = require("./masterAppSetting");
@@ -40,6 +40,8 @@ var userMessages_1 = require("./userMessages");
40
40
  Object.defineProperty(exports, "UserMessageSchema", { enumerable: true, get: function () { return userMessages_1.UserMessageSchema; } });
41
41
  var userMessagesLog_1 = require("./userMessagesLog");
42
42
  Object.defineProperty(exports, "UserMessageLogSchema", { enumerable: true, get: function () { return userMessagesLog_1.UserMessageLogSchema; } });
43
+ var userNotificationLog_1 = require("./userNotificationLog");
44
+ Object.defineProperty(exports, "UserNotificationLogSchema", { enumerable: true, get: function () { return userNotificationLog_1.UserNotificationLogSchema; } });
43
45
  var user_1 = require("./user");
44
46
  Object.defineProperty(exports, "UserSchema", { enumerable: true, get: function () { return user_1.UserSchema; } });
45
47
  var databaseInfo_1 = require("./databaseInfo");
@@ -106,6 +108,8 @@ var masterEmotionV2_1 = require("./masterEmotionV2");
106
108
  Object.defineProperty(exports, "MasterEmotionsSchemaV2", { enumerable: true, get: function () { return masterEmotionV2_1.MasterEmotionsSchemaV2; } });
107
109
  var master_emotional_driver_1 = require("./master_emotional_driver");
108
110
  Object.defineProperty(exports, "MasterEmotionalDriverSchema", { enumerable: true, get: function () { return master_emotional_driver_1.MasterEmotionalDriverSchema; } });
111
+ var master_emotional_health_1 = require("./master_emotional_health");
112
+ Object.defineProperty(exports, "MasterEmotionalHealthSchema", { enumerable: true, get: function () { return master_emotional_health_1.MasterEmotionalHealthSchema; } });
109
113
  var masterSuperPowerData_1 = require("./masterSuperPowerData");
110
114
  Object.defineProperty(exports, "MasterSuperPowerDataSchema", { enumerable: true, get: function () { return masterSuperPowerData_1.MasterSuperPowerDataSchema; } });
111
115
  var masterSuperPowerRule_1 = require("./masterSuperPowerRule");
@@ -114,3 +118,7 @@ var userSuperPowerData_1 = require("./userSuperPowerData");
114
118
  Object.defineProperty(exports, "UserSuperPowerDataSchema", { enumerable: true, get: function () { return userSuperPowerData_1.UserSuperPowerDataSchema; } });
115
119
  var user_wellbeing_data_1 = require("./user_wellbeing_data");
116
120
  Object.defineProperty(exports, "UserWellbeingDataSchema", { enumerable: true, get: function () { return user_wellbeing_data_1.UserWellbeingDataSchema; } });
121
+ var user_emotional_health_1 = require("./user_emotional_health");
122
+ Object.defineProperty(exports, "UserEmotionalHealthSchema", { enumerable: true, get: function () { return user_emotional_health_1.UserEmotionalHealthSchema; } });
123
+ var user_emotional_health_detail_1 = require("./user_emotional_health_detail");
124
+ Object.defineProperty(exports, "UserEmotionalHealthDetailSchema", { enumerable: true, get: function () { return user_emotional_health_detail_1.UserEmotionalHealthDetailSchema; } });
@@ -0,0 +1,2 @@
1
+ import { Schema } from 'mongoose';
2
+ export declare const MasterEmotionalHealthSchema: Schema<import("mongoose").Document<any, any, any>, import("mongoose").Model<import("mongoose").Document<any, any, any>, any, any>, undefined, {}>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MasterEmotionalHealthSchema = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const MasterEmotionalHealth = new mongoose_1.Schema({
6
+ key: {
7
+ type: String,
8
+ required: true,
9
+ index: true,
10
+ },
11
+ title: {
12
+ type: String,
13
+ required: true,
14
+ },
15
+ type: {
16
+ type: String,
17
+ required: true,
18
+ enum: ['risk', 'driver'],
19
+ },
20
+ emotions: {
21
+ type: [String],
22
+ required: false,
23
+ default: [],
24
+ },
25
+ });
26
+ MasterEmotionalHealth.index({ key: 1 });
27
+ MasterEmotionalHealth.index({ type: 1 });
28
+ exports.MasterEmotionalHealthSchema = MasterEmotionalHealth;
@@ -0,0 +1,2 @@
1
+ import { Schema } from 'mongoose';
2
+ export declare const UserNotificationLogSchema: Schema<import("mongoose").Document<any, any, any>, import("mongoose").Model<import("mongoose").Document<any, any, any>, any, any>, undefined, {}>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserNotificationLogSchema = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ /**
6
+ * Outbound notification audit (PWA push, Visit batch API) — not Teams cards (`User_Message_Log`).
7
+ * Rows are inserted only after successful delivery. Idempotency: unique (employeeId, date, messageType, channel).
8
+ */
9
+ const UserNotificationLog = new mongoose_1.Schema({
10
+ employeeId: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ date: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ messageType: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ sentTime: {
23
+ type: Number,
24
+ required: true,
25
+ },
26
+ /** Delivery path label — free string; common values: `pwa`, `visit` */
27
+ channel: {
28
+ type: String,
29
+ required: true,
30
+ },
31
+ platformKey: {
32
+ type: String,
33
+ required: true,
34
+ },
35
+ /** `Organization.tId` (tenant id) when known */
36
+ tId: {
37
+ type: String,
38
+ required: false,
39
+ },
40
+ deliveryMeta: {
41
+ type: mongoose_1.Schema.Types.Mixed,
42
+ required: false,
43
+ },
44
+ });
45
+ UserNotificationLog.index({ employeeId: 1, date: 1, messageType: 1, channel: 1 }, { unique: true });
46
+ UserNotificationLog.index({ employeeId: 1, date: -1 });
47
+ UserNotificationLog.index({ channel: 1, messageType: 1, date: -1 });
48
+ exports.UserNotificationLogSchema = UserNotificationLog;
@@ -0,0 +1,2 @@
1
+ import { Schema } from 'mongoose';
2
+ export declare const UserEmotionalHealthSchema: Schema<import("mongoose").Document<any, any, any>, import("mongoose").Model<import("mongoose").Document<any, any, any>, any, any>, undefined, {}>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserEmotionalHealthSchema = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const countField = { type: Number, required: false, default: 0 };
6
+ const scoreField = { type: Number, required: false };
7
+ const UserEmotionalHealth = new mongoose_1.Schema({
8
+ employeeId: {
9
+ type: String,
10
+ required: true,
11
+ index: true,
12
+ },
13
+ date: {
14
+ type: Date,
15
+ required: true,
16
+ },
17
+ workPressure: scoreField,
18
+ workPressureCount: countField,
19
+ burnoutRisk: scoreField,
20
+ burnoutRiskCount: countField,
21
+ lonelinessRisk: scoreField,
22
+ lonelinessRiskCount: countField,
23
+ stressAnxietyRisk: scoreField,
24
+ stressAnxietyRiskCount: countField,
25
+ irritabilityRisk: scoreField,
26
+ irritabilityRiskCount: countField,
27
+ psychologicalSafety: scoreField,
28
+ psychologicalSafetyCount: countField,
29
+ goodRelationships: scoreField,
30
+ goodRelationshipsCount: countField,
31
+ positivity: scoreField,
32
+ positivityCount: countField,
33
+ goodMotivation: scoreField,
34
+ goodMotivationCount: countField,
35
+ recovery: scoreField,
36
+ recoveryCount: countField,
37
+ bCount: countField,
38
+ gCount: countField,
39
+ mmCount: countField,
40
+ updatedTimestamp: {
41
+ type: Number,
42
+ required: false,
43
+ },
44
+ });
45
+ UserEmotionalHealth.index({ employeeId: 1, date: -1 });
46
+ exports.UserEmotionalHealthSchema = UserEmotionalHealth;
@@ -0,0 +1,2 @@
1
+ import { Schema } from 'mongoose';
2
+ export declare const UserEmotionalHealthDetailSchema: Schema<import("mongoose").Document<any, any, any>, import("mongoose").Model<import("mongoose").Document<any, any, any>, any, any>, undefined, {}>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserEmotionalHealthDetailSchema = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const UserEmotionalHealthDetail = new mongoose_1.Schema({
6
+ employeeId: {
7
+ type: String,
8
+ required: true,
9
+ index: true,
10
+ },
11
+ date: {
12
+ type: Date,
13
+ required: true,
14
+ },
15
+ emotionKey: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ type: {
20
+ type: String,
21
+ required: true,
22
+ enum: ['risk', 'driver'],
23
+ },
24
+ count: {
25
+ type: Number,
26
+ required: false,
27
+ default: 0,
28
+ },
29
+ emotionalHealthKey: {
30
+ type: String,
31
+ required: true,
32
+ index: true,
33
+ },
34
+ });
35
+ UserEmotionalHealthDetail.index({ employeeId: 1, date: -1 });
36
+ UserEmotionalHealthDetail.index({ employeeId: 1, date: -1, emotionalHealthKey: 1, emotionKey: 1 });
37
+ UserEmotionalHealthDetail.index({ employeeId: 1, emotionalHealthKey: 1, type: 1, date: -1 });
38
+ exports.UserEmotionalHealthDetailSchema = UserEmotionalHealthDetail;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joye-backend-utility",
3
- "version": "8.0.8",
3
+ "version": "8.0.10",
4
4
  "description": "Joye backend utility for db functions and common functions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",