mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-24 17:51:13 -05:00
Refactor: Implement Phase 3A technical data migration
This commit is contained in:
@@ -52,6 +52,54 @@ export interface Park {
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
export interface RideTechnicalSpec {
|
||||
id: string;
|
||||
ride_id: string;
|
||||
spec_name: string;
|
||||
spec_value: string;
|
||||
spec_type: 'string' | 'number' | 'boolean' | 'date';
|
||||
category?: string;
|
||||
unit?: string;
|
||||
display_order: number;
|
||||
created_at: string;
|
||||
}
|
||||
|
||||
export interface RideCoasterStat {
|
||||
id: string;
|
||||
ride_id: string;
|
||||
stat_name: string;
|
||||
stat_value: number;
|
||||
unit?: string;
|
||||
category?: string;
|
||||
description?: string;
|
||||
display_order: number;
|
||||
created_at: string;
|
||||
}
|
||||
|
||||
export interface RideNameHistory {
|
||||
id: string;
|
||||
ride_id: string;
|
||||
former_name: string;
|
||||
date_changed?: string;
|
||||
reason?: string;
|
||||
from_year?: number;
|
||||
to_year?: number;
|
||||
order_index: number;
|
||||
created_at: string;
|
||||
}
|
||||
|
||||
export interface RideModelTechnicalSpec {
|
||||
id: string;
|
||||
ride_model_id: string;
|
||||
spec_name: string;
|
||||
spec_value: string;
|
||||
spec_type: 'string' | 'number' | 'boolean' | 'date';
|
||||
category?: string;
|
||||
unit?: string;
|
||||
display_order: number;
|
||||
created_at: string;
|
||||
}
|
||||
|
||||
export interface RideModel {
|
||||
id: string;
|
||||
name: string;
|
||||
@@ -60,7 +108,8 @@ export interface RideModel {
|
||||
category: 'roller_coaster' | 'flat_ride' | 'water_ride' | 'dark_ride' | 'kiddie_ride' | 'transportation';
|
||||
ride_type: string;
|
||||
description?: string;
|
||||
technical_specs?: any;
|
||||
technical_specs?: any; // Legacy JSON field
|
||||
technical_specifications?: RideModelTechnicalSpec[]; // New relational data
|
||||
}
|
||||
|
||||
export interface Ride {
|
||||
@@ -85,8 +134,13 @@ export interface Ride {
|
||||
max_height_meters?: number;
|
||||
length_meters?: number;
|
||||
inversions?: number;
|
||||
coaster_stats?: any;
|
||||
technical_specs?: any;
|
||||
coaster_stats?: any; // Legacy JSON field
|
||||
technical_specs?: any; // Legacy JSON field
|
||||
former_names?: any; // Legacy JSON field
|
||||
// New relational data
|
||||
technical_specifications?: RideTechnicalSpec[];
|
||||
coaster_statistics?: RideCoasterStat[];
|
||||
name_history?: RideNameHistory[];
|
||||
average_rating: number;
|
||||
review_count: number;
|
||||
image_url?: string;
|
||||
@@ -100,7 +154,6 @@ export interface Ride {
|
||||
intensity_level?: string;
|
||||
drop_height_meters?: number;
|
||||
max_g_force?: number;
|
||||
former_names?: any;
|
||||
}
|
||||
|
||||
export interface Profile {
|
||||
|
||||
Reference in New Issue
Block a user