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 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 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 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 Groups(DeclarativeBase, ApiModule): """ Ресурс групп """ __tablename__ = 'groups' __serialization__ = get_serialization( AttributeConfiguration(name='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) users = relationship('Users', 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 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 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 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 UsersGroups(DeclarativeBase, ApiModule): """ Resource Users Groups """ __tablename__ = 'users_groups' __serialization__ = get_serialization( AttributeConfiguration(name='auto_create', supports_json=True), AttributeConfiguration(name='user_id', supports_json=(True, False)), AttributeConfiguration(name='group_id', supports_json=(True, False)), AttributeConfiguration(name='user', supports_json=(False, True)), AttributeConfiguration(name='group', supports_json=(False, True)), ) __table_args__ = (UniqueConstraint('user_id', 'group_id', name='_users_groups_uc'), ) auto_create = Column(Boolean(), default=False) user_id = Column(Integer, ForeignKey('users.id'), nullable=False) group_id = Column(Integer, ForeignKey('groups.id'), nullable=False) user = column_property(select([(Users.name)], user_id == Users.id)) group = column_property(select([(Groups.name)], group_id == Groups.id))