def test_page_status_1(self):
     self.test_bind_product()
     r = Pagination(1, 10)
     pros = gift_card_service.page(r, status=const.GIFT_VALID)
     for item in pros.items:
         self.assertEqual(item.status, const.GIFT_VALID)
     self.assertGreater(pros.total, 0)
 def test_page(self):
     self.test_update_used()
     r = Pagination(1, 10)
     pros = gift_card_service.page(r, status=const.GIFT_CARD_USED)
     for item in pros.items:
         self.assertEqual(item.status, const.GIFT_CARD_USED)
     self.assertGreater(pros.total, 0)
Exemple #3
0
def get_hardware_client_id():
    claims = get_jwt_claims()
    roles = claims.get('roles', None)
    username = claims.get('username', None)
    if claims is None or roles is None or username is None:
        raise UserNotFoundException()
    res = get(
        f"http://{config['mqtt']['broker_url']}:{config['mqtt']['http_api_port']}/api/v4/clients",
        auth=HTTPBasicAuth(config['mqtt']['basic_auth_username'],
                           config['mqtt']['basic_auth_password']))
    if res.status_code != 200:
        raise DBException()

    page = int(request.args.get('page', 1))
    size = int(request.args.get('size', 99999))
    ordered = request.args.get('ordered', '+id')
    query = request.args.get('query', '')

    if 'admin' in roles:
        where_sql = ''
        args = []
        if query != '':
            where_sql += f'WHERE `{ordered[1:]}` LIKE %s'
            args.append(f'%{query}%')
        hardware_list = get_hardware_pagination(page, size, ordered, where_sql,
                                                *args)
        total = count_total(where_sql, *args)
    else:
        where_sql = ''
        args = []
        if query != '':
            where_sql += f'AND `{ordered[1:]}` LIKE %s'
            args.append(f'%{query}%')

        hardware_list = get_hardware_pagination_by_username(
            username, page, size, ordered, where_sql, *args)
        total = count_total(
            'WHERE uuid IN (SELECT hardware_uuid FROM user_hardware WHERE user_id = (SELECT id FROM `user` WHERE username = %s))'
            + where_sql, username, *args)

    res_json_data = list(
        map(
            lambda res: res[:36],
            filter(lambda res: res.endswith('_sensor_client'),
                   map(lambda res: res['clientid'],
                       res.json()['data']))))

    for i in range(len(hardware_list)):
        if hardware_list[i]['uuid'] in res_json_data:
            hardware_list[i]['up'] = True
        else:
            hardware_list[i]['up'] = False
        hardware_list[i]['temperature_limit'] = str(
            hardware_list[i]['temperature_limit'])
        hardware_list[i]['humidity_limit'] = str(
            hardware_list[i]['humidity_limit'])

    return response_success(
        'success', Pagination(page, size, hardware_list, total['len']))
Exemple #4
0
def rfid_get_data():
    claims = get_jwt_claims()
    roles = claims.get('roles', None)
    username = claims.get('username', None)
    if claims is None or roles is None or username is None:
        raise UserNotFoundException()

    page = int(request.args.get('page', 1))
    size = int(request.args.get('size', 9999))
    ordered = request.args.get('ordered', '+RFID_log.id')
    query = request.args.get('query', '')
    date = request.args.getlist('date[]')

    if ordered[1:] == 'id':
        ordered = f'{ordered[0]}RFID_log.{ordered[1:]}'

    if 'admin' in roles:
        where_sql = ''
        args = []
        if query != '':
            where_sql += f'WHERE `{ordered[1:]}` LIKE %s'
            args.append(f'%{query}%')

        if len(date) != 0:
            if len(where_sql) == 0:
                where_sql += 'WHERE '
            else:
                where_sql += ' AND '
            where_sql += 'log_time > %s AND log_time < %s'
            args.append(date[0])
            args.append(date[1])
        rfid_list = get_rfid_pagination(page, size, ordered, where_sql, *args)
        total = count_total(where_sql, *args)
    else:
        where_sql = ''
        args = []
        if query != '':
            where_sql += f'AND `{ordered[1:]}` LIKE %s'
            args.append(f'%{query}%')

        if len(date) != 0:
            where_sql += ' AND log_time > %s AND log_time < %s'
            args.append(date[0])
            args.append(date[1])
        rfid_list = get_rfid_pagination_by_username(username, page, size, ordered, where_sql, *args)
        total = count_total(
            'WHERE hardware_uuid IN (SELECT hardware_uuid FROM user_hardware WHERE user_id = (SELECT id FROM `user` WHERE username = %s))' + where_sql,
            username, *args)

    for i in range(len(rfid_list)):
        rfid_list[i]['log_time'] = rfid_list[i]['log_time'].strftime("%m/%d/%Y, %H:%M:%S")

    return response_success('success', Pagination(page, size, rfid_list, total['len']))
Exemple #5
0
def get_user_hardware():
    page = int(request.args.get('page', 1))
    size = int(request.args.get('size', 9999))
    user_id = request.args.get('userId', '')
    hardware_uuid = request.args.get('hardwareuuid', '')

    where_sql = ''
    args = []
    if user_id != '':
        where_sql += f'WHERE `user`.id = %s'
        args.append(user_id)
    if hardware_uuid != '':
        if len(where_sql) == 0:
            where_sql += f'WHERE hardware.uuid = %s'
        else:
            where_sql += ' AND hardware.uuid = %s'
        args.append(hardware_uuid)
    user_hardware_list = get_user_hardware_pagination(page, size, where_sql,
                                                      *args)
    total = count_total_user_hardware(where_sql, *args)
    return response_success(
        'success', Pagination(page, size, user_hardware_list, total['len']))
Exemple #6
0
def search():
    page = request.args.get("page")
    page_size = request.args.get("page_size")
    p = Pagination(page, page_size)
    re = user_address_service.page(p)
    return jsonify(Result().success(re.to_dict()))
 def test_page_contains(self):
     p = Pagination(1, 10)
     user = user_service.page(p, mobile__contains=self.user.mobile)
     self.assertGreater(user.total, 0)
 def test_page(self):
     p = Pagination(1, 10)
     user = user_service.page(p)
     self.assertGreater(user.total, 0)
 def test_page(self):
     re = user_address_service.page(Pagination(1, 10))
     self.assertGreater(re.total, 0)
Exemple #10
0
 def test_page(self):
     p = Pagination(1, 4)
     pros = product_service.page(p)
     # print(pros.to_dict())
     self.assertGreater(pros.total, 0)
Exemple #11
0
 def test_page(self):
     p = Pagination(1, 4)
     pros = ord_service.page(p)
     self.assertGreater(pros.get("total"), 0)
Exemple #12
0
 def get_pagination(request) -> Pagination:
     page = request.args.get("page")
     page_size = request.args.get("page_size")
     return Pagination(page, page_size)