| @@ 6-33 (lines=28) @@ | ||
| 3 | from . import user |
|
| 4 | from . import pool |
|
| 5 | ||
| 6 | class PoolUser(Base): |
|
| 7 | __tablename__ = 'pool_users' |
|
| 8 | ||
| 9 | id = Column(Integer, primary_key=True, nullable=False) |
|
| 10 | pool_id = Column(Integer, ForeignKey("accounts.id"), nullable=False) |
|
| 11 | user_id = Column(Integer, ForeignKey("users.id"), nullable=False) |
|
| 12 | ||
| 13 | enabled = Column(Boolean, default=True, nullable=False) |
|
| 14 | deleted = Column(Boolean, default=False, nullable=False) |
|
| 15 | ||
| 16 | pool = relationship( |
|
| 17 | account.Account, |
|
| 18 | primaryjoin="and_(PoolUser.pool_id==Account.id, PoolUser.deleted==False)", |
|
| 19 | backref="users" |
|
| 20 | ) |
|
| 21 | user = relationship( |
|
| 22 | user.User, |
|
| 23 | primaryjoin="and_(PoolUser.user_id==User.id, PoolUser.deleted==False)", |
|
| 24 | backref="pools" |
|
| 25 | ) |
|
| 26 | ||
| 27 | def __init__(self, pool, user): |
|
| 28 | self.pool_id = pool.id |
|
| 29 | self.user_id = user.id |
|
| 30 | ||
| 31 | @classmethod |
|
| 32 | def from_id(cls, id): |
|
| 33 | return DBSession.query(cls).filter(cls.id == id).one() |
|
| 34 | ||
| @@ 5-27 (lines=23) @@ | ||
| 2 | from . import tag |
|
| 3 | from . import item |
|
| 4 | ||
| 5 | class ItemTag(Base): |
|
| 6 | __tablename__ = 'item_tags' |
|
| 7 | ||
| 8 | id = Column(Integer, primary_key=True, nullable=False) |
|
| 9 | tag_id = Column(Integer, ForeignKey('tags.id'), nullable=False) |
|
| 10 | item_id = Column(Integer, ForeignKey('items.id'), nullable=False) |
|
| 11 | ||
| 12 | deleted = Column(Boolean, default=False, nullable=False) |
|
| 13 | ||
| 14 | tag = relationship(tag.Tag, |
|
| 15 | primaryjoin='and_(ItemTag.tag_id==tag.Tag.id, ItemTag.deleted==False)', |
|
| 16 | backref='items') |
|
| 17 | item = relationship(item.Item, |
|
| 18 | primaryjoin='and_(ItemTag.item_id==item.Item.id, ItemTag.deleted==False)', |
|
| 19 | backref='tags') |
|
| 20 | ||
| 21 | def __init__(self, item, tag): |
|
| 22 | self.tag_id = tag.id |
|
| 23 | self.item_id = item.id |
|
| 24 | ||
| 25 | @classmethod |
|
| 26 | def from_id(cls, id): |
|
| 27 | return DBSession.query(cls).filter(cls.id == id).one() |
|
| 28 | ||
| 29 | @classmethod |
|
| 30 | @limitable_all |
|
| @@ 4-24 (lines=21) @@ | ||
| 1 | from .model import * |
|
| 2 | from . import tag as tagobject |
|
| 3 | ||
| 4 | class TagRelations(Base): |
|
| 5 | __tablename__ = 'tag_relations' |
|
| 6 | ||
| 7 | id = Column(Integer, primary_key=True, nullable=False) |
|
| 8 | tag_id = Column(Integer, ForeignKey('tags.id'), nullable=False) |
|
| 9 | parent_tag_id = Column(Integer, ForeignKey('tags.id'), nullable=False) |
|
| 10 | ||
| 11 | deleted = Column(Boolean, default=False, nullable=False) |
|
| 12 | ||
| 13 | tag = relationship(tagobject.Tag, |
|
| 14 | primaryjoin=tag_id==tagobject.Tag.id, |
|
| 15 | backref='parents') |
|
| 16 | ||
| 17 | parent = relationship(tagobject.Tag, |
|
| 18 | primaryjoin=parent_tag_id==tagobject.Tag.id, |
|
| 19 | backref='children') |
|
| 20 | ||
| 21 | ||
| 22 | def __init__(self, tag, parent_tag): |
|
| 23 | self.tag_id = tag.id |
|
| 24 | self.parent_tag_id = parent_tag.id |
|
| 25 | ||