28 lines
723 B
Python
28 lines
723 B
Python
# Python imports
|
|
from datetime import timedelta
|
|
|
|
# Django imports
|
|
from django.utils import timezone
|
|
from django.db.models import Q
|
|
|
|
# Third party imports
|
|
from celery import shared_task
|
|
|
|
# Module imports
|
|
from plane.db.models import FileAsset
|
|
|
|
|
|
@shared_task
|
|
def delete_file_asset():
|
|
# file assets to delete
|
|
file_assets_to_delete = FileAsset.objects.filter(
|
|
Q(is_deleted=True)
|
|
& Q(updated_at__lte=timezone.now() - timedelta(days=7))
|
|
)
|
|
|
|
# Delete the file from storage and the file object from the database
|
|
for file_asset in file_assets_to_delete:
|
|
# Delete the file from storage
|
|
file_asset.asset.delete(save=False)
|
|
# Delete the file object
|
|
file_asset.delete()
|