You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

114 lines
4.9 KiB

from datetime import datetime, timezone
from flask_login import UserMixin, current_user
from flask import redirect, url_for, flash
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import synonym, relationship
from app import db
# S2qBHlGQxVDMQGYOO5Db
class Users(UserMixin, db.Model):
__tablename__ = 'Users'
id = db.Column(db.Integer, primary_key=True)
Username = db.Column(db.String())
Password = db.Column(db.String())
FullName = db.Column(db.String())
Email = db.Column(db.String())
PassResetCode = db.Column(db.String())
PassResetRequest = db.Column(db.DateTime)
Enabled = db.Column(db.Boolean, nullable=False, default=1)
Permissions = db.Column(db.String())
Created = db.Column(db.DateTime, nullable=False, default=datetime.now(timezone.utc))
LoginChangePass = db.Column(db.Boolean, nullable=False, default=0)
def __repr__(self):
return '<User %r>' % self.FullName
def get_id(self):
return str(self.id)
class PaymentBatch(db.Model):
__tablename__ = 'PaymentBatch'
id = db.Column(db.Integer, primary_key=True)
Created = db.Column(db.DateTime, nullable=False, default=datetime.now())
class Payments(db.Model):
__tablename__ = 'Payments'
id = db.Column(db.Integer, primary_key=True)
Splynx_ID = db.Column(db.Integer)
PaymentBatch_ID = db.Column(db.Integer, db.ForeignKey('PaymentBatch.id'), nullable=False)
Stripe_Customer_ID = db.Column(db.String())
Payment_Intent = db.Column(db.String())
PI_FollowUp = db.Column(db.Boolean, nullable=False, default=0)
PI_Last_Check = db.Column(db.DateTime, nullable=True)
Payment_Method = db.Column(db.String())
Stripe_Charge_ID = db.Column(db.String())
Stripe_Payment_Method = db.Column(db.String())
Fee_Tax = db.Column(db.Float())
Fee_Stripe = db.Column(db.Float())
Fee_Total = db.Column(db.Float())
Payment_Amount = db.Column(db.Float())
PI_JSON = db.Column(db.Text())
PI_FollowUp_JSON = db.Column(db.Text())
Error = db.Column(db.Text())
Success = db.Column(db.Boolean, nullable=True, default=None)
Refund = db.Column(db.Boolean, nullable=True, default=None)
Refund_FollowUp = db.Column(db.Boolean, nullable=True, default=None)
Refund_JSON = db.Column(db.Text())
Stripe_Refund_ID = db.Column(db.String())
Stripe_Refund_Created = db.Column(db.DateTime, nullable=True)
Created = db.Column(db.DateTime, nullable=False, default=datetime.now())
PaymentPlan_ID = db.Column(db.Integer, db.ForeignKey('PaymentPlans.id'), nullable=True)
class SinglePayments(db.Model):
__tablename__ = 'SinglePayments'
id = db.Column(db.Integer, primary_key=True)
Splynx_ID = db.Column(db.Integer)
Stripe_Customer_ID = db.Column(db.String())
Payment_Intent = db.Column(db.String())
PI_FollowUp = db.Column(db.Boolean, nullable=False, default=0)
PI_Last_Check = db.Column(db.DateTime, nullable=True)
Payment_Method = db.Column(db.String())
Stripe_Charge_ID = db.Column(db.String())
Stripe_Payment_Method = db.Column(db.String())
Fee_Tax = db.Column(db.Float())
Fee_Stripe = db.Column(db.Float())
Fee_Total = db.Column(db.Float())
Payment_Amount = db.Column(db.Float())
PI_JSON = db.Column(db.Text())
PI_FollowUp_JSON = db.Column(db.Text())
Error = db.Column(db.Text())
Success = db.Column(db.Boolean, nullable=True, default=None)
Refund = db.Column(db.Boolean, nullable=True, default=None)
Refund_FollowUp = db.Column(db.Boolean, nullable=True, default=None)
Refund_JSON = db.Column(db.Text())
Stripe_Refund_ID = db.Column(db.String())
Stripe_Refund_Created = db.Column(db.DateTime, nullable=True)
Created = db.Column(db.DateTime, nullable=False, default=datetime.now())
Who = db.Column(db.Integer, db.ForeignKey('Users.id'), nullable=False)
class Logs(db.Model):
__tablename__ = 'Logs'
id = db.Column(db.Integer, primary_key=True)
User_ID = db.Column(db.Integer, db.ForeignKey('Users.id'), nullable=False)
Log_Entry = db.Column(db.String(4000))
Added = db.Column(db.DateTime, nullable=False, default=datetime.now(timezone.utc))
Action = db.Column(db.String(50))
Entity_Type = db.Column(db.String(50))
Entity_ID = db.Column(db.Integer)
IP_Address = db.Column(db.String(50))
class PaymentPlans(db.Model):
__tablename__ = 'PaymentPlans'
id = db.Column(db.Integer, primary_key=True)
Splynx_ID = db.Column(db.Integer)
Stripe_Customer_ID = db.Column(db.String(50))
Amount = db.Column(db.Float)
Frequency = db.Column(db.String(50))
Start_Date = db.Column(db.DateTime, nullable=True)
Stripe_Payment_Method = db.Column(db.String(50))
Created = db.Column(db.DateTime, nullable=False, default=datetime.now())
Who = db.Column(db.Integer, db.ForeignKey('Users.id'), nullable=False)
Enabled = db.Column(db.Boolean, nullable=True, default=True)