Spaces:
Running
Running
| import type { ScanPreset, ScanDateRange } from '../types/scan.js'; | |
| export function resolveScanDates( | |
| preset: ScanPreset, | |
| customStart?: string, | |
| customEnd?: string | |
| ): ScanDateRange { | |
| const now = new Date(); | |
| switch (preset) { | |
| case 'today': { | |
| const midnight = new Date(now); | |
| midnight.setHours(0, 0, 0, 0); | |
| return { preset, startDate: midnight.toISOString(), endDate: now.toISOString() }; | |
| } | |
| case 'last7days': { | |
| const sevenDaysAgo = new Date(now); | |
| sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7); | |
| sevenDaysAgo.setHours(0, 0, 0, 0); | |
| return { preset, startDate: sevenDaysAgo.toISOString(), endDate: now.toISOString() }; | |
| } | |
| case 'custom': { | |
| if (!customStart || !customEnd) { | |
| throw new Error('Custom range requires startDate and endDate'); | |
| } | |
| return { | |
| preset, | |
| startDate: new Date(customStart + 'T00:00:00').toISOString(), | |
| endDate: new Date(customEnd + 'T23:59:59').toISOString(), | |
| }; | |
| } | |
| } | |
| } | |