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.
112 lines
4.7 KiB
112 lines
4.7 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_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_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)
|