Fix build errors and complete transformation

This commit is contained in:
gpt-engineer-app[bot]
2025-10-15 18:20:47 +00:00
parent f58d7d6014
commit fc752bcd54
3 changed files with 132 additions and 225 deletions

View File

@@ -103,28 +103,113 @@ export async function fetchSystemActivities(
): Promise<SystemActivity[]> {
const activities: SystemActivity[] = [];
// Fetch entity versions (entity changes)
// Use simplified query without foreign key join - we'll fetch profiles separately
const { data: versions, error: versionsError } = await supabase
.from('entity_versions')
.select('id, entity_type, entity_id, version_number, version_data, changed_by, changed_at, change_type, change_reason')
.eq('is_current', true)
.order('changed_at', { ascending: false })
.limit(limit * 2); // Fetch more to account for filtering
// Fetch entity versions from relational version tables
// Query all four version tables in parallel for better performance
const versionQueries = [
supabase
.from('park_versions')
.select('version_id, park_id, version_number, name, created_by, created_at, change_type, change_reason, is_current')
.eq('is_current', true)
.order('created_at', { ascending: false })
.limit(Math.ceil(limit / 2)),
supabase
.from('ride_versions')
.select('version_id, ride_id, version_number, name, created_by, created_at, change_type, change_reason, is_current')
.eq('is_current', true)
.order('created_at', { ascending: false })
.limit(Math.ceil(limit / 2)),
supabase
.from('company_versions')
.select('version_id, company_id, version_number, name, created_by, created_at, change_type, change_reason, is_current')
.eq('is_current', true)
.order('created_at', { ascending: false })
.limit(Math.ceil(limit / 4)),
supabase
.from('ride_model_versions')
.select('version_id, ride_model_id, version_number, name, created_by, created_at, change_type, change_reason, is_current')
.eq('is_current', true)
.order('created_at', { ascending: false })
.limit(Math.ceil(limit / 4)),
];
if (!versionsError && versions) {
for (const version of versions) {
const versionData = version.version_data as any;
const [parkVersions, rideVersions, companyVersions, modelVersions] = await Promise.all(versionQueries);
// Process park versions
if (!parkVersions.error && parkVersions.data) {
for (const version of parkVersions.data) {
activities.push({
id: version.id,
id: version.version_id,
type: 'entity_change',
timestamp: version.changed_at,
actor_id: version.changed_by || null,
action: `${version.change_type} ${version.entity_type}`,
timestamp: version.created_at,
actor_id: version.created_by || null,
action: `${version.change_type} park`,
details: {
entity_type: version.entity_type,
entity_id: version.entity_id,
entity_name: versionData?.name || versionData?.title,
entity_type: 'park',
entity_id: version.park_id,
entity_name: version.name,
change_type: version.change_type,
change_reason: version.change_reason,
version_number: version.version_number,
} as EntityChangeDetails,
});
}
}
// Process ride versions
if (!rideVersions.error && rideVersions.data) {
for (const version of rideVersions.data) {
activities.push({
id: version.version_id,
type: 'entity_change',
timestamp: version.created_at,
actor_id: version.created_by || null,
action: `${version.change_type} ride`,
details: {
entity_type: 'ride',
entity_id: version.ride_id,
entity_name: version.name,
change_type: version.change_type,
change_reason: version.change_reason,
version_number: version.version_number,
} as EntityChangeDetails,
});
}
}
// Process company versions
if (!companyVersions.error && companyVersions.data) {
for (const version of companyVersions.data) {
activities.push({
id: version.version_id,
type: 'entity_change',
timestamp: version.created_at,
actor_id: version.created_by || null,
action: `${version.change_type} company`,
details: {
entity_type: 'company',
entity_id: version.company_id,
entity_name: version.name,
change_type: version.change_type,
change_reason: version.change_reason,
version_number: version.version_number,
} as EntityChangeDetails,
});
}
}
// Process ride model versions
if (!modelVersions.error && modelVersions.data) {
for (const version of modelVersions.data) {
activities.push({
id: version.version_id,
type: 'entity_change',
timestamp: version.created_at,
actor_id: version.created_by || null,
action: `${version.change_type} ride_model`,
details: {
entity_type: 'ride_model',
entity_id: version.ride_model_id,
entity_name: version.name,
change_type: version.change_type,
change_reason: version.change_reason,
version_number: version.version_number,