Spaces:
Runtime error
Runtime error
File size: 2,291 Bytes
69381eb d077e09 69381eb d077e09 69381eb d077e09 69381eb d077e09 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
email = db.Column(db.String(100), nullable=False, unique=True)
password = db.Column(db.String(200), nullable=False)
account_number = db.Column(db.String(20), nullable=False, unique=True)
balance = db.Column(db.Float, nullable=False, default=0.0)
phone = db.Column(db.String(20), nullable=True)
pin = db.Column(db.String(200), nullable=True)
tier = db.Column(db.Integer, default=0)
# KYC fields
nin = db.Column(db.String(20), nullable=True)
bvn = db.Column(db.String(20), nullable=True)
id_card_url = db.Column(db.String(200), nullable=True)
nepa_bill_url = db.Column(db.String(200), nullable=True)
kyc_status = db.Column(db.String(20), default="none")
daily_limit = db.Column(db.Float, default=0.0)
max_balance = db.Column(db.Float, default=200000.0)
created_at = db.Column(db.DateTime, default=datetime.utcnow)
class Transaction(db.Model):
id = db.Column(db.Integer, primary_key=True)
sender_account_number = db.Column(db.String(20), nullable=False)
recipient_account_number = db.Column(db.String(20), nullable=False)
amount = db.Column(db.Float, nullable=False)
status = db.Column(db.String(20), nullable=False, default="completed")
is_external = db.Column(db.Boolean, default=False)
reference = db.Column(db.String(50), nullable=True)
ai_review = db.Column(db.String(500), nullable=True)
transaction_type = db.Column(db.String(20), default="transfer")
timestamp = db.Column(db.DateTime, default=datetime.utcnow)
class Alert(db.Model):
id = db.Column(db.Integer, primary_key=True)
account_number = db.Column(db.String(20), nullable=False)
message = db.Column(db.String(500), nullable=False)
read = db.Column(db.Boolean, default=False)
timestamp = db.Column(db.DateTime, default=datetime.utcnow)
class PurityMemory(db.Model):
id = db.Column(db.Integer, primary_key=True)
account_number = db.Column(db.String(20), nullable=False)
memory = db.Column(db.Text, nullable=False)
timestamp = db.Column(db.DateTime, default=datetime.utcnow)
|