Files
2026-06-24 14:53:14 +02:00

156 lines
4.7 KiB
Python

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"