Get some data in

This commit is contained in:
2024-12-22 14:51:13 -05:00
parent 4619d24e84
commit 03d56c5f51
3 changed files with 233 additions and 213 deletions

View File

@@ -163,8 +163,9 @@ export class TimeManager {
return null;
}
case 'today': {
const dayStart = this.getDayStart(now);
return {
start: this.getDayStart(now),
start: dayStart,
end: this.getDayEnd(now)
};
}
@@ -177,27 +178,29 @@ export class TimeManager {
}
case 'last7days': {
// For last 7 days, we want to include today and the previous 6 days
// So if today is 12/17, we want 12/11 1am to 12/17 12:59am
const dayStart = this.getDayStart(now);
const weekStart = dayStart.minus({ days: 6 });
return {
start: dayStart.minus({ days: 6 }), // 6 days ago from start of today
end: this.getDayEnd(now) // end of today
start: weekStart,
end: this.getDayEnd(now)
};
}
case 'last30days': {
// Include today and previous 29 days
const dayStart = this.getDayStart(now);
const monthStart = dayStart.minus({ days: 29 });
return {
start: dayStart.minus({ days: 29 }), // 29 days ago from start of today
end: this.getDayEnd(now) // end of today
start: monthStart,
end: this.getDayEnd(now)
};
}
case 'last90days': {
// Include today and previous 89 days
const dayStart = this.getDayStart(now);
const start = dayStart.minus({ days: 89 });
return {
start: dayStart.minus({ days: 89 }), // 89 days ago from start of today
end: this.getDayEnd(now) // end of today
start,
end: this.getDayEnd(now)
};
}
case 'thisWeek': {
@@ -212,7 +215,6 @@ export class TimeManager {
const lastWeek = now.minus({ weeks: 1 });
const weekStart = this.getWeekStart(lastWeek);
const weekEnd = weekStart.plus({ days: 6 }); // 6 days after start = Saturday
return {
start: weekStart,
end: this.getDayEnd(weekEnd)
@@ -221,7 +223,6 @@ export class TimeManager {
case 'thisMonth': {
const dayStart = this.getDayStart(now);
const monthStart = dayStart.startOf('month').set({ hour: this.dayStartHour });
return {
start: monthStart,
end: this.getDayEnd(now)
@@ -231,7 +232,6 @@ export class TimeManager {
const lastMonth = now.minus({ months: 1 });
const monthStart = lastMonth.startOf('month').set({ hour: this.dayStartHour });
const monthEnd = monthStart.plus({ months: 1 }).minus({ days: 1 });
return {
start: monthStart,
end: this.getDayEnd(monthEnd)
@@ -298,7 +298,9 @@ export class TimeManager {
* @returns {Object} Object with start and end DateTime objects
*/
getPreviousPeriod(period, now = this.getNow()) {
switch (period) {
const normalizedPeriod = period.startsWith('previous') ? period.replace('previous', 'last') : period;
switch (normalizedPeriod) {
case 'today': {
const yesterday = now.minus({ days: 1 });
return {
@@ -313,8 +315,7 @@ export class TimeManager {
end: this.getDayEnd(twoDaysAgo)
};
}
case 'last7days':
case 'previous7days': {
case 'last7days': {
const dayStart = this.getDayStart(now);
const currentStart = dayStart.minus({ days: 6 });
const prevEnd = currentStart.minus({ milliseconds: 1 });
@@ -324,8 +325,7 @@ export class TimeManager {
end: prevEnd
};
}
case 'last30days':
case 'previous30days': {
case 'last30days': {
const dayStart = this.getDayStart(now);
const currentStart = dayStart.minus({ days: 29 });
const prevEnd = currentStart.minus({ milliseconds: 1 });
@@ -335,8 +335,7 @@ export class TimeManager {
end: prevEnd
};
}
case 'last90days':
case 'previous90days': {
case 'last90days': {
const dayStart = this.getDayStart(now);
const currentStart = dayStart.minus({ days: 89 });
const prevEnd = currentStart.minus({ milliseconds: 1 });
@@ -382,13 +381,6 @@ export class TimeManager {
end: prevEnd
};
}
case 'twoDaysAgo': {
const twoDaysAgo = now.minus({ days: 2 });
return {
start: this.getDayStart(twoDaysAgo),
end: this.getDayEnd(twoDaysAgo)
};
}
default:
console.warn(`[TimeManager] No previous period defined for: ${period}`);
return null;