class Statement(db.Model): __tablename__ = 'statements' statement_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) tenant_name = db.Column(db.String(75), nullable=False) tenant_id = db.Column(db.Integer, db.ForeignKey('tenants.tenant_id'), nullable=False) unit_id = db.Column(db.Integer, db.ForeignKey('units.unit_id'), nullable=False) transaction_type = db.Column(db.String(75), nullable=False) transaction_amount = db.Column(db.Float, nullable=False) transaction_date = db.Column(db.Date, nullable=False) net_amount = db.Column(db.Float, nullable=False) def __init__(self, tenant_id, unit_id, tenant_name, transaction_type, transaction_amount, net_amount, transaction_date, public_id): self.public_id = public_id self.tenant_id = tenant_id self.unit_id = unit_id self.tenant_name = tenant_name self.transaction_type = transaction_type self.transaction_amount = transaction_amount self.transaction_date = transaction_date self.net_amount = net_amount
class Role(db.Model): __tablename__ = 'Role' id = db.Column(db.Integer, primary_key=True) movie_id = db.Column(db.Integer, db.ForeignKey('Movie.id'), nullable=False) actor_id = db.Column(db.Integer, db.ForeignKey('Actor.id'), nullable=False) role = db.Column(db.String(80), nullable=False) actor = db.relationship('Actor', back_populates='movies') movie = db.relationship('Movie', back_populates='actors')
class Users(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(60)) password = db.Column(db.String(60)) arc = db.Boolean() zid = db.Column(db.String(8)) registered = db.Column(db.Integer, db.ForeignKey("registered.id"))
class Email(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(100), index=True, unique=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) def __repr__(self): return '<Email %r>' % (self.email)
class Events(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100)) location = db.Column(db.String(30)) #starttime = db.Column(db.Time) #date = db.Column(db.Date) secret_code = db.String(6) registered_users = db.relationship("Registered", backref="event") society = db.Column(db.Integer, db.ForeignKey("societies.id"))
class TrackChange(db.Model): id = db.Column(db.Integer, primary_key=True) currentTrack = db.Column(db.String(100)) endTime = db.Column(db.Float) pattern = db.Column(db.String(10)) nextTrack = db.Column(db.String(100)) startTime = db.Column(db.Float) timeOfChange = db.Column(db.DateTime) user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): return f"Post('{self.title}', '{self.date_posted}')"
class Car(db.Model): __tablename__ = 'Car' id = db.Column(db.Integer, primary_key=True, nullable=False, unique=True) name = db.Column(db.Text(50), nullable=False) horsepower = db.Column(db.Text, nullable=False) cost = db.Column(db.Text, nullable=False) wheeldrive = db.Column(db.Text, nullable=False) weight = db.Column(db.Text, nullable=False) image = db.Column(db.Text) manufacturerid = db.Column(db.Text, db.ForeignKey('Manufacturer.id'))
class Services(db.Model): __tablename__ = 'services' service_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) complaint_id = db.Column(db.Integer, db.ForeignKey('complaints.complaint_id'), nullable=False) provider_id = db.Column(db.Integer, db.ForeignKey('service_providers.provider_id'), nullable=False) fixed_date = db.Column(db.Date, nullable=False) cost = db.Column(db.Float(12), nullable=False) def __init__(self, complaint_id, provider_id, cost, public_id): self.public_id = public_id self.complaint_id = complaint_id self.provider_id = provider_id self.fixed_date = datetime.now() self.cost = cost
class Property(db.Model): __tablename__ = 'property' property_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) property_name = db.Column(db.String(75), nullable=False) manager_id = db.Column(db.Integer, db.ForeignKey('property_managers.manager_id'), nullable=False) landlord_id = db.Column(db.Integer, db.ForeignKey('landlords.landlord_id'), nullable=False) # Relationships blocks = db.relationship('Block', backref='property', lazy=True) def __init__(self, property_name, manager_id, landlord_id, public_id): self.public_id = public_id self.manager_id = manager_id self.property_name = property_name self.landlord_id = landlord_id
class Lease(db.Model): __tablename__ = 'leases' lease_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) lease_begin_date = db.Column(db.Date, nullable=False) lease_end_date = db.Column(db.Date, nullable=False) lease_amount = db.Column(db.Float(12), nullable=False) promises = db.Column(db.Text, nullable=False) service_charges = db.Column(db.Float(12), nullable=True) notes = db.Column(db.Text, nullable=True) lease_status = db.Column(db.String(75), nullable=False) payment_interval = db.Column(db.Integer, nullable=False) tenant_id = db.Column(db.Integer, db.ForeignKey('tenants.tenant_id'), nullable=False) unit_id = db.Column(db.Integer, db.ForeignKey('units.unit_id'), nullable=False) # Relationships debts = db.relationship('Debt', backref='leases', lazy=True) def __init__(self, tenant_id, unit_id, lease_begin_date, lease_end_date, lease_amount, promises, service_charges, notes, lease_status, payment_interval, public_id): self.tenant_id = tenant_id self.unit_id = unit_id self.public_id = public_id self.lease_begin_date = lease_begin_date self.lease_end_date = lease_end_date self.lease_amount = lease_amount self.promises = promises self.service_charges = service_charges self.notes = notes self.lease_status = lease_status self.payment_interval = payment_interval
class Payment(db.Model): __tablename__ = 'payments' payment_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) unit_id = db.Column(db.Integer, db.ForeignKey('units.unit_id'), nullable=False) amount_paid = db.Column(db.Float(12), nullable=False) payment_type = db.Column(db.String(30), nullable=False) debt_id = db.Column(db.Integer, db.ForeignKey('debts.debt_id'), nullable=False) date_paid = db.Column(db.Date, nullable=False) def __init__(self, unit_id, amount_paid, payment_type, debt_id, public_id): self.public_id = public_id self.debt_id = debt_id self.unit_id = unit_id self.amount_paid = amount_paid self.payment_type = payment_type self.date_paid = datetime.utcnow()
class Image(db.Model): __tablename__ = 'complaints_images' image_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) image_name = db.Column(db.String(75), nullable=False) complaint_id = db.Column(db.Integer, db.ForeignKey('complaints.complaint_id'), nullable=False) def __init__(self, image_name, complaint_id, public_id): self.public_id = public_id self.image_name = image_name self.complaint_id = complaint_id
class Block(db.Model): __tablename__ = 'blocks' block_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) property_id = db.Column(db.Integer, db.ForeignKey('property.property_id'), nullable=False) block_name = db.Column(db.String(35), nullable=False) number_of_units = db.Column(db.Integer, nullable=False) # Relationships units = db.relationship('Unit', backref='blocks', lazy=True) def __init__(self, property_id, block_name, number_of_units, public_id): self.number_of_units = number_of_units self.public_id = public_id self.property_id = property_id self.block_name = block_name
class Caretaker(db.Model): __tablename__ = 'caretakers' caretaker_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) property_id = db.Column(db.Integer, db.ForeignKey('property.property_id'), nullable=False) first_name = db.Column(db.String(75), nullable=False) last_name = db.Column(db.String(75), nullable=False) email = db.Column(db.String(100), nullable=False, unique=True) phone = db.Column(db.String(15), nullable=False, unique=True) def __init__(self, property_id, first_name, last_name, email, phone, public_id): self.public_id = public_id self.property_id = property_id self.first_name = first_name self.last_name = last_name self.email = email self.phone = phone
class SurveyResponse(db.Model): __tablename__ = 'survey_responses' response_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) response = db.Column(db.String(255), nullable=False) emotion = db.Column(db.String(50), nullable=False) response1 = db.Column(db.String(255), nullable=False) emotion1 = db.Column(db.String(50), nullable=False) response2 = db.Column(db.String(255), nullable=False) emotion2 = db.Column(db.String(50), nullable=False) response3 = db.Column(db.String(255), nullable=False) emotion3 = db.Column(db.String(50), nullable=False) response4 = db.Column(db.String(255), nullable=False) emotion4 = db.Column(db.String(50), nullable=False) response5 = db.Column(db.String(255), nullable=False) emotion5 = db.Column(db.String(50), nullable=False) survey_id = db.Column(db.Integer, db.ForeignKey('surveys.survey_id'), nullable=False) created_at = db.Column(db.Date, nullable=False) # Relationships def __init__(self, public_id, response, emotion, response1, emotion1, response2, emotion2, response3, emotion3, response4, emotion4, response5, emotion5, survey_id): self.response = response self.emotion = emotion self.response1 = response1 self.emotion1 = emotion1 self.response2 = response2 self.emotion2 = emotion2 self.response3 = response3 self.emotion3 = emotion3 self.response4 = response4 self.emotion4 = emotion4 self.response5 = response5 self.emotion5 = emotion5 self.public_id = public_id self.survey_id = survey_id self.created_at = datetime.date.today()
class Unit(db.Model): __tablename__ = 'units' unit_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) block_id = db.Column(db.Integer, db.ForeignKey('blocks.block_id'), nullable=True) unit_number = db.Column(db.String(25), nullable=False, unique=True) unit_status = db.Column(db.String(75), nullable=False) # Relationships # rentals = db.relationship('Rental', backref='units', lazy=True) complaints = db.relationship('Complaint', backref='units', lazy=True) leases = db.relationship('Lease', backref='units', lazy=True) def __init__(self, block_id, unit_number, unit_status, public_id): self.public_id = public_id self.unit_number = unit_number self.block_id = block_id self.unit_status = unit_status
class Complaint(db.Model): __tablename__ = 'complaints' complaint_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) date_posted = db.Column(db.Date, nullable=False) message = db.Column(db.Text, nullable=False) due_date = db.Column(db.Date, nullable=True) fixed_date = db.Column(db.Date, nullable=True) unit_id = db.Column(db.Integer, db.ForeignKey('units.unit_id'), nullable=False) #Relationship with images table services = db.relationship('Services', backref='complaints', lazy=True) images = db.relationship('Image', backref='complaints', lazy=True) def __init__(self, message, fixed_date, unit_id, public_id): self.public_id = public_id self.date_posted = datetime.now().date() self.message = message self.due_date = None self.fixed_date = fixed_date self.unit_id = unit_id
class Debt(db.Model): __tablename__ = 'debts' debt_id = db.Column(db.Integer, nullable=False, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) bill_amount = db.Column(db.Float, nullable=False) paid_amount = db.Column(db.Float, nullable=False, default=0) debt_status = db.Column(db.String(75), nullable=False) debt_date = db.Column(db.Date, nullable=False) lease_id = db.Column(db.Integer, db.ForeignKey('leases.lease_id'), nullable=False) #Relationships payments = db.relationship('Payment', backref='debts', lazy=True) def __init__(self, bill_amount, paid_amount, debt_status, debt_date, lease_id, public_id): self.public_id = public_id self.bill_amount = bill_amount self.paid_amount = paid_amount self.debt_status = debt_status self.lease_id = lease_id self.debt_date = debt_date
class Survey(db.Model): __tablename__ = 'surveys' survey_id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(70), nullable=False, unique=True) name = db.Column(db.String(50), nullable=False) description = db.Column(db.String(150), nullable=False) question_0 = db.Column(db.String(255), nullable=False) question_1 = db.Column(db.String(255), nullable=False) question_2 = db.Column(db.String(255), nullable=False) question_3 = db.Column(db.String(255), nullable=False) question_4 = db.Column(db.String(255), nullable=False) question_5 = db.Column(db.String(255), nullable=False) created_at = db.Column(db.Date, nullable=False) company_id = db.Column(db.Integer, db.ForeignKey('companies.company_id'), nullable=False) # Relationships survey_responses = db.relationship('SurveyResponse', backref='surveys', lazy=True) def __init__(self, public_id, name, description, company_id, question_0, question_1, question_2, question_3, question_4, question_5): self.created_at = datetime.date.today() self.public_id = public_id self.name = name self.description = description self.company_id = company_id self.question_0 = question_0 self.question_1 = question_1 self.question_2 = question_2 self.question_3 = question_3 self.question_4 = question_4 self.question_5 = question_5
class Registered(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.relationship("Users", backref="registered_user") event_id = db.Column(db.Integer, db.ForeignKey("events.id"))
from routes import db association_table = db.Table( 'association', db.Model.metadata, db.Column('user_id', db.Integer, db.ForeignKey('user.id')), db.Column('song_id', db.Integer, db.ForeignKey('song.id'))) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), index=True, unique=True) password = db.Column(db.String(64), index=True, unique=False) email = db.relationship('Email', backref='user', lazy=False, uselist=False) songs = db.relationship("Song", secondary=association_table) @property def is_authenticated(self): return True @property def is_active(self): return True @property def is_anonymous(self): return False def get_id(self): return str(self.id) def __repr__(self):
class UserCar(db.Model): __tablename__ = 'UserCar' id = db.Column(db.Integer, primary_key=True) uid = db.Column(db.ForeignKey('User.id')) cid = db.Column(db.ForeignKey('Car.id'))