from django.db import models from django.contrib.auth.models import User import uuid from storages.backends.s3boto3 import S3Boto3Storage class FailedTransactions(models.Model): uuid = models.UUIDField(max_length=36, primary_key=True, default=uuid.uuid4, editable=True) creator = models.ForeignKey( User, on_delete=models.CASCADE, null=True, blank=True, related_name="transcation_created" ) transaction_hash = models.CharField(max_length=255, null=True, blank=True) transaction_type = models.CharField(max_length=255, null=True, blank=True) transaction_status = models.CharField(max_length=255, null=True, blank=True) transaction_error = models.TextField(null=True, blank=True) transaction_data = models.TextField(null=True, blank=True) service_name = models.CharField(max_length=255, null=True, blank=True) service_id = models.CharField(max_length=255, null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) # app/storage_backends.py class PrivateMediaStorage(S3Boto3Storage): location = 'private' default_acl = 'private' file_overwrite = False class PublicMediaStorage(S3Boto3Storage): location = 'public' default_acl = 'public-read' file_overwrite = False class MNFServersFile(models.Model): uuid = models.UUIDField(max_length=36, primary_key=True, default=uuid.uuid4, editable=True) project_id = models.CharField(max_length=255, null=True, blank=True) user = models.ForeignKey( User, on_delete=models.CASCADE, null=True, blank=True, related_name="user_file" ) file_name = models.CharField(max_length=255, null=True, blank=True) file_path = models.CharField(max_length=255, null=True, blank=True) file_size = models.CharField(max_length=255, null=True, blank=True) file_type = models.CharField(max_length=255, null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) file_url = models.CharField(max_length=255, null=True, blank=True) file = models.FileField(upload_to='media/s3Files/', null=True, blank=True) private_s3_file = models.FileField( storage=PrivateMediaStorage(), upload_to='media/s3Files/private/', null=True, blank=True ) public_file = models.FileField( storage=PublicMediaStorage(), upload_to='media/s3Files/public/', null=True, blank=True )