mirror of
https://github.com/RoboSats/robosats.git
synced 2025-07-19 09:13:28 +00:00
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
from django.contrib.auth.models import User
|
|
from django.db import models
|
|
from django.conf import settings
|
|
|
|
|
|
class TakeOrder(models.Model):
|
|
amount = models.DecimalField(max_digits=18, decimal_places=8, null=True, blank=True)
|
|
order = models.ForeignKey(
|
|
"api.Order",
|
|
related_name="order",
|
|
on_delete=models.CASCADE,
|
|
null=False,
|
|
default=None,
|
|
blank=False,
|
|
)
|
|
taker = models.ForeignKey(
|
|
User,
|
|
related_name="pretaker",
|
|
on_delete=models.CASCADE,
|
|
null=False,
|
|
default=None,
|
|
blank=False,
|
|
)
|
|
expires_at = models.DateTimeField()
|
|
taker_bond = models.OneToOneField(
|
|
"api.LNPayment",
|
|
related_name="take_order",
|
|
on_delete=models.SET_NULL,
|
|
null=True,
|
|
default=None,
|
|
blank=True,
|
|
)
|
|
last_satoshis = models.PositiveBigIntegerField(
|
|
null=True,
|
|
default=None,
|
|
validators=[MinValueValidator(0), MaxValueValidator(settings.MAX_TRADE * 2)],
|
|
blank=True,
|
|
)
|
|
# timestamp of last_satoshis
|
|
last_satoshis_time = models.DateTimeField(null=True, default=None, blank=True)
|
|
|
|
def __str__(self):
|
|
return f"Order {self.order.id} taken by Robot({self.taker.robot.id},{self.taker.username}) for {self.amount} fiat units"
|