33 lines
1.5 KiB
Python
33 lines
1.5 KiB
Python
from app.extensions import db
|
|
from app.enums.LimitedItemTransferMethod import LimitedItemTransferMethod
|
|
|
|
from datetime import datetime
|
|
|
|
class LimitedItemTransfer(db.Model):
|
|
id = db.Column(db.BigInteger, primary_key=True, autoincrement=True)
|
|
|
|
original_owner_id = db.Column(db.BigInteger, nullable=False, index=True)
|
|
new_owner_id = db.Column(db.BigInteger, nullable=False, index=True)
|
|
|
|
asset_id = db.Column(db.BigInteger, nullable=False, index=True)
|
|
user_asset_id = db.Column(db.BigInteger, nullable=False, index=True)
|
|
transferred_at = db.Column(db.DateTime, nullable=False)
|
|
|
|
transfer_method = db.Column(db.Enum(LimitedItemTransferMethod), nullable=False, index=True)
|
|
purchased_price = db.Column(db.BigInteger, nullable=True, default=None)
|
|
associated_trade_id = db.Column(db.BigInteger, nullable=True, default=None)
|
|
|
|
def __init__(self, original_owner_id, new_owner_id, asset_id, user_asset_id, transfer_method=LimitedItemTransferMethod.Purchase, transferred_at=None, purchased_price=None, associated_trade_id = None):
|
|
self.original_owner_id = original_owner_id
|
|
self.new_owner_id = new_owner_id
|
|
self.asset_id = asset_id
|
|
self.user_asset_id = user_asset_id
|
|
self.transfer_method = transfer_method
|
|
|
|
if transferred_at is None:
|
|
self.transferred_at = datetime.utcnow()
|
|
else:
|
|
self.transferred_at = transferred_at
|
|
|
|
self.purchased_price = purchased_price
|
|
self.associated_trade_id = associated_trade_id |