export * from "./germanStates.js"; export * from "./publicHolidays.js"; export * from "./columns.js"; export * from "./dispo-import.js"; export const BUDGET_WARNING_THRESHOLDS = { INFO: 70, WARNING: 85, CRITICAL: 95, } as const; export const DEFAULT_WORKING_HOURS_PER_DAY = 8; export const DEFAULT_AVAILABILITY = { monday: 8, tuesday: 8, wednesday: 8, thursday: 8, friday: 8, } as const; export const VALUE_SCORE_WEIGHTS = { SKILL_DEPTH: 0.30, SKILL_BREADTH: 0.15, COST_EFFICIENCY: 0.25, CHARGEABILITY: 0.15, EXPERIENCE: 0.15, } as const; export const SCORE_WEIGHTS = { SKILL: 0.4, AVAILABILITY: 0.3, COST: 0.2, UTILIZATION: 0.1, } as const; export const PAGINATION_DEFAULTS = { PAGE: 1, LIMIT: 50, MAX_LIMIT: 500, } as const; export const SSE_EVENT_TYPES = { ALLOCATION_CREATED: "allocation.created", ALLOCATION_UPDATED: "allocation.updated", ALLOCATION_DELETED: "allocation.deleted", PROJECT_SHIFTED: "project.shifted", BUDGET_WARNING: "budget.warning", VACATION_CREATED: "vacation.created", VACATION_UPDATED: "vacation.updated", VACATION_DELETED: "vacation.deleted", ROLE_CREATED: "role.created", ROLE_UPDATED: "role.updated", ROLE_DELETED: "role.deleted", NOTIFICATION_CREATED: "notification:created", TASK_ASSIGNED: "task.assigned", TASK_COMPLETED: "task.completed", TASK_STATUS_CHANGED: "task.status_changed", REMINDER_DUE: "reminder.due", BROADCAST_SENT: "broadcast.sent", PING: "ping", } as const; export type SseEventType = (typeof SSE_EVENT_TYPES)[keyof typeof SSE_EVENT_TYPES]; export const SSE_NOTIFICATION_CREATED = SSE_EVENT_TYPES.NOTIFICATION_CREATED;