fooder-api/fooder/domain/user_product_usage.py
2026-04-07 15:59:08 +02:00

19 lines
772 B
Python

from sqlalchemy import ForeignKey, Integer, UniqueConstraint
from sqlalchemy.orm import Mapped, mapped_column, relationship
from fooder.domain.base import Base, CommonMixin
from fooder.domain.product import Product
from fooder.domain.user import User
class UserProductUsage(Base, CommonMixin):
"""Counts how many processed entries a user has for a product.
Used to sort products by usage frequency."""
__table_args__ = (UniqueConstraint("user_id", "product_id"),)
product_id: Mapped[int] = mapped_column(Integer, ForeignKey("product.id"))
product: Mapped[Product] = relationship(lazy="selectin")
user_id: Mapped[int] = mapped_column(Integer, ForeignKey("user.id"))
user: Mapped[User] = relationship(lazy="selectin")
count: Mapped[int]