Fix remaining compliance violations

This commit is contained in:
gpt-engineer-app[bot]
2025-11-03 18:47:59 +00:00
parent 6efb6dda66
commit 7663205512
9 changed files with 131 additions and 83 deletions

View File

@@ -1,4 +1,5 @@
import { createClient } from 'https://esm.sh/@supabase/supabase-js@2';
import { edgeLogger } from '../_shared/logger.ts';
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
@@ -38,7 +39,7 @@ Deno.serve(async (req) => {
errors: [],
};
console.log('Starting version cleanup job...');
edgeLogger.info('Starting version cleanup job');
// Get retention settings from admin_settings
const { data: retentionSetting, error: settingsError } = await supabaseClient
@@ -55,7 +56,7 @@ Deno.serve(async (req) => {
const cutoffDate = new Date();
cutoffDate.setDate(cutoffDate.getDate() - retentionDays);
console.log(`Cleanup configuration: ${retentionDays} day retention, cutoff: ${cutoffDate.toISOString()}`);
edgeLogger.info('Cleanup configuration', { retentionDays, cutoff: cutoffDate.toISOString() });
// Step 1: Delete orphaned edit history (where submission_item no longer exists)
const { data: orphanedRecords, error: orphanError } = await supabaseClient
@@ -63,10 +64,10 @@ Deno.serve(async (req) => {
if (orphanError) {
stats.errors.push(`Failed to find orphaned records: ${orphanError.message}`);
console.error('Orphan detection error:', orphanError);
edgeLogger.error('Orphan detection error', { error: orphanError.message });
} else if (orphanedRecords && orphanedRecords.length > 0) {
const orphanedIds = orphanedRecords.map((r: any) => r.id);
console.log(`Found ${orphanedIds.length} orphaned edit history records`);
const orphanedIds = orphanedRecords.map((r: { id: string }) => r.id);
edgeLogger.info('Found orphaned edit history records', { count: orphanedIds.length });
const { error: deleteOrphanError } = await supabaseClient
.from('item_edit_history')
@@ -75,10 +76,10 @@ Deno.serve(async (req) => {
if (deleteOrphanError) {
stats.errors.push(`Failed to delete orphaned records: ${deleteOrphanError.message}`);
console.error('Orphan deletion error:', deleteOrphanError);
edgeLogger.error('Orphan deletion error', { error: deleteOrphanError.message });
} else {
stats.orphaned_records_deleted = orphanedIds.length;
console.log(`Deleted ${orphanedIds.length} orphaned records`);
edgeLogger.info('Deleted orphaned records', { count: orphanedIds.length });
}
}
@@ -92,7 +93,7 @@ Deno.serve(async (req) => {
}
if (items && items.length > 0) {
console.log(`Processing ${items.length} submission items for version cleanup`);
edgeLogger.info('Processing submission items for version cleanup', { itemCount: items.length });
for (const item of items) {
try {
@@ -165,7 +166,7 @@ Deno.serve(async (req) => {
stats.processing_time_ms = Date.now() - startTime;
console.log('Cleanup completed successfully:', {
edgeLogger.info('Cleanup completed successfully', {
...stats,
errors: stats.errors.length > 0 ? stats.errors : undefined,
});
@@ -182,7 +183,7 @@ Deno.serve(async (req) => {
}
);
} catch (error) {
console.error('Cleanup job failed:', error);
edgeLogger.error('Cleanup job failed', { error: error instanceof Error ? error.message : String(error) });
return new Response(
JSON.stringify({