import logging from datetime import datetime from django.core.exceptions import ValidationError, ObjectDoesNotExist from django.db import IntegrityError, DatabaseError, transaction from django.http import JsonResponse from .models import * from .exception_handling import handle_exceptions from .db_validate import * ###DELETE functions### @handle_exceptions @transaction.atomic #Function for deleting a manufacturer def delete_manufacturer(manufacturer_id): # Delete the manufacturer Manufacturer.objects.filter(id=manufacturer_id).delete() return 0, f"Manufacturer with ID {manufacturer_id} was successfully deleted" @handle_exceptions @transaction.atomic #Function for deleting a device type def delete_device_type(device_type_id): # Delete device type DeviceType.objects.filter(id=device_type_id).delete() return 0, f"Gerätetyp mit ID {device_type_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a product def delete_product(product_id): # Delete product type Product.objects.filter(id=product_id).delete() return 0, f"Product mit ID {product_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a device def delete_device(device_id): # Delete device Device.objects.filter(id=device_id).delete() return 0, f"Gerät mit ID {device_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a firmware def delete_firmware(firmware_id): # Delete firmware Firmware.objects.filter(id=firmware_id).delete() return 0, f"Firmware mit ID {firmware_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a file def delete_file(file_id): # File File.objects.filter(id=file_id).delete() return 0, f"File mit ID {file_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a file def delete_raw_dataset(raw_dataset_id): # File RawDataset.objects.filter(id=raw_dataset_id).delete() return 0, f"RawDataset mit ID {raw_dataset_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a file def delete_analyzed_dataset(analyzed_dataset_id): # File AnalyzedDataset.objects.filter(id=analyzed_dataset_id).delete() return 0, f" analyzedDataset mit ID {analyzed_dataset_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a file def delete_raw_dns_by_id(raw_dns_id): # File DnsRaw.objects.filter(id=raw_dns_id).delete() return 0, f" Raw Dns mit ID {raw_dns_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a raw URL entry defined by ID def delete_raw_url_by_id(raw_url_id): # File UrlRaw.objects.filter(id=raw_url_id).delete() return 0, f" Url Raw mit ID {raw_url_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a raw hash entry defined by ID def delete_raw_hash_by_id(raw_hash_id): # File HashRaw.objects.filter(id=raw_hash_id).delete() return 0, f" Hash Raw mit ID {raw_hash_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting an analyzed entry def delete_analyzed_dns_by_id(analyzed_dns_id): # File DnsAnalyzed.objects.filter(id=analyzed_dns_id).delete() return 0, f" Dns Analyzed mit ID {analyzed_dns_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a raw URL entry defined by ID def delete_analyzed_url_by_id(analyzed_url_id): # File UrlAnalyzed.objects.filter(id=analyzed_url_id).delete() return 0, f" Url Analyzed mit ID {analyzed_url_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic #Function for deleting a raw hash entry defined by ID def delete_analyzed_hash_by_id(analyzed_hash_id): # File HashAnalyzed.objects.filter(id=analyzed_hash_id).delete() return 0, f" Hash Analyzed mit ID {analyzed_hash_id} wurde erfolgreich gelöscht" @handle_exceptions @transaction.atomic # Function for deleting a port def delete_port(port_id: int): Port.objects.filter(id=port_id).delete() return 0, f"Port mit ID {port_id} wurde erfolgreich gelöscht" # Function for deleting a TLS version @handle_exceptions @transaction.atomic def delete_tls_version(tls_id: int): TlsVersion.objects.filter(id=tls_id).delete() return 0, f"TLS Version mit ID {tls_id} wurde erfolgreich gelöscht" # Function for deleting a cipher suite @handle_exceptions @transaction.atomic def delete_cipher_suite(cipher_id: int): CipherSuite.objects.filter(id=cipher_id).delete() return 0, f"Cipher Suite mit ID {cipher_id} wurde erfolgreich gelöscht"