|
16 | 16 |
|
17 | 17 | Base = declarative_base() |
18 | 18 |
|
19 | | -class User(Base): |
20 | | - __tablename__ = "users" |
| 19 | +# URL-based watchlist models |
| 20 | +class Watchlist(Base): |
| 21 | + __tablename__ = "watchlists" |
21 | 22 |
|
22 | 23 | id = Column(Integer, primary_key=True, index=True) |
23 | | - email = Column(String, unique=True, index=True, nullable=False) |
24 | | - hashed_password = Column(String, nullable=False) |
25 | | - calendar_token = Column(String, unique=True, index=True) |
| 24 | + name = Column(String, unique=True, index=True, nullable=False) |
| 25 | + created_at = Column(DateTime, default=datetime.utcnow) |
26 | 26 |
|
27 | | - watched_bridges = relationship("WatchedBridge", back_populates="user", cascade="all, delete-orphan") |
| 27 | + bridges = relationship("WatchlistBridge", back_populates="watchlist", cascade="all, delete-orphan") |
28 | 28 |
|
29 | | -class WatchedBridge(Base): |
30 | | - __tablename__ = "watched_bridges" |
| 29 | +class WatchlistBridge(Base): |
| 30 | + __tablename__ = "watchlist_bridges" |
31 | 31 |
|
32 | 32 | id = Column(Integer, primary_key=True, index=True) |
33 | | - user_id = Column(Integer, ForeignKey("users.id"), nullable=False) |
| 33 | + watchlist_id = Column(Integer, ForeignKey("watchlists.id"), nullable=False) |
34 | 34 | bridge_name = Column(String, nullable=False) |
35 | | - bridge_id = Column(Integer, nullable=True) # Reference to bridges table |
| 35 | + bridge_id = Column(String, nullable=True) # Reference to bridges table |
36 | 36 | created_at = Column(DateTime, default=datetime.utcnow) |
37 | 37 |
|
38 | | - user = relationship("User", back_populates="watched_bridges") |
| 38 | + watchlist = relationship("Watchlist", back_populates="bridges") |
39 | 39 |
|
40 | 40 | def get_db(): |
41 | 41 | db = SessionLocal() |
|
0 commit comments