mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-24 06:51:13 -05:00
Fix build errors in system activity service
This commit is contained in:
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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(() => {
|
||||
|
||||
Reference in New Issue
Block a user