Spaces:
Configuration error
Configuration error
File size: 1,205 Bytes
c1ff2a6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | from sqlalchemy import (
Column,
Integer,
String,
Float,
Date,
Time,
DateTime,
ForeignKey,
UniqueConstraint,
func,
)
from sqlalchemy.dialects.postgresql import ARRAY
from sqlalchemy.orm import relationship
from app.database.database import Base
class Person(Base):
__tablename__ = "person"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, nullable=False, index=True)
embedding = Column(ARRAY(Float), nullable=False) # 512-d embedding
created_at = Column(DateTime(timezone=True), server_default=func.now())
attendances = relationship("Attendance", back_populates="person")
class Attendance(Base):
__tablename__ = "attendance"
# شخص واحد يتسجل مرة واحدة بس فى اليوم
__table_args__ = (UniqueConstraint("person_id", "date", name="uq_person_date"),)
id = Column(Integer, primary_key=True, index=True)
person_id = Column(Integer, ForeignKey("person.id"), nullable=False)
date = Column(Date, nullable=False)
time = Column(Time, nullable=False)
status = Column(String, default="Present")
person = relationship("Person", back_populates="attendances")
|