156 lines
4.7 KiB
Python
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"
|
|
|
|
|
|
|