Beispiel #1
0
class Table21(DeclarativeBase, ApiModule):
    """
    test 21 table
    """

    __tablename__ = 'table21'

    __serialization__ = get_serialization(
        AttributeConfiguration(name='id', supports_json=(False, True)), 
        AttributeConfiguration(name='name', supports_json=True), 
        AttributeConfiguration(name='table11_id', supports_json=(True, False)), 
        AttributeConfiguration(name='table11nams', supports_json=(False, True)), 
        AttributeConfiguration(name='table12_id', supports_json=(True, False)), 
        AttributeConfiguration(name='table12nams', supports_json=(False, True)), 
    )

    id = Column(Integer, primary_key=True)
    name = Column(Unicode(256), nullable=False, unique=True)

    table11_id = Column(Integer, ForeignKey('table11.id'))
    Table11 = get_table_cls(ApiModule, 'table11')
    Table11.__serialization__.append(
        AttributeConfiguration(name='table21s', supports_json=(False, True)), 
    )
    Table11.table21s = relationship('Table21')
    table11nams = column_property(select([(Table11.name)], table11_id == Table11.id))
    
    table12_id = Column(Integer, ForeignKey('table12.id'))
    Table12 = get_table_cls(ApiModule, 'table12')
    Table12.__serialization__.append(
        AttributeConfiguration(name='table21s', supports_json=(False, True)), 
    )
    Table12.table21s = relationship('Table21')
    table12nams = column_property(select([(Table12.name)], table12_id == Table12.id))
Beispiel #2
0
class Groups(DeclarativeBase):

    __tablename__ = 'groups'

    __serialization__ = [
        AttributeConfiguration(name='id', supports_json=(False, True)), 
        AttributeConfiguration(name='name', supports_json=True), 
        AttributeConfiguration(name='users', supports_json=(False, True)), 
        AttributeConfiguration(name='modules', supports_json=(False, True)), 
    ]

    id = Column(Integer, primary_key=True)
    name = Column(Unicode(256), nullable=False, unique=True)
    users = relationship('Users', cascade='all, delete-orphan')
    modules = relationship('ModulesPermissions', cascade='all, delete-orphan')
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,
        )
Beispiel #4
0
    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)
Beispiel #5
0
    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')
Beispiel #6
0
    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
Beispiel #7
0
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')
Beispiel #8
0
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',
    )
Beispiel #9
0
    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 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")
Beispiel #11
0
    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
Beispiel #12
0
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')
Beispiel #13
0
class Modules(DeclarativeBase, ApiModule):

    __tablename__ = 'modules'

    __serialization__ = [
        AttributeConfiguration(name='id', supports_json=(False, True)),
        AttributeConfiguration(name='name', supports_json=(False, True)),
        AttributeConfiguration(name='access', supports_json=(False, True)),
        AttributeConfiguration(name='enable', supports_json=True),
        AttributeConfiguration(name='groups', supports_json=(False, True)),
    ]

    id = Column(Integer, primary_key=True)
    name = Column(Unicode(256), nullable=False, unique=True)
    access = Column(Boolean, default=False)
    enable = Column(Boolean, default=True)
    groups = relationship('ModulesPermissions', cascade='all, delete-orphan')
Beispiel #14
0
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')
Beispiel #15
0
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')
Beispiel #16
0
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,
    )
Beispiel #17
0
    class User_Complex_PostgreSQL(BaseModel):
        """Mocked class with a single primary key."""

        __tablename__ = 'users_complex_postgresql'

        __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=return_serialized,
                                   on_deserialize=return_deserialized),
            AttributeConfiguration(name='addresses',
                                   supports_json=True,
                                   supports_yaml=(True, True),
                                   supports_dict=(True, False)),
            AttributeConfiguration(name='hybrid',
                                   supports_csv=True,
                                   supports_json=True,
                                   supports_yaml=True,
                                   supports_dict=True,
                                   display_name='hybrid_value'),
            AttributeConfiguration(name='password',
                                   supports_csv=(True, False),
                                   csv_sequence=3,
                                   supports_json=(True, False),
                                   supports_yaml=(True, False),
                                   supports_dict=(True, False)),
            AttributeConfiguration(name='time_delta',
                                   supports_csv=True,
                                   supports_json=False,
                                   supports_yaml=False,
                                   supports_dict=False)
        ]

        id = Column('id', Integer, primary_key=True)
        name = Column('username', String(50))
        addresses = relationship('Address_Complex_PostgreSQL', backref='user')

        password = Column('password', String(50))
        hidden = Column('hidden_column', String(50))

        smallint_column = Column('smallint_column',
                                 sqlite.SMALLINT,
                                 supports_csv=True,
                                 csv_sequence=4)

        _hybrid = 1

        time_delta = Column('time_delta', Interval)

        @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')