chore: remove unused packages, imports, and stale type definitions

- Remove @casl/prisma (unused) from backend
- Remove @heroicons/react (unused, using lucide-react) from frontend
- Remove unused InferSubjects import from ability.factory.ts
- Remove unused Calendar import from Dashboard.tsx
- Delete stale frontend/src/lib/types.ts (duplicate of src/types/index.ts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-04 17:33:57 +01:00
parent 5f4c474e37
commit 8e88880838
7 changed files with 2 additions and 155 deletions

View File

@@ -1,126 +0,0 @@
/**
* TypeScript interfaces for VIP Coordinator
*/
export interface VIP {
id: string;
name: string;
organization?: string;
department: 'OFFICE_OF_DEVELOPMENT' | 'ADMIN';
arrivalMode: 'FLIGHT' | 'SELF_DRIVING';
expectedArrival?: string;
airportPickup: boolean;
venueTransport: boolean;
notes?: string;
createdAt: string;
updatedAt: string;
deletedAt?: string;
}
export interface Driver {
id: string;
name: string;
phone: string;
department?: 'OFFICE_OF_DEVELOPMENT' | 'ADMIN';
userId?: string;
shiftStartTime?: string;
shiftEndTime?: string;
isAvailable: boolean;
createdAt: string;
updatedAt: string;
deletedAt?: string;
}
export interface ScheduleEvent {
id: string;
vipId: string;
vip?: VIP;
title: string;
pickupLocation?: string;
dropoffLocation?: string;
location?: string;
startTime: string;
endTime: string;
actualStartTime?: string;
actualEndTime?: string;
description?: string;
type: 'TRANSPORT' | 'MEETING' | 'EVENT' | 'MEAL' | 'ACCOMMODATION';
status: 'SCHEDULED' | 'IN_PROGRESS' | 'COMPLETED' | 'CANCELLED';
driverId?: string;
driver?: Driver;
vehicleId?: string;
eventId?: string;
event?: Event;
notes?: string;
createdAt: string;
updatedAt: string;
deletedAt?: string;
}
export interface EventTemplate {
id: string;
name: string;
description?: string;
defaultDuration: number; // in minutes
location?: string;
type: 'TRANSPORT' | 'MEETING' | 'EVENT' | 'MEAL' | 'ACCOMMODATION';
createdAt: string;
updatedAt: string;
deletedAt?: string;
_count?: {
events: number;
};
}
export interface Event {
id: string;
name: string;
description?: string;
startTime: string;
endTime: string;
location: string;
type: 'TRANSPORT' | 'MEETING' | 'EVENT' | 'MEAL' | 'ACCOMMODATION';
templateId?: string;
template?: EventTemplate;
attendees: EventAttendance[];
scheduleTasks?: ScheduleEvent[];
createdAt: string;
updatedAt: string;
deletedAt?: string;
_count?: {
attendees: number;
scheduleTasks: number;
};
}
export interface EventAttendance {
id: string;
eventId: string;
vipId: string;
vip: VIP;
addedAt: string;
}
export interface CreateEventTemplateDto {
name: string;
description?: string;
defaultDuration: number;
location?: string;
type: 'TRANSPORT' | 'MEETING' | 'EVENT' | 'MEAL' | 'ACCOMMODATION';
}
export interface CreateEventDto {
name: string;
description?: string;
startTime: string;
endTime: string;
location: string;
type: 'TRANSPORT' | 'MEETING' | 'EVENT' | 'MEAL' | 'ACCOMMODATION';
templateId?: string;
}
export interface AddVipsToEventDto {
vipIds: string[];
pickupMinutesBeforeEvent?: number;
pickupLocationOverride?: string;
}

View File

@@ -1,6 +1,6 @@
import { useQuery } from '@tanstack/react-query';
import { api } from '@/lib/api';
import { Users, Car, Calendar, Plane, Clock } from 'lucide-react';
import { Users, Car, Plane, Clock } from 'lucide-react';
import { VIP, Driver, ScheduleEvent } from '@/types';
import { formatDateTime } from '@/lib/utils';