django/base/models.py

132 lines
4.9 KiB
Python
Raw Permalink Normal View History

2023-04-23 16:08:01 +00:00
from django.db import models
from users.models import User
2023-05-05 20:15:03 +00:00
from django.contrib import admin
2023-04-23 16:08:01 +00:00
# Create your models here.
2023-05-30 09:30:00 +00:00
class CryptoCoins(models.Model):
id = models.BigAutoField(primary_key=True)
coinName = models.CharField(max_length=250)
coinSymbol = models.CharField(max_length=10)
2023-12-05 14:46:34 +00:00
coinAPI = models.BooleanField(default=True)
coinMerch = models.BooleanField(default=True)
2023-05-30 09:30:00 +00:00
coinIsActive = models.BooleanField(default=True)
coinAddDate = models.DateTimeField(auto_now_add=True)
coinUpdated = models.DateTimeField(auto_now=True)
coinDelete = models.DateTimeField(auto_now_add=True, blank=True, null=True)
coinDeleted = models.BooleanField(default=False)
class Meta:
verbose_name = "Crypto Coin"
verbose_name_plural = "Crypto Coins"
ordering = ["-id"]
2023-04-23 16:08:01 +00:00
class VendorsData(models.Model):
2023-05-05 20:15:03 +00:00
id = models.BigAutoField(primary_key=True)
2023-04-23 16:08:01 +00:00
vendorid = models.ForeignKey(User, default=None, on_delete=models.CASCADE)
vendorUUID = models.UUIDField()
vendor = models.CharField(max_length=8, unique=True)
2023-05-30 09:30:00 +00:00
vendorSecretKey = models.CharField(max_length=250)
2023-04-23 16:08:01 +00:00
vendorCoverAmount = models.IntegerField(default=0)
2023-05-30 09:30:00 +00:00
vendorNetworkFee = models.IntegerField(default=0)
2023-05-05 20:15:03 +00:00
vendorPaidNotification = models.BooleanField(default=True)
vendorSkipScreen = models.BooleanField(default=False)
vendorPayWindow = models.BooleanField(default=True)
2023-04-23 16:08:01 +00:00
vendorWebName = models.CharField(max_length=250)
2023-05-05 20:15:03 +00:00
vendorWebAddr = models.URLField(max_length=250)
2023-04-23 16:08:01 +00:00
vendorAddDate = models.DateTimeField(auto_now_add=True)
2023-05-05 20:15:03 +00:00
vendorDeleted = models.BooleanField(default=False)
vendorUpdated = models.DateTimeField(auto_now=True)
vendorAddDelete = models.DateTimeField(auto_now_add=True)
vendorIsActive = models.BooleanField(default=True)
2023-04-23 16:08:01 +00:00
def __str__(self):
return self.vendor
2023-05-30 09:30:00 +00:00
def __repr__(self):
return self._repr()
2023-04-23 16:08:01 +00:00
class Meta:
verbose_name = "Vendor"
verbose_name_plural = "Vendors"
ordering = ["-id"]
2023-05-30 09:30:00 +00:00
class VendorsAddresses(models.Model):
id = models.BigAutoField(primary_key=True)
vendor = models.ForeignKey(VendorsData, default=None, on_delete=models.CASCADE)
vendorid = models.ForeignKey(User, default=None, on_delete=models.CASCADE)
vendorUUID = models.UUIDField()
coin = models.CharField(max_length=10)
address = models.CharField(max_length=250)
addrAddDate = models.DateTimeField(auto_now_add=True)
addrDeleted = models.BooleanField(default=False)
addrUpdated = models.DateTimeField(auto_now=True)
addrIsActive = models.BooleanField(default=True)
def __str__(self):
return self.address
2023-12-05 14:46:34 +00:00
def __repr__(self):
return self._repr()
2023-05-30 09:30:00 +00:00
class Meta:
verbose_name = "Address"
verbose_name_plural = "Addresses"
ordering = ["-addrAddDate"]
2023-12-05 14:46:34 +00:00
class InvoiceCreation(models.Model):
def default_currency():
return 'USD'
id = models.BigAutoField(primary_key=True)
invoiceVendor = models.ForeignKey(VendorsData, on_delete=models.CASCADE)
invoiceVendorid = models.ForeignKey(User, on_delete=models.CASCADE)
invoiceUUID = models.UUIDField(unique=True)
invoiceID = models.CharField(max_length=255)
invoiceAmount = models.DecimalField(max_digits=20, decimal_places=2)
invoiceCoin = models.CharField(max_length=10, default=default_currency, null=False)
invoiceState = models.IntegerField(default=0)
invoiceBuyerEmail = models.EmailField(max_length=255, null=True)
invoiceCallbackLink = models.URLField(max_length=1000)
invoiceReturnLink = models.URLField(max_length=1000)
invoiceDeleteLink = models.URLField(max_length=1000, null=True)
invoiceDeleted = models.BooleanField(default=False)
invoiceAddDate = models.DateTimeField(auto_now_add=True)
invoiceUpdateDate = models.DateTimeField(auto_now=True)
invoiceDeleteDate = models.DateTimeField(blank=True, null=True)
2023-05-30 09:30:00 +00:00
2023-12-05 14:46:34 +00:00
def __str__(self):
return str(self.invoiceUUID)
def __repr__(self):
return self._repr()
class Meta:
verbose_name = "Invoice"
verbose_name_plural = "Invoices"
ordering = ["-invoiceAddDate"]
class ApiPaymentCreation(models.Model):
id = models.BigAutoField(primary_key=True)
userAddr = models.CharField(max_length=255)
userUUID = models.UUIDField()
userCoin = models.CharField(max_length=10)
userAmount = models.DecimalField(max_digits=20, decimal_places=2)
usercallbackUrl = models.URLField(max_length=1000, null=True)
userIP = models.GenericIPAddressField()
ourAddr = models.CharField(max_length=255)
statusFlag = models.IntegerField(default=0)
paidFlag = models.IntegerField(default=0)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return str(self.ourAddr)
class Meta:
verbose_name = "ApiInvoice"
verbose_name_plural = "ApiInvoices"
ordering = ["-id"]