mirror of
https://github.com/xx254/linkedin_skills.git
synced 2026-06-10 23:44:56 +03:00
45 lines
954 B
JavaScript
45 lines
954 B
JavaScript
const { getWeekKey } = require("./io");
|
|
|
|
const DEFAULT_KEYS = [
|
|
"leads_processed",
|
|
"qualified_count",
|
|
"drafted_count",
|
|
"reply_drafts_count",
|
|
"replied_count",
|
|
"rejected_count",
|
|
"score3_conversion_count"
|
|
];
|
|
|
|
/**
|
|
* Ensures weeklyMetrics exists, resets when ISO week changes, backfills missing counters.
|
|
*/
|
|
function ensureWeekMetrics(state) {
|
|
const weekKey = getWeekKey();
|
|
const wm = state.weeklyMetrics;
|
|
|
|
if (!wm || wm.weekKey !== weekKey) {
|
|
state.weeklyMetrics = {
|
|
weekKey,
|
|
leads_processed: 0,
|
|
qualified_count: 0,
|
|
drafted_count: 0,
|
|
reply_drafts_count: 0,
|
|
replied_count: 0,
|
|
rejected_count: 0,
|
|
score3_conversion_count: 0
|
|
};
|
|
return state;
|
|
}
|
|
|
|
DEFAULT_KEYS.forEach((k) => {
|
|
if (typeof state.weeklyMetrics[k] !== "number" || Number.isNaN(state.weeklyMetrics[k])) {
|
|
state.weeklyMetrics[k] = 0;
|
|
}
|
|
});
|
|
return state;
|
|
}
|
|
|
|
module.exports = {
|
|
ensureWeekMetrics
|
|
};
|