Fix build errors in system activity service

This commit is contained in:
gpt-engineer-app[bot]
2025-10-15 18:30:24 +00:00
parent fc752bcd54
commit 1a11cb153a
4 changed files with 106 additions and 110 deletions

View File

@@ -137,19 +137,20 @@ export async function fetchSystemActivities(
// Process park versions
if (!parkVersions.error && parkVersions.data) {
for (const version of parkVersions.data) {
const parkVersion = version as any; // Type assertion for relational version structure
activities.push({
id: version.version_id,
id: parkVersion.version_id,
type: 'entity_change',
timestamp: version.created_at,
actor_id: version.created_by || null,
action: `${version.change_type} park`,
timestamp: parkVersion.created_at,
actor_id: parkVersion.created_by || null,
action: `${parkVersion.change_type} park`,
details: {
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,
entity_id: parkVersion.park_id,
entity_name: parkVersion.name,
change_type: parkVersion.change_type,
change_reason: parkVersion.change_reason,
version_number: parkVersion.version_number,
} as EntityChangeDetails,
});
}
@@ -158,19 +159,20 @@ export async function fetchSystemActivities(
// Process ride versions
if (!rideVersions.error && rideVersions.data) {
for (const version of rideVersions.data) {
const rideVersion = version as any;
activities.push({
id: version.version_id,
id: rideVersion.version_id,
type: 'entity_change',
timestamp: version.created_at,
actor_id: version.created_by || null,
action: `${version.change_type} ride`,
timestamp: rideVersion.created_at,
actor_id: rideVersion.created_by || null,
action: `${rideVersion.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,
entity_id: rideVersion.ride_id,
entity_name: rideVersion.name,
change_type: rideVersion.change_type,
change_reason: rideVersion.change_reason,
version_number: rideVersion.version_number,
} as EntityChangeDetails,
});
}
@@ -179,19 +181,20 @@ export async function fetchSystemActivities(
// Process company versions
if (!companyVersions.error && companyVersions.data) {
for (const version of companyVersions.data) {
const companyVersion = version as any;
activities.push({
id: version.version_id,
id: companyVersion.version_id,
type: 'entity_change',
timestamp: version.created_at,
actor_id: version.created_by || null,
action: `${version.change_type} company`,
timestamp: companyVersion.created_at,
actor_id: companyVersion.created_by || null,
action: `${companyVersion.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,
entity_id: companyVersion.company_id,
entity_name: companyVersion.name,
change_type: companyVersion.change_type,
change_reason: companyVersion.change_reason,
version_number: companyVersion.version_number,
} as EntityChangeDetails,
});
}
@@ -200,19 +203,20 @@ export async function fetchSystemActivities(
// Process ride model versions
if (!modelVersions.error && modelVersions.data) {
for (const version of modelVersions.data) {
const modelVersion = version as any;
activities.push({
id: version.version_id,
id: modelVersion.version_id,
type: 'entity_change',
timestamp: version.created_at,
actor_id: version.created_by || null,
action: `${version.change_type} ride_model`,
timestamp: modelVersion.created_at,
actor_id: modelVersion.created_by || null,
action: `${modelVersion.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,
entity_id: modelVersion.ride_model_id,
entity_name: modelVersion.name,
change_type: modelVersion.change_type,
change_reason: modelVersion.change_reason,
version_number: modelVersion.version_number,
} as EntityChangeDetails,
});
}

View File

@@ -50,14 +50,18 @@ export default function AdminDashboard() {
const checkSuspiciousVersions = useCallback(async () => {
if (!user || !isModerator()) return;
const { count, error } = await supabase
.from('entity_versions')
.select('*', { count: 'exact', head: true })
.is('changed_by', null);
// Query all version tables for suspicious entries (no changed_by)
const queries = [
supabase.from('park_versions').select('*', { count: 'exact', head: true }).is('created_by', null),
supabase.from('ride_versions').select('*', { count: 'exact', head: true }).is('created_by', null),
supabase.from('company_versions').select('*', { count: 'exact', head: true }).is('created_by', null),
supabase.from('ride_model_versions').select('*', { count: 'exact', head: true }).is('created_by', null),
];
if (!error && count !== null) {
setSuspiciousVersionsCount(count);
}
const results = await Promise.all(queries);
const totalCount = results.reduce((sum, result) => sum + (result.count || 0), 0);
setSuspiciousVersionsCount(totalCount);
}, [user, isModerator]);
useEffect(() => {