refactor: date utils and all calls

This commit is contained in:
Julien Froidefond
2025-09-21 11:41:17 +02:00
parent 799a21df5c
commit 557cdebc13
23 changed files with 300 additions and 117 deletions

View File

@@ -3,6 +3,7 @@
import { dailyService } from '@/services/daily';
import { UpdateDailyCheckboxData, DailyCheckbox, CreateDailyCheckboxData } from '@/lib/types';
import { revalidatePath } from 'next/cache';
import { getToday, getPreviousWorkday, parseDate, normalizeDate } from '@/lib/date-utils';
/**
* Toggle l'état d'une checkbox
@@ -19,7 +20,7 @@ export async function toggleCheckbox(checkboxId: string): Promise<{
// (le front-end gère déjà l'état optimiste)
// Récupérer toutes les checkboxes d'aujourd'hui et hier pour trouver celle à toggle
const today = new Date();
const today = getToday();
const dailyView = await dailyService.getDailyView(today);
let checkbox = dailyView.today.find(cb => cb.id === checkboxId);
@@ -57,7 +58,7 @@ export async function addCheckboxToDaily(dailyId: string, content: string, taskI
}> {
try {
// Le dailyId correspond à la date au format YYYY-MM-DD
const date = new Date(dailyId);
const date = parseDate(dailyId);
const newCheckbox = await dailyService.addCheckbox({
date,
@@ -86,7 +87,7 @@ export async function addTodayCheckbox(content: string, type?: 'task' | 'meeting
}> {
try {
const newCheckbox = await dailyService.addCheckbox({
date: new Date(),
date: getToday(),
text: content,
type: type || 'task',
taskId
@@ -112,8 +113,7 @@ export async function addYesterdayCheckbox(content: string, type?: 'task' | 'mee
error?: string;
}> {
try {
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
const yesterday = getPreviousWorkday(getToday());
const newCheckbox = await dailyService.addCheckbox({
date: yesterday,
@@ -209,8 +209,7 @@ export async function addTodoToTask(taskId: string, text: string, date?: Date):
error?: string;
}> {
try {
const targetDate = date || new Date();
targetDate.setHours(0, 0, 0, 0);
const targetDate = normalizeDate(date || getToday());
const checkboxData: CreateDailyCheckboxData = {
date: targetDate,
@@ -243,7 +242,7 @@ export async function reorderCheckboxes(dailyId: string, checkboxIds: string[]):
}> {
try {
// Le dailyId correspond à la date au format YYYY-MM-DD
const date = new Date(dailyId);
const date = parseDate(dailyId);
await dailyService.reorderCheckboxes(date, checkboxIds);

View File

@@ -1,6 +1,7 @@
'use server';
import { getJiraAnalytics } from './jira-analytics';
import { formatDateForDisplay, getToday } from '@/lib/date-utils';
export type ExportFormat = 'csv' | 'json';
@@ -142,7 +143,7 @@ function generateCSV(analytics: JiraAnalytics): string {
// Header du rapport
lines.push('# Rapport Analytics Jira');
lines.push(`# Projet: ${analytics.project.name} (${analytics.project.key})`);
lines.push(`# Généré le: ${new Date().toLocaleString('fr-FR')}`);
lines.push(`# Généré le: ${formatDateForDisplay(getToday(), 'DISPLAY_LONG')}`);
lines.push(`# Total tickets: ${analytics.project.totalIssues}`);
lines.push('');

View File

@@ -1,6 +1,7 @@
'use server';
import { MetricsService, WeeklyMetricsOverview, VelocityTrend } from '@/services/metrics';
import { getToday } from '@/lib/date-utils';
import { revalidatePath } from 'next/cache';
/**
@@ -12,7 +13,7 @@ export async function getWeeklyMetrics(date?: Date): Promise<{
error?: string;
}> {
try {
const targetDate = date || new Date();
const targetDate = date || getToday();
const metrics = await MetricsService.getWeeklyMetrics(targetDate);
return {