feat: add repository pattern, service layer architecture, and scheduler management

- Implement repository pattern for data access layer
- Add comprehensive service layer for business logic
- Create scheduler management system with health monitoring
- Add bounded buffer utility for memory management
- Enhance security audit logging with retention policies
This commit is contained in:
2025-07-12 07:00:37 +02:00
parent e1abedb148
commit 041a1cc3ef
54 changed files with 5755 additions and 878 deletions

View File

@ -5,7 +5,7 @@ import { useEffect, useId, useState } from "react";
interface DateRangePickerProps {
minDate: string;
maxDate: string;
onDateRangeChange: (_startDate: string, _endDate: string) => void;
onDateRangeChange: (startDate: string, endDate: string) => void;
initialStartDate?: string;
initialEndDate?: string;
}

View File

@ -32,7 +32,7 @@ function renderMessageBubble(
rehypePlugins={[rehypeRaw]}
components={{
p: "span",
a: ({ node: _node, ...props }) => (
a: ({ node, ...props }) => (
<a
className="text-sky-600 hover:text-sky-800 underline"
{...props}

View File

@ -15,7 +15,7 @@ interface CSRFProtectedFormProps {
children: ReactNode;
action: string;
method?: "POST" | "PUT" | "DELETE" | "PATCH";
onSubmit?: (_formData: FormData) => Promise<void> | void;
onSubmit?: (formData: FormData) => Promise<void> | void;
className?: string;
encType?: string;
}

View File

@ -21,7 +21,7 @@ import {
import { Button } from "@/components/ui/button";
type Api = {
fire: (_options?: ConfettiOptions) => void;
fire: (options?: ConfettiOptions) => void;
};
type Props = React.ComponentPropsWithRef<"canvas"> & {

View File

@ -22,10 +22,10 @@ interface CSRFContextType {
loading: boolean;
error: string | null;
refreshToken: () => Promise<void>;
addTokenToFetch: (_options: RequestInit) => RequestInit;
addTokenToFormData: (_formData: FormData) => FormData;
addTokenToFetch: (options: RequestInit) => RequestInit;
addTokenToFormData: (formData: FormData) => FormData;
addTokenToObject: <T extends Record<string, unknown>>(
_obj: T
obj: T
) => T & { csrfToken: string };
}

View File

@ -29,7 +29,7 @@ interface SecurityAlert {
interface SecurityAlertsTableProps {
alerts: SecurityAlert[];
onAcknowledge: (_alertId: string) => void;
onAcknowledge: (alertId: string) => void;
}
export function SecurityAlertsTable({