Exemple #1
0
    def apply_filters(self, query, params):
        if params.get('filter[signed]'):

            query = query.filter_by(signed=params.get('filter[signed]'))

        if params.get('filter[module_id]'):

            query = query.filter_by(module_id=params.get('filter[module_id]'))

        if params.get('filter[call_id]'):

            query = query.filter_by(call_id=params.get('filter[call_id]'))

        if params.get('filter[address]'):

            if params.get('filter[address]')[0:2] == '0x':
                account_id = params.get('filter[address]')[2:]
            elif params.get('filter[address]')[0:3] == 'did':
                did = Did.query(self.session).filter_by(did=params.get('filter[address]')).first()
                account_id = ss58_decode(did.address, SUBSTRATE_ADDRESS_TYPE)
            else:
                account_id = ss58_decode(params.get(
                    'filter[address]'), SUBSTRATE_ADDRESS_TYPE)

            query = query.filter_by(address=account_id)

        return query
    def apply_filters(self, query, params):
        if params.get('filter[address]'):

            if len(params.get('filter[address]')) == 64:
                account_id = params.get('filter[address]')
            else:
                try:
                    account_id = ss58_decode(params.get('filter[address]'),
                                             settings.SUBSTRATE_ADDRESS_TYPE)
                except ValueError:
                    return query.filter(False)

            search_index = SearchIndex.query(self.session).filter(
                SearchIndex.index_type_id.in_([
                    settings.SEARCH_INDEX_BALANCETRANSFER,
                    settings.SEARCH_INDEX_CLAIMS_CLAIMED,
                    settings.SEARCH_INDEX_BALANCES_DEPOSIT,
                    settings.SEARCH_INDEX_STAKING_REWARD
                ]), SearchIndex.account_id == account_id).order_by(
                    SearchIndex.sorting_value.desc())

            query = Event.query(self.session).filter(
                tuple_(Event.block_id, Event.event_idx).in_(
                    [[s.block_id, s.event_idx]
                     for s in search_index])).order_by(Event.block_id.desc())

        return query
    def apply_filters(self, query, params):

        if params.get('filter[address]'):

            if len(params.get('filter[address]')) == 64:
                account_id = params.get('filter[address]')
            else:
                try:
                    account_id = ss58_decode(params.get('filter[address]'),
                                             settings.SUBSTRATE_ADDRESS_TYPE)
                except ValueError:
                    return query.filter(False)
        else:
            account_id = None

        if params.get('filter[search_index]'):

            self.exclude_params = False

            if type(params.get('filter[search_index]')) != list:
                params['filter[search_index]'] = [
                    params.get('filter[search_index]')
                ]

            search_index = SearchIndex.query(self.session).filter(
                SearchIndex.index_type_id.in_(
                    params.get('filter[search_index]')),
                SearchIndex.account_id == account_id).order_by(
                    SearchIndex.sorting_value.desc())

            query = query.filter(
                tuple_(Extrinsic.block_id, Extrinsic.extrinsic_idx).in_(
                    [[s.block_id, s.extrinsic_idx] for s in search_index]))
        else:

            self.exclude_params = True

            if params.get('filter[signed]'):

                query = query.filter_by(signed=params.get('filter[signed]'))

            if params.get('filter[module_id]'):

                query = query.filter_by(
                    module_id=params.get('filter[module_id]'))

            if params.get('filter[call_id]'):

                query = query.filter_by(call_id=params.get('filter[call_id]'))

            if params.get('filter[address]'):

                query = query.filter_by(address=account_id)

        return query
    def apply_filters(self, query, params):

        if params.get('filter[address]'):

            if len(params.get('filter[address]')) == 64:
                account_id = params.get('filter[address]')
            else:
                try:
                    account_id = ss58_decode(params.get('filter[address]'),
                                             settings.SUBSTRATE_ADDRESS_TYPE)
                except ValueError:
                    return query.filter(False)
        else:
            account_id = None

        if params.get('filter[search_index]'):

            if type(params.get('filter[search_index]')) != list:
                params['filter[search_index]'] = [
                    params.get('filter[search_index]')
                ]

            search_index = SearchIndex.query(self.session).filter(
                SearchIndex.index_type_id.in_(
                    params.get('filter[search_index]')),
                SearchIndex.account_id == account_id).order_by(
                    SearchIndex.sorting_value.desc())

            query = query.filter(
                tuple_(Event.block_id,
                       Event.event_idx).in_([[s.block_id, s.event_idx]
                                             for s in search_index]))
        else:

            if params.get('filter[module_id]'):
                query = query.filter_by(
                    module_id=params.get('filter[module_id]'))

            if params.get('filter[event_id]'):

                query = query.filter_by(
                    event_id=params.get('filter[event_id]'))
            else:
                query = query.filter(
                    Event.event_id.notin_(
                        ['ExtrinsicSuccess', 'ExtrinsicFailed']))

        return query
    def apply_filters(self, query, params):

        if params.get('filter[author]'):

            if len(params.get('filter[author]')) == 64:
                account_id = params.get('filter[author]')
            else:
                try:
                    account_id = ss58_decode(params.get('filter[author]'),
                                             settings.SUBSTRATE_ADDRESS_TYPE)
                except ValueError:
                    return query.filter(False)

            query = query.filter_by(author=account_id)

        return query
Exemple #6
0
    def apply_filters(self, query, params):
        if params.get('filter[address]'):

            if len(params.get('filter[address]')) == 64:
                account_id = params.get('filter[address]')
            else:
                account_id = ss58_decode(params.get('filter[address]'),
                                         SUBSTRATE_ADDRESS_TYPE)

            query = query.filter_by(address=account_id)

        if params.get('filter[success]'):
            query = query.filter_by(success=True)

        if params.get('filter[error]'):
            query = query.filter_by(error=True)

        return query
Exemple #7
0
    def apply_filters(self, query, params):

        if params.get('filter[address]'):

            if len(params.get('filter[address]')) == 64:
                account_id = params.get('filter[address]')
            else:
                try:
                    account_id = ss58_decode(params.get('filter[address]'),
                                             SUBSTRATE_ADDRESS_TYPE)
                except ValueError:
                    return query.filter(False)
        else:
            account_id = None

        if params.get('filter[search_index]'):

            search_index = SearchIndex.query(self.session).filter_by(
                index_type_id=params.get('filter[search_index]'),
                account_id=account_id).order_by(
                    SearchIndex.sorting_value.desc())

            query = query.filter(
                tuple_(Event.block_id,
                       Event.event_idx).in_([[s.block_id, s.event_idx]
                                             for s in search_index]))
        else:

            if params.get('filter[module_id]'):

                query = query.filter_by(
                    module_id=params.get('filter[module_id]'))

            if params.get('filter[event_id]'):

                query = query.filter_by(
                    event_id=params.get('filter[event_id]'))

        return query
Exemple #8
0
    def apply_filters(self, query, params):
        if params.get('filter[signed]'):

            query = query.filter_by(signed=params.get('filter[signed]'))

        if params.get('filter[module_id]'):

            query = query.filter_by(module_id=params.get('filter[module_id]'))

        if params.get('filter[call_id]'):

            query = query.filter_by(call_id=params.get('filter[call_id]'))

        if params.get('filter[address]'):

            if len(params.get('filter[address]')) == 64:
                account_id = params.get('filter[address]')
            else:
                account_id = ss58_decode(params.get('filter[address]'),
                                         SUBSTRATE_ADDRESS_TYPE)

            query = query.filter_by(address=account_id)

        return query