joye-backend-utility 8.0.10 → 8.1.0

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
@@ -4,3 +4,4 @@ export { createHashPassword, createUuid } from './util';
4
4
  export { createToken, jwtVerify } from './jwt';
5
5
  export { getPreviousWorkday, get2ndLastPreviousWorkday, addDays, addMinutes, addYears, getCurrentDateTime, getCurrentUtcTime, newDate, getDatesBetweenRange, getMoment, getCurrentEpoch, } from './dateTime';
6
6
  export { RedisClient } from './redisClient';
7
+ export { hasDailySuggestionFlag } from './userAnalytic';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RedisClient = exports.getCurrentEpoch = exports.getMoment = exports.getDatesBetweenRange = exports.newDate = exports.getCurrentUtcTime = exports.getCurrentDateTime = exports.addYears = exports.addMinutes = exports.addDays = exports.get2ndLastPreviousWorkday = exports.getPreviousWorkday = exports.jwtVerify = exports.createToken = exports.createUuid = exports.createHashPassword = void 0;
3
+ exports.hasDailySuggestionFlag = exports.RedisClient = exports.getCurrentEpoch = exports.getMoment = exports.getDatesBetweenRange = exports.newDate = exports.getCurrentUtcTime = exports.getCurrentDateTime = exports.addYears = exports.addMinutes = exports.addDays = exports.get2ndLastPreviousWorkday = exports.getPreviousWorkday = exports.jwtVerify = exports.createToken = exports.createUuid = exports.createHashPassword = void 0;
4
4
  const database_1 = require("./database");
5
5
  exports.default = database_1.default;
6
6
  var util_1 = require("./util");
@@ -24,3 +24,5 @@ Object.defineProperty(exports, "getMoment", { enumerable: true, get: function ()
24
24
  Object.defineProperty(exports, "getCurrentEpoch", { enumerable: true, get: function () { return dateTime_1.getCurrentEpoch; } });
25
25
  var redisClient_1 = require("./redisClient");
26
26
  Object.defineProperty(exports, "RedisClient", { enumerable: true, get: function () { return redisClient_1.RedisClient; } });
27
+ var userAnalytic_1 = require("./userAnalytic");
28
+ Object.defineProperty(exports, "hasDailySuggestionFlag", { enumerable: true, get: function () { return userAnalytic_1.hasDailySuggestionFlag; } });
@@ -126,6 +126,11 @@ const UserAnalytic = new mongoose_1.Schema({
126
126
  type: Object,
127
127
  required: false,
128
128
  },
129
+ /** Denormalized from `dailySuggestion != null` for indexed queue-cron filters (avoid `$ne: null`). */
130
+ hasDailySuggestion: {
131
+ type: Boolean,
132
+ required: false,
133
+ },
129
134
  fallbackData: {
130
135
  // To show the data is a fallback data from UI initiated /emotion-data request
131
136
  type: Boolean,
@@ -139,5 +144,6 @@ const UserAnalytic = new mongoose_1.Schema({
139
144
  });
140
145
  UserAnalytic.index({ employeeId: 1, weekNumber: -1, year: -1, date: -1 });
141
146
  UserAnalytic.index({ employeeId: 1, month: -1, year: -1, date: -1 });
142
- UserAnalytic.index({ year: 1, weekNumber: 1, bucket: 1 });
147
+ UserAnalytic.index({ year: 1, weekNumber: 1, bucket: 1, _id: 1 });
148
+ UserAnalytic.index({ year: 1, weekNumber: 1, hasDailySuggestion: 1, bucket: 1, _id: 1 });
143
149
  exports.UserAnalyticSchema = UserAnalytic;
@@ -0,0 +1,2 @@
1
+ /** Cosmos-indexable flag: true when `dailySuggestion` is stored on `User_Analytic`. */
2
+ export declare function hasDailySuggestionFlag(dailySuggestion: unknown): boolean;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasDailySuggestionFlag = void 0;
4
+ /** Cosmos-indexable flag: true when `dailySuggestion` is stored on `User_Analytic`. */
5
+ function hasDailySuggestionFlag(dailySuggestion) {
6
+ return dailySuggestion != null;
7
+ }
8
+ exports.hasDailySuggestionFlag = hasDailySuggestionFlag;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joye-backend-utility",
3
- "version": "8.0.10",
3
+ "version": "8.1.0",
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",