from datetime import datetime, timezone from app.extensions import db from sqlalchemy.sql import func class Salary(db.Model): __tablename__ = 'salaries' id = db.Column(db.Integer, primary_key=True, autoincrement=True) customer_id = db.Column(db.String(50), nullable=False) account_id = db.Column(db.String(50), nullable=True) status = db.Column(db.String(20), default='active') amount = db.Column(db.Float, nullable=False, default=0.0) salary_date = db.Column(db.DateTime(timezone=False), server_default=func.now()) created_at = db.Column(db.DateTime(timezone=False), server_default=func.now()) updated_at = db.Column(db.DateTime(timezone=False), server_default=func.now(), onupdate=func.now()) def to_dict(self): return { "id": self.id, "customer_id": self.customer_id, "account_id": self.account_id, "status": self.status, "amount": self.amount, "salary_date": self.salary_date.isoformat() if self.salary_date else None, "created_at": self.created_at.isoformat() if self.created_at else None, "updated_at": self.updated_at.isoformat() if self.updated_at else None } def __repr__(self): return f''