feat(pets): implements adoption

This commit is contained in:
2024-12-09 23:23:36 -03:00
parent 053eefe939
commit eff1c8b1b6
9 changed files with 82 additions and 11 deletions

View File

@@ -2,4 +2,4 @@ from app.extensions import db
class AdoptionStatus(db.Model):
id = db.Column(db.Integer, primary_key=True)
status = db.Column(db.String(255), nullable=False)
name = db.Column(db.String(255), nullable=False)

View File

@@ -1,13 +1,10 @@
from app.extensions import db
import datetime
from sqlalchemy.orm import relationship, mapped_column
class Adoptions(db.Model) :
id = mapped_column(db.Integer, primary_key=True)
publisher_id = mapped_column(db.Integer, db.ForeignKey('user.id'), nullable=False)
adopter_id = mapped_column(db.Integer, db.ForeignKey('user.id'), nullable=False)
pet_id = mapped_column(db.Integer, db.ForeignKey('pet.id'), nullable=False)
publish_date = mapped_column(db.DateTime, default=datetime.datetime.utcnow, nullable=False)
status_id = mapped_column(db.Integer, db.ForeignKey('adoption_status.id'), nullable=False)
publisher = relationship("User")
pet = relationship("Pet")
status = relationship("AdoptionStatus")
adopter = relationship("User")
status = relationship("AdoptionStatus", uselist=False)

View File

@@ -14,5 +14,6 @@ class Pet(db.Model):
height = mapped_column(db.Float, default=0, nullable=False)
registrar_id = mapped_column(db.Integer, db.ForeignKey('user.id'), nullable=False)
registration_date = mapped_column(db.DateTime, default=datetime.datetime.utcnow, nullable=False)
adoption = relationship("Adoptions",uselist=False)
kind = relationship("PetKind")
registrar = relationship("User")
registrar = relationship("User",uselist=False)