Uploadthing Delete Files

Hi, I'm trying to delete lots of files in one go using a cron job... I detect files that are more than 3 days old and delete all of them...

I'm doing this:

const activityFilenamesToDelete = expiredActivityRecords.map(
    (record) => record.filename,
  );

  const taskFilenamesToDelete = expiredTaskRecords.map(
    (record) => record.evidence?.[0]?.filename,
  );

  const filenamesToDelete = [
    ...activityFilenamesToDelete,
    ...taskFilenamesToDelete,
  ];

  if (filenamesToDelete.length > 0) {
    try {
      const validFilenamesToDelete = filenamesToDelete.filter(
        (filename): filename is string => filename !== null,
      );
      await utapi.deleteFiles(validFilenamesToDelete);
      console.log(
        `Successfully deleted ${validFilenamesToDelete.length} expired files`,
      );
    } catch (error) {
      console.error("Failed to delete expired files:", error);
    }
  }

  return Response.json({ deletedCount: filenamesToDelete.length });
 

filename is the key of each, some are like this: "S3NUJszt9cEpdYb3l7F8xZGXwMvl7CkJ0qUjcYnNgiWe2mHb", some others like "ba8c9b9a-cda1-47b5-a972-ee1936c27a6c-wy6d.gif", i don't know why it's failing, but it may be because i'm trying to delete over 20k files...

it doesn't throw an error, it just doesn't delete anything.

please help
Was this page helpful?