class ModulesPermissions(DeclarativeBase, ApiModule): """ Resource Modules Permissions """ __tablename__ = 'modules_permissions' __http__ = ['GET', 'PUT'] __serialization__ = get_serialization( AttributeConfiguration(name='permission_level', supports_json=True), AttributeConfiguration(name='group_id', supports_json=False), AttributeConfiguration(name='module_id', supports_json=False), AttributeConfiguration(name='group', supports_json=(False, True)), AttributeConfiguration(name='module', supports_json=(False, True)), ) __table_args__ = (UniqueConstraint('group_id', 'module_id', name='_modules_permissions_uc'), ) permission_level = Column(Integer, nullable=False) group_id = Column(Integer, ForeignKey('groups.id'), nullable=False) module_id = Column(Integer, ForeignKey('modules.id'), nullable=False) group = column_property(select([(Groups.name)], group_id == Groups.id)) module = column_property(select([(Modules.name)], module_id == Modules.id))
class Users(DeclarativeBase): """ user """ __tablename__ = 'users' __serialization__ = [ AttributeConfiguration(name='id', supports_json=True), AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='key', supports_json=(True, False)), AttributeConfiguration(name='group_id', supports_json=(True, False)), #AttributeConfiguration(name='group', supports_json=(False, True)), AttributeConfiguration(name='group_name', supports_json=(False, True)), ] id = Column( Integer, primary_key=True, ) name = Column( Unicode(256), nullable=False, unique=True, ) key = Column(Unicode(512), ) group_id = Column( Integer, ForeignKey('groups.id'), nullable=False, ) group = relationship( 'Groups', back_populates='users', )
class Table11(DeclarativeBase, ApiModule): """ test 11 table """ __tablename__ = 'table11' __serialization__ = get_serialization( AttributeConfiguration(name='id', supports_json=(False, True)), AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='table01_id', supports_json=(True, False)), AttributeConfiguration(name='table01nams', supports_json=(False, True)), ) id = Column(Integer, primary_key=True) name = Column(Unicode(256), nullable=False, unique=True) table01_id = Column(Integer, ForeignKey('table01.id')) Table01 = get_table_cls(ApiModule, 'table01') Table01.__serialization__.append( AttributeConfiguration(name='table11s', supports_json=(False, True)), ) Table01.table11s = relationship('Table11') table01nams = column_property( select([(Table01.name)], table01_id == Table01.id))
class Address_Nested_OneToOne(BaseModel): """Mocked class with a single primary key.""" __tablename__ = 'addresses_nested_one_to_one' __serialization__ = [ AttributeConfiguration(name='id', supports_csv=True, csv_sequence=1, supports_json=True, supports_yaml=True, supports_dict=True), AttributeConfiguration(name='email', supports_csv=True, csv_sequence=2, supports_json=True, supports_yaml=True, supports_dict=True, on_serialize=None, on_deserialize=None), ] id = Column('id', Integer, primary_key=True) email = Column('email_address', String(50), supports_csv=True, supports_json=True, supports_yaml=True, supports_dict=True, on_serialize=validators.email, on_deserialize=validators.email) user_id = Column('user_id', Integer, ForeignKey('users_one_to_one.id'))
class User_OneToOne_Nested(BaseModel): """Mocked class with a single primary key.""" __tablename__ = 'users_one_to_one' __serialization__ = [ AttributeConfiguration(name='id', supports_csv=True, csv_sequence=1, supports_json=True, supports_yaml=True, supports_dict=True), AttributeConfiguration(name='name', supports_csv=True, csv_sequence=2, supports_json=True, supports_yaml=True, supports_dict=True, on_serialize=None, on_deserialize=None), AttributeConfiguration(name='address', supports_json=True, supports_yaml=(True, True), supports_dict=(True, True)), ] id = Column('id', Integer, primary_key=True) name = Column('username', String(50)) address = relationship('Address_Nested_OneToOne', backref='user', uselist=False)
class User2(BaseModel): """Mocked class with a single primary key.""" __tablename__ = 'users_composite' id = Column('id', Integer, primary_key = True) id2 = Column('id2', Integer, primary_key = True) id3 = Column('id3', Integer, primary_key = True) name = Column('username', String(50)) addresses = relationship('Address2', backref = 'user') _hybrid = 1 @hybrid_property def hybrid(self): return self._hybrid @hybrid_property def hybrid_differentiated(self): return self._hybrid
class User(BaseModel): """Mocked class with a single primary key.""" __tablename__ = 'users' id = Column('id', Integer, primary_key=True) name = Column('username', String(50)) addresses = relationship('Address', backref='user') _hybrid = 1 @hybrid_property def hybrid(self): return self._hybrid @hybrid.setter def hybrid(self, value): self._hybrid = value @hybrid_property def hybrid_differentiated(self): return self._hybrid @hybrid_differentiated.setter def hybrid_differentiated(self, value): self._hybrid = value keywords_basic = association_proxy('keywords_basic', 'keyword')
class Modules(DeclarativeBase): """ group """ __tablename__ = 'modules' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(Unicode(256), nullable=False, unique=True)
class TestClass(BaseModel): __tablename__ = 'test_class' __serialization__ = { 'two_properties': [ AttributeConfiguration(name='id', supports_csv=False, supports_json=True, supports_dict=True, supports_yaml=False), AttributeConfiguration(name='second_column', supports_csv=True, supports_json=True, supports_dict=True, supports_yaml=False) ], 'one_property': [ AttributeConfiguration(name='id', supports_csv=True, supports_json=True, supports_dict=True, supports_yaml=True) ] } id = Column('id', Integer, primary_key=True) second_column = Column('second_column', Text)
class User(Base): __tablename__ = 'users' id = Column( Integer, Sequence('user_id_seq'), primary_key=True, supports_dict=True, ) name = Column( String, supports_dict=True, ) addresses = relationship( "Address", backref="user", lazy="joined", supports_dict=True, on_serialize=serialize_address, ) def __repr__(self): return "<User(id='{0:s}', name='{1:s}')>".format( str(self.id), self.name, )
class Address(BaseModel): """Mocked class with a single primary key.""" __tablename__ = 'addresses' id = Column('id', Integer, primary_key=True) email = Column('email_address', String(50)) user_id = Column('user_id', Integer, ForeignKey('users.id'))
class Keyword(BaseModel): __tablename__ = 'keywords' id = Column('id', Integer, primary_key=True) keyword = Column('keyword', String(50), supports_csv=True) def __init__(self, id, keyword): self.id = id self.keyword = keyword
class User_Complex(BaseModel): """Mocked class with a single primary key with varied serialization support.""" __tablename__ = 'users_complex' id = Column('id', Integer, primary_key = True, supports_csv = True, csv_sequence = 1, supports_json = True, supports_yaml = True, supports_dict = True) name = Column('username', String(50), supports_csv = True, csv_sequence = 2, supports_json = True, supports_yaml = True, supports_dict = True) password = Column('password', String(50), supports_csv = (True, False), csv_sequence = 3, supports_json = (True, False), supports_yaml = (True, False), supports_dict = (True, False)) hidden = Column('hidden_column', String(50)) addresses = relationship('Address_Complex', backref = 'user', supports_json = True, supports_yaml = (True, True), supports_dict = (True, False)) _hybrid = 1 @hybrid_property def hybrid(self): return self._hybrid @hybrid.setter def hybrid(self, value): self._hybrid = value @hybrid_property def hybrid_differentiated(self): return self._hybrid @hybrid_differentiated.setter def hybrid_differentiated(self, value): self._hybrid = value keywords_basic = association_proxy('keywords_basic', 'keyword')
class Address(Base): __tablename__ = 'addresses' id = Column(Integer, primary_key=True) email = Column( String, nullable=False, supports_json=True, ) user_id = Column(Integer, ForeignKey('users.id'))
class TestClass(BaseModel): __tablename__ = 'test_class' __serialization__ = [ AttributeConfiguration(name='id', supports_json=True, supports_dict=True), AttributeConfiguration(name='json_column', supports_json=True, supports_dict=True) ] id = Column('id', Integer, primary_key=True) json_column = Column(JSON)
class Modules(DeclarativeBase): __tablename__ = 'modules' __serialization__ = [ AttributeConfiguration(name='id', supports_json=(False, True)), AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='groups', supports_json=(False, True)), ] id = Column(Integer, primary_key=(False, True)) name = Column(Unicode(256), nullable=False, unique=True) groups = relationship('ModulesPermissions', cascade='all, delete-orphan')
class Table01(DeclarativeBase, ApiModule): """ test 01 table """ __tablename__ = 'table01' __serialization__ = get_serialization( AttributeConfiguration(name='id', supports_json=(False, True)), AttributeConfiguration(name='name', supports_json=True), ) id = Column(Integer, primary_key=True) name = Column(Unicode(256), nullable=False, unique=True)
class Address_Complex(BaseModel): """Mocked class with a single primary key.""" __tablename__ = 'addresses_complex' id = Column('id', Integer, primary_key=True) email = Column('email_address', String(50), supports_csv=True, supports_json=True, supports_yaml=True, supports_dict=True, on_serialize=validators.email, on_deserialize=validators.email) user_id = Column('user_id', Integer, ForeignKey('users_complex.id'))
class Geoms(DeclarativeBase, ApiModule): """ Resource Reference of Geoms """ __tablename__ = 'geoms' __serialization__ = get_serialization( AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='properties', supports_json=True), AttributeConfiguration(name='layers', supports_json=(False, True)), ) name = Column(Unicode(256), nullable=False, unique=True) properties = Column(JsonType()) layers = relationship('Layers', cascade='all, delete-orphan')
class Users(DeclarativeBase): __tablename__ = 'users' __serialization__ = [ AttributeConfiguration(name='id', supports_json=(False, True)), AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='key', supports_json=(True, False)), AttributeConfiguration(name='group_id', supports_json=(True, False)), AttributeConfiguration(name='group', supports_json=(False, True)), ] id = Column(Integer, primary_key=True,) name = Column(Unicode(256), nullable=False, unique=True) key = Column(Unicode(512)) group_id = Column(Integer, ForeignKey('groups.id'), nullable=False) group = column_property(select([(Groups.name)], group_id == Groups.id))
class Groups(DeclarativeBase, ApiModule): """ Resource Groups """ __tablename__ = 'groups' __serialization__ = get_serialization( AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='auth_name', supports_json=True), AttributeConfiguration(name='users', supports_json=(False, True)), AttributeConfiguration(name='modules', supports_json=(False, True)), ) name = Column(Unicode(256), nullable=False, unique=True) auth_name = Column(Unicode(256), unique=True) users = relationship('UsersGroups', cascade='all, delete-orphan') modules = relationship('ModulesPermissions', cascade='all, delete-orphan')
class Users(DeclarativeBase, ApiModule): """ Ресурс пользователей """ __tablename__ = 'users' __serialization__ = get_serialization( AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='key', supports_json=(True, False)), AttributeConfiguration(name='group_id', supports_json=(True, False)), AttributeConfiguration(name='group', supports_json=(False, True)), ) name = Column(Unicode(256), nullable=False, unique=True) key = Column(Unicode(512)) group_id = Column(Integer, ForeignKey('groups.id'), nullable=False) group = column_property(select([(Groups.name)], group_id == Groups.id))
class ModulesPermissions(DeclarativeBase): __tablename__ = 'modules_permissions' __serialization__ = [ AttributeConfiguration(name='id', supports_json=(False, True)), AttributeConfiguration(name='permission_level', supports_json=True), AttributeConfiguration(name='group_id', supports_json=False), AttributeConfiguration(name='module_id', supports_json=False), AttributeConfiguration(name='group', supports_json=(False, True)), AttributeConfiguration(name='module', supports_json=(False, True)), ] id = Column(Integer, primary_key=True) permission_level = Column(Integer, nullable=False) group_id = Column(Integer, ForeignKey('groups.id'), nullable=False) module_id = Column(Integer, ForeignKey('modules.id'), nullable=False) group = column_property(select([(Groups.name)], group_id == Groups.id)) module = column_property(select([(Modules.name)], module_id == Modules.id))
class Modules(DeclarativeBase, ApiModule): __tablename__ = 'modules' __http__ = ['GET', 'PUT'] __serialization__ = get_serialization( AttributeConfiguration(name='name', supports_json=(False, True)), AttributeConfiguration(name='access', supports_json=(False, True)), AttributeConfiguration(name='enable', supports_json=True), AttributeConfiguration(name='delete', supports_json=True), AttributeConfiguration(name='groups', supports_json=(False, True)), ) name = Column(Unicode(256), nullable=False, unique=True) access = Column(Boolean, default=False) enable = Column(Boolean, default=True) delete = Column(Boolean, default=False) groups = relationship('ModulesPermissions', cascade='all, delete-orphan')
class User(Base): __tablename__ = 'users' id = Column(Integer, Sequence('user_id_seq'), primary_key=True) addresses = relationship("Address", backref="user", lazy="joined", supports_json=True, display_name="all-addresses")
class Users(DeclarativeBase, ApiModule): """ Resource Users """ __tablename__ = 'users' __serialization__ = get_serialization( AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='auth_name', supports_json=True), AttributeConfiguration(name='full_name', supports_json=True), AttributeConfiguration(name='auto_create', supports_json=True), AttributeConfiguration(name='groups', supports_json=(False, True)), ) name = Column(Unicode(256), nullable=False, unique=True) auth_name = Column(Unicode(256), unique=True) full_name = Column(Unicode(1024)) auto_create = Column(Boolean(), default=False) groups = relationship('UsersGroups', cascade='all, delete-orphan')
class Layers(DeclarativeBase, ApiModule): """ Resource Reference of Layers """ __tablename__ = 'layers' __serialization__ = get_serialization( AttributeConfiguration(name='name', supports_json=True), AttributeConfiguration(name='symbol', supports_json=True), AttributeConfiguration(name='properties', supports_json=True), AttributeConfiguration(name='all_properties', supports_json=(False, True)), AttributeConfiguration(name='geom_id', supports_json=(True, False)), ) name = Column(Unicode(256), nullable=False, unique=True) symbol = Column(Unicode()) properties = Column(JsonType()) all_properties = Column(JsonType()) geom_id = Column(Integer, ForeignKey('geoms.id'), nullable=False)
class Groups(DeclarativeBase): """ group """ __tablename__ = 'groups' id = Column( Integer, primary_key=True, supports_json=True, ) name = Column( Unicode(256), nullable=False, unique=True, supports_json=True, ) users = relationship( 'Users', back_populates='group', #backref='group', supports_json=True, )
class UserKeyword_Complex(BaseModel): __tablename__ = 'user_keywords_complex' user_id = Column('user_id', Integer, ForeignKey('users_complex.id'), primary_key=True) keyword_id = Column('keyword_id', Integer, ForeignKey('keywords.id'), primary_key=True) special_key = Column('special_key', String(50)) user = relationship(User_Complex, backref=backref('keywords_basic', cascade='all, delete-orphan')) keyword = relationship('Keyword') def __init__(self, keyword=None, user=None, special_key=None): self.user = user self.keyword = keyword self.special_key = special_key
class Address(Base): __tablename__ = 'addresses' id = Column( Integer, primary_key=True, supports_dict=True, ) email = Column( String, nullable=False, supports_dict=True, ) user_id = Column( Integer, ForeignKey('users.id'), supports_dict=True, ) def __repr__(self): return "<Address(email='{0:s}')>".format(self.email, )