Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

32 linhas
1.3 KiB

  1. # PostgreSQL table model for users
  2. from sqlalchemy import Column, Integer, String, ForeignKey
  3. from sqlalchemy.orm import relationship
  4. from db.base import Base
  5. class User(Base):
  6. Id = Column(Integer, primary_key=True, index=True)
  7. Name = Column(String, nullable=False)
  8. MiddleName = Column(String, nullable=True)
  9. LastName = Column(String, nullable=False)
  10. GovernmentId = Column(String, nullable=False)
  11. Address = Column(String, nullable=False)
  12. ContactNumber = Column(String, nullable=False)
  13. Email = Column(String, nullable=False)
  14. Role = Column(String, nullable=False)
  15. HashedPassword = Column(String, nullable=False)
  16. #Admin-specific relationships
  17. CreatedAuctions = relationship("Auction", back_populates="CreatedBy")
  18. #Driver-specific relationships
  19. DrivingLicenseNumber = Column(String, nullable=True)
  20. AssignedVehicle = Column(Integer, ForeignKey("vehicle.Id"), nullable=True)
  21. DriveTasks = relationship("DriveTask", back_populates="CreatedBy")
  22. vehicle = relationship("Vehicle", back_populates="driver")
  23. #MaintenancePerson-specific relationships
  24. maintenanceJobs = relationship("MaintenanceJob", back_populates="CreatedBy")
  25. #FuelingPerson-specific relationships
  26. fuelingJobs = relationship("FuelingJob", back_populates="CreatedBy")