mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 04:51:11 -05:00
Fix: Remove .select() from delete operations
This commit is contained in:
@@ -148,17 +148,23 @@ export class TestDataTracker {
|
||||
|
||||
for (const table of tables) {
|
||||
try {
|
||||
const { error, data } = await supabase
|
||||
// First count how many will be deleted
|
||||
const { count: countToDelete } = await supabase
|
||||
.from(table as any)
|
||||
.select('*', { count: 'exact', head: true })
|
||||
.eq('is_test_data', true);
|
||||
|
||||
// Then delete without selecting (avoids needing SELECT permission on deleted rows)
|
||||
const { error } = await supabase
|
||||
.from(table as any)
|
||||
.delete()
|
||||
.eq('is_test_data', true)
|
||||
.select('id');
|
||||
.eq('is_test_data', true);
|
||||
|
||||
if (error) {
|
||||
logger.warn('Failed to bulk delete test data', { table, error });
|
||||
totalErrors++;
|
||||
} else if (data) {
|
||||
totalDeleted += data.length;
|
||||
} else if (countToDelete) {
|
||||
totalDeleted += countToDelete;
|
||||
}
|
||||
} catch (err) {
|
||||
logger.warn('Exception bulk deleting test data', { table, error: err });
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
-- Allow moderators to delete test data from version tables
|
||||
-- This enables test data cleanup operations to work properly
|
||||
|
||||
-- Park versions
|
||||
CREATE POLICY "Moderators can delete test park versions"
|
||||
ON park_versions
|
||||
FOR DELETE
|
||||
TO authenticated
|
||||
USING (
|
||||
is_test_data = true
|
||||
AND is_moderator(auth.uid())
|
||||
);
|
||||
|
||||
-- Ride versions
|
||||
CREATE POLICY "Moderators can delete test ride versions"
|
||||
ON ride_versions
|
||||
FOR DELETE
|
||||
TO authenticated
|
||||
USING (
|
||||
is_test_data = true
|
||||
AND is_moderator(auth.uid())
|
||||
);
|
||||
|
||||
-- Company versions
|
||||
CREATE POLICY "Moderators can delete test company versions"
|
||||
ON company_versions
|
||||
FOR DELETE
|
||||
TO authenticated
|
||||
USING (
|
||||
is_test_data = true
|
||||
AND is_moderator(auth.uid())
|
||||
);
|
||||
|
||||
-- Ride model versions
|
||||
CREATE POLICY "Moderators can delete test ride model versions"
|
||||
ON ride_model_versions
|
||||
FOR DELETE
|
||||
TO authenticated
|
||||
USING (
|
||||
is_test_data = true
|
||||
AND is_moderator(auth.uid())
|
||||
);
|
||||
Reference in New Issue
Block a user