View | Details | Raw Unified | Return to bug 33971
Collapse All | Expand All

(-)a/Koha/REST/Plugin/Objects.pm (-6 / +1 lines)
Lines 197-204 controller, and thus shouldn't be called twice in it. Link Here
197
            }
197
            }
198
198
199
            if (   defined $reserved_params->{q}
199
            if (   defined $reserved_params->{q}
200
                || defined $reserved_params->{query}
200
                || defined $reserved_params->{query} )
201
                || defined $reserved_params->{'x-koha-query'} )
202
            {
201
            {
203
                $filtered_params //= {};
202
                $filtered_params //= {};
204
203
Lines 226-235 controller, and thus shouldn't be called twice in it. Link Here
226
                      if $reserved_params->{q};
225
                      if $reserved_params->{q};
227
                }
226
                }
228
227
229
                push @query_params_array,
230
                  $json->decode( $reserved_params->{'x-koha-query'} )
231
                  if defined $reserved_params->{'x-koha-query'};
232
233
                my $query_params;
228
                my $query_params;
234
229
235
                if ( scalar(@query_params_array) > 1 ) {
230
                if ( scalar(@query_params_array) > 1 ) {
(-)a/Koha/REST/Plugin/Query.pm (-1 / +1 lines)
Lines 315-321 reference: https://metacpan.org/changes/distribution/JSON-Validator#L14 Link Here
315
315
316
sub _reserved_words {
316
sub _reserved_words {
317
317
318
    my @reserved_words = qw( _match _order_by _order_by[] _page _per_page q query x-koha-query x-koha-request-id x-koha-embed);
318
    my @reserved_words = qw( _match _order_by _order_by[] _page _per_page q query x-koha-request-id x-koha-embed);
319
    return \@reserved_words;
319
    return \@reserved_words;
320
}
320
}
321
321
(-)a/api/v1/swagger/paths/acquisitions_baskets.yaml (-1 lines)
Lines 14-20 Link Here
14
      - $ref: "../swagger.yaml#/parameters/per_page"
14
      - $ref: "../swagger.yaml#/parameters/per_page"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_header"
18
      - name: x-koha-embed
17
      - name: x-koha-embed
19
        in: header
18
        in: header
20
        required: false
19
        required: false
(-)a/api/v1/swagger/paths/acquisitions_funds.yaml (-3 lines)
Lines 25-31 Link Here
25
      - $ref: "../swagger.yaml#/parameters/per_page"
25
      - $ref: "../swagger.yaml#/parameters/per_page"
26
      - $ref: "../swagger.yaml#/parameters/q_param"
26
      - $ref: "../swagger.yaml#/parameters/q_param"
27
      - $ref: "../swagger.yaml#/parameters/q_body"
27
      - $ref: "../swagger.yaml#/parameters/q_body"
28
      - $ref: "../swagger.yaml#/parameters/q_header"
29
      - $ref: "../swagger.yaml#/parameters/request_id_header"
28
      - $ref: "../swagger.yaml#/parameters/request_id_header"
30
    responses:
29
    responses:
31
      "200":
30
      "200":
Lines 75-81 Link Here
75
      - $ref: "../swagger.yaml#/parameters/per_page"
74
      - $ref: "../swagger.yaml#/parameters/per_page"
76
      - $ref: "../swagger.yaml#/parameters/q_param"
75
      - $ref: "../swagger.yaml#/parameters/q_param"
77
      - $ref: "../swagger.yaml#/parameters/q_body"
76
      - $ref: "../swagger.yaml#/parameters/q_body"
78
      - $ref: "../swagger.yaml#/parameters/q_header"
79
      - name: x-koha-embed
77
      - name: x-koha-embed
80
        in: header
78
        in: header
81
        required: false
79
        required: false
Lines 128-134 Link Here
128
      - $ref: "../swagger.yaml#/parameters/per_page"
126
      - $ref: "../swagger.yaml#/parameters/per_page"
129
      - $ref: "../swagger.yaml#/parameters/q_param"
127
      - $ref: "../swagger.yaml#/parameters/q_param"
130
      - $ref: "../swagger.yaml#/parameters/q_body"
128
      - $ref: "../swagger.yaml#/parameters/q_body"
131
      - $ref: "../swagger.yaml#/parameters/q_header"
132
      - name: x-koha-embed
129
      - name: x-koha-embed
133
        in: header
130
        in: header
134
        required: false
131
        required: false
(-)a/api/v1/swagger/paths/acquisitions_orders.yaml (-1 lines)
Lines 41-47 Link Here
41
      - $ref: "../swagger.yaml#/parameters/per_page"
41
      - $ref: "../swagger.yaml#/parameters/per_page"
42
      - $ref: "../swagger.yaml#/parameters/q_param"
42
      - $ref: "../swagger.yaml#/parameters/q_param"
43
      - $ref: "../swagger.yaml#/parameters/q_body"
43
      - $ref: "../swagger.yaml#/parameters/q_body"
44
      - $ref: "../swagger.yaml#/parameters/q_header"
45
      - $ref: "../swagger.yaml#/parameters/request_id_header"
44
      - $ref: "../swagger.yaml#/parameters/request_id_header"
46
      - name: x-koha-embed
45
      - name: x-koha-embed
47
        in: header
46
        in: header
(-)a/api/v1/swagger/paths/acquisitions_vendors.yaml (-1 lines)
Lines 25-31 Link Here
25
      - $ref: "../swagger.yaml#/parameters/per_page"
25
      - $ref: "../swagger.yaml#/parameters/per_page"
26
      - $ref: "../swagger.yaml#/parameters/q_param"
26
      - $ref: "../swagger.yaml#/parameters/q_param"
27
      - $ref: "../swagger.yaml#/parameters/q_body"
27
      - $ref: "../swagger.yaml#/parameters/q_body"
28
      - $ref: "../swagger.yaml#/parameters/q_header"
29
      - $ref: "../swagger.yaml#/parameters/request_id_header"
28
      - $ref: "../swagger.yaml#/parameters/request_id_header"
30
      - name: x-koha-embed
29
      - name: x-koha-embed
31
        in: header
30
        in: header
(-)a/api/v1/swagger/paths/advancededitormacros.yaml (-1 lines)
Lines 35-41 Link Here
35
      - $ref: "../swagger.yaml#/parameters/per_page"
35
      - $ref: "../swagger.yaml#/parameters/per_page"
36
      - $ref: "../swagger.yaml#/parameters/q_param"
36
      - $ref: "../swagger.yaml#/parameters/q_param"
37
      - $ref: "../swagger.yaml#/parameters/q_body"
37
      - $ref: "../swagger.yaml#/parameters/q_body"
38
      - $ref: "../swagger.yaml#/parameters/q_header"
39
      - $ref: "../swagger.yaml#/parameters/request_id_header"
38
      - $ref: "../swagger.yaml#/parameters/request_id_header"
40
    responses:
39
    responses:
41
      "200":
40
      "200":
(-)a/api/v1/swagger/paths/auth.yaml (-4 lines)
Lines 142-148 Link Here
142
      - $ref: ../swagger.yaml#/parameters/per_page
142
      - $ref: ../swagger.yaml#/parameters/per_page
143
      - $ref: ../swagger.yaml#/parameters/q_param
143
      - $ref: ../swagger.yaml#/parameters/q_param
144
      - $ref: ../swagger.yaml#/parameters/q_body
144
      - $ref: ../swagger.yaml#/parameters/q_body
145
      - $ref: ../swagger.yaml#/parameters/q_header
146
      - $ref: ../swagger.yaml#/parameters/request_id_header
145
      - $ref: ../swagger.yaml#/parameters/request_id_header
147
      - name: x-koha-embed
146
      - name: x-koha-embed
148
        in: header
147
        in: header
Lines 410-416 Link Here
410
      - $ref: ../swagger.yaml#/parameters/per_page
409
      - $ref: ../swagger.yaml#/parameters/per_page
411
      - $ref: ../swagger.yaml#/parameters/q_param
410
      - $ref: ../swagger.yaml#/parameters/q_param
412
      - $ref: ../swagger.yaml#/parameters/q_body
411
      - $ref: ../swagger.yaml#/parameters/q_body
413
      - $ref: ../swagger.yaml#/parameters/q_header
414
      - $ref: ../swagger.yaml#/parameters/request_id_header
412
      - $ref: ../swagger.yaml#/parameters/request_id_header
415
      - name: x-koha-embed
413
      - name: x-koha-embed
416
        in: header
414
        in: header
Lines 582-588 Link Here
582
      - $ref: ../swagger.yaml#/parameters/per_page
580
      - $ref: ../swagger.yaml#/parameters/per_page
583
      - $ref: ../swagger.yaml#/parameters/q_param
581
      - $ref: ../swagger.yaml#/parameters/q_param
584
      - $ref: ../swagger.yaml#/parameters/q_body
582
      - $ref: ../swagger.yaml#/parameters/q_body
585
      - $ref: ../swagger.yaml#/parameters/q_header
586
      - $ref: ../swagger.yaml#/parameters/request_id_header
583
      - $ref: ../swagger.yaml#/parameters/request_id_header
587
      - name: x-koha-embed
584
      - name: x-koha-embed
588
        in: header
585
        in: header
Lines 850-856 Link Here
850
      - $ref: ../swagger.yaml#/parameters/per_page
847
      - $ref: ../swagger.yaml#/parameters/per_page
851
      - $ref: ../swagger.yaml#/parameters/q_param
848
      - $ref: ../swagger.yaml#/parameters/q_param
852
      - $ref: ../swagger.yaml#/parameters/q_body
849
      - $ref: ../swagger.yaml#/parameters/q_body
853
      - $ref: ../swagger.yaml#/parameters/q_header
854
      - $ref: ../swagger.yaml#/parameters/request_id_header
850
      - $ref: ../swagger.yaml#/parameters/request_id_header
855
      - name: x-koha-embed
851
      - name: x-koha-embed
856
        in: header
852
        in: header
(-)a/api/v1/swagger/paths/authorised_value_categories.yaml (-1 lines)
Lines 25-31 Link Here
25
      - $ref: "../swagger.yaml#/parameters/per_page"
25
      - $ref: "../swagger.yaml#/parameters/per_page"
26
      - $ref: "../swagger.yaml#/parameters/q_param"
26
      - $ref: "../swagger.yaml#/parameters/q_param"
27
      - $ref: "../swagger.yaml#/parameters/q_body"
27
      - $ref: "../swagger.yaml#/parameters/q_body"
28
      - $ref: "../swagger.yaml#/parameters/q_header"
29
    responses:
28
    responses:
30
      200:
29
      200:
31
        description: A list of authorised value categories
30
        description: A list of authorised value categories
(-)a/api/v1/swagger/paths/authorised_values.yaml (-1 lines)
Lines 50-56 Link Here
50
      - $ref: "../swagger.yaml#/parameters/per_page"
50
      - $ref: "../swagger.yaml#/parameters/per_page"
51
      - $ref: "../swagger.yaml#/parameters/q_param"
51
      - $ref: "../swagger.yaml#/parameters/q_param"
52
      - $ref: "../swagger.yaml#/parameters/q_body"
52
      - $ref: "../swagger.yaml#/parameters/q_body"
53
      - $ref: "../swagger.yaml#/parameters/q_header"
54
    responses:
53
    responses:
55
      200:
54
      200:
56
        description: A list of authorised values
55
        description: A list of authorised values
(-)a/api/v1/swagger/paths/authorities.yaml (-1 lines)
Lines 13-19 Link Here
13
      - $ref: "../swagger.yaml#/parameters/order_by"
13
      - $ref: "../swagger.yaml#/parameters/order_by"
14
      - $ref: "../swagger.yaml#/parameters/q_param"
14
      - $ref: "../swagger.yaml#/parameters/q_param"
15
      - $ref: "../swagger.yaml#/parameters/q_body"
15
      - $ref: "../swagger.yaml#/parameters/q_body"
16
      - $ref: "../swagger.yaml#/parameters/q_header"
17
      - $ref: "../swagger.yaml#/parameters/request_id_header"
16
      - $ref: "../swagger.yaml#/parameters/request_id_header"
18
    produces:
17
    produces:
19
      - application/json
18
      - application/json
(-)a/api/v1/swagger/paths/biblios.yaml (-5 lines)
Lines 73-79 Link Here
73
      - $ref: "../swagger.yaml#/parameters/order_by"
73
      - $ref: "../swagger.yaml#/parameters/order_by"
74
      - $ref: "../swagger.yaml#/parameters/q_param"
74
      - $ref: "../swagger.yaml#/parameters/q_param"
75
      - $ref: "../swagger.yaml#/parameters/q_body"
75
      - $ref: "../swagger.yaml#/parameters/q_body"
76
      - $ref: "../swagger.yaml#/parameters/q_header"
77
      - $ref: "../swagger.yaml#/parameters/request_id_header"
76
      - $ref: "../swagger.yaml#/parameters/request_id_header"
78
    produces:
77
    produces:
79
      - application/json
78
      - application/json
Lines 290-296 Link Here
290
      - $ref: "../swagger.yaml#/parameters/order_by"
289
      - $ref: "../swagger.yaml#/parameters/order_by"
291
      - $ref: "../swagger.yaml#/parameters/q_param"
290
      - $ref: "../swagger.yaml#/parameters/q_param"
292
      - $ref: "../swagger.yaml#/parameters/q_body"
291
      - $ref: "../swagger.yaml#/parameters/q_body"
293
      - $ref: "../swagger.yaml#/parameters/q_header"
294
      - $ref: "../swagger.yaml#/parameters/request_id_header"
292
      - $ref: "../swagger.yaml#/parameters/request_id_header"
295
      - name: x-koha-embed
293
      - name: x-koha-embed
296
        in: header
294
        in: header
Lines 354-360 Link Here
354
      - $ref: "../swagger.yaml#/parameters/per_page"
352
      - $ref: "../swagger.yaml#/parameters/per_page"
355
      - $ref: "../swagger.yaml#/parameters/q_param"
353
      - $ref: "../swagger.yaml#/parameters/q_param"
356
      - $ref: "../swagger.yaml#/parameters/q_body"
354
      - $ref: "../swagger.yaml#/parameters/q_body"
357
      - $ref: "../swagger.yaml#/parameters/q_header"
358
      - $ref: "../swagger.yaml#/parameters/request_id_header"
355
      - $ref: "../swagger.yaml#/parameters/request_id_header"
359
    consumes:
356
    consumes:
360
      - application/json
357
      - application/json
Lines 532-538 Link Here
532
      - $ref: "../swagger.yaml#/parameters/per_page"
529
      - $ref: "../swagger.yaml#/parameters/per_page"
533
      - $ref: "../swagger.yaml#/parameters/q_param"
530
      - $ref: "../swagger.yaml#/parameters/q_param"
534
      - $ref: "../swagger.yaml#/parameters/q_body"
531
      - $ref: "../swagger.yaml#/parameters/q_body"
535
      - $ref: "../swagger.yaml#/parameters/q_header"
536
    consumes:
532
    consumes:
537
      - application/json
533
      - application/json
538
    produces:
534
    produces:
Lines 636-642 Link Here
636
      - $ref: "../swagger.yaml#/parameters/per_page"
632
      - $ref: "../swagger.yaml#/parameters/per_page"
637
      - $ref: "../swagger.yaml#/parameters/q_param"
633
      - $ref: "../swagger.yaml#/parameters/q_param"
638
      - $ref: "../swagger.yaml#/parameters/q_body"
634
      - $ref: "../swagger.yaml#/parameters/q_body"
639
      - $ref: "../swagger.yaml#/parameters/q_header"
640
      - name: x-koha-embed
635
      - name: x-koha-embed
641
        in: header
636
        in: header
642
        required: false
637
        required: false
(-)a/api/v1/swagger/paths/biblios_item_groups.yaml (-1 lines)
Lines 28-34 Link Here
28
    - "$ref": "../swagger.yaml#/parameters/per_page"
28
    - "$ref": "../swagger.yaml#/parameters/per_page"
29
    - "$ref": "../swagger.yaml#/parameters/q_param"
29
    - "$ref": "../swagger.yaml#/parameters/q_param"
30
    - "$ref": "../swagger.yaml#/parameters/q_body"
30
    - "$ref": "../swagger.yaml#/parameters/q_body"
31
    - "$ref": "../swagger.yaml#/parameters/q_header"
32
    produces:
31
    produces:
33
    - application/yaml
32
    - application/yaml
34
    responses:
33
    responses:
(-)a/api/v1/swagger/paths/cash_registers.yaml (-1 lines)
Lines 16-22 Link Here
16
      - $ref: "../swagger.yaml#/parameters/per_page"
16
      - $ref: "../swagger.yaml#/parameters/per_page"
17
      - $ref: "../swagger.yaml#/parameters/q_param"
17
      - $ref: "../swagger.yaml#/parameters/q_param"
18
      - $ref: "../swagger.yaml#/parameters/q_body"
18
      - $ref: "../swagger.yaml#/parameters/q_body"
19
      - $ref: "../swagger.yaml#/parameters/q_header"
20
      - $ref: "../swagger.yaml#/parameters/request_id_header"
19
      - $ref: "../swagger.yaml#/parameters/request_id_header"
21
      - name: x-koha-embed
20
      - name: x-koha-embed
22
        in: header
21
        in: header
(-)a/api/v1/swagger/paths/checkouts.yaml (-1 lines)
Lines 14-20 Link Here
14
      - $ref: "../swagger.yaml#/parameters/order_by"
14
      - $ref: "../swagger.yaml#/parameters/order_by"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_header"
18
      - $ref: "../swagger.yaml#/parameters/request_id_header"
17
      - $ref: "../swagger.yaml#/parameters/request_id_header"
19
      - name: checked_in
18
      - name: checked_in
20
        in: query
19
        in: query
(-)a/api/v1/swagger/paths/cities.yaml (-1 lines)
Lines 35-41 Link Here
35
      - $ref: "../swagger.yaml#/parameters/per_page"
35
      - $ref: "../swagger.yaml#/parameters/per_page"
36
      - $ref: "../swagger.yaml#/parameters/q_param"
36
      - $ref: "../swagger.yaml#/parameters/q_param"
37
      - $ref: "../swagger.yaml#/parameters/q_body"
37
      - $ref: "../swagger.yaml#/parameters/q_body"
38
      - $ref: "../swagger.yaml#/parameters/q_header"
39
      - $ref: "../swagger.yaml#/parameters/request_id_header"
38
      - $ref: "../swagger.yaml#/parameters/request_id_header"
40
    responses:
39
    responses:
41
      "200":
40
      "200":
(-)a/api/v1/swagger/paths/config_smtp_servers.yaml (-1 lines)
Lines 15-21 Link Here
15
      - $ref: "../swagger.yaml#/parameters/per_page"
15
      - $ref: "../swagger.yaml#/parameters/per_page"
16
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_param"
17
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_body"
18
      - $ref: "../swagger.yaml#/parameters/q_header"
19
      - $ref: "../swagger.yaml#/parameters/request_id_header"
18
      - $ref: "../swagger.yaml#/parameters/request_id_header"
20
    responses:
19
    responses:
21
      "200":
20
      "200":
(-)a/api/v1/swagger/paths/erm_agreements.yaml (-1 lines)
Lines 76-82 Link Here
76
      - $ref: "../swagger.yaml#/parameters/per_page"
76
      - $ref: "../swagger.yaml#/parameters/per_page"
77
      - $ref: "../swagger.yaml#/parameters/q_param"
77
      - $ref: "../swagger.yaml#/parameters/q_param"
78
      - $ref: "../swagger.yaml#/parameters/q_body"
78
      - $ref: "../swagger.yaml#/parameters/q_body"
79
      - $ref: "../swagger.yaml#/parameters/q_header"
80
    responses:
79
    responses:
81
      200:
80
      200:
82
        description: A list of agreement
81
        description: A list of agreement
(-)a/api/v1/swagger/paths/erm_eholdings_packages.yaml (-1 lines)
Lines 60-66 Link Here
60
      - $ref: "../swagger.yaml#/parameters/per_page"
60
      - $ref: "../swagger.yaml#/parameters/per_page"
61
      - $ref: "../swagger.yaml#/parameters/q_param"
61
      - $ref: "../swagger.yaml#/parameters/q_param"
62
      - $ref: "../swagger.yaml#/parameters/q_body"
62
      - $ref: "../swagger.yaml#/parameters/q_body"
63
      - $ref: "../swagger.yaml#/parameters/q_header"
64
      - name: x-koha-embed
63
      - name: x-koha-embed
65
        in: header
64
        in: header
66
        required: false
65
        required: false
(-)a/api/v1/swagger/paths/erm_eholdings_packages_resources.yaml (-1 lines)
Lines 41-47 Link Here
41
      - $ref: "../swagger.yaml#/parameters/per_page"
41
      - $ref: "../swagger.yaml#/parameters/per_page"
42
      - $ref: "../swagger.yaml#/parameters/q_param"
42
      - $ref: "../swagger.yaml#/parameters/q_param"
43
      - $ref: "../swagger.yaml#/parameters/q_body"
43
      - $ref: "../swagger.yaml#/parameters/q_body"
44
      - $ref: "../swagger.yaml#/parameters/q_header"
45
      - name: x-koha-embed
44
      - name: x-koha-embed
46
        in: header
45
        in: header
47
        required: false
46
        required: false
(-)a/api/v1/swagger/paths/erm_eholdings_resources.yaml (-1 lines)
Lines 50-56 Link Here
50
      - $ref: "../swagger.yaml#/parameters/per_page"
50
      - $ref: "../swagger.yaml#/parameters/per_page"
51
      - $ref: "../swagger.yaml#/parameters/q_param"
51
      - $ref: "../swagger.yaml#/parameters/q_param"
52
      - $ref: "../swagger.yaml#/parameters/q_body"
52
      - $ref: "../swagger.yaml#/parameters/q_body"
53
      - $ref: "../swagger.yaml#/parameters/q_header"
54
    responses:
53
    responses:
55
      200:
54
      200:
56
        description: A list of eHoldings resources
55
        description: A list of eHoldings resources
(-)a/api/v1/swagger/paths/erm_eholdings_titles.yaml (-1 lines)
Lines 160-166 Link Here
160
      - $ref: "../swagger.yaml#/parameters/per_page"
160
      - $ref: "../swagger.yaml#/parameters/per_page"
161
      - $ref: "../swagger.yaml#/parameters/q_param"
161
      - $ref: "../swagger.yaml#/parameters/q_param"
162
      - $ref: "../swagger.yaml#/parameters/q_body"
162
      - $ref: "../swagger.yaml#/parameters/q_body"
163
      - $ref: "../swagger.yaml#/parameters/q_header"
164
    responses:
163
    responses:
165
      200:
164
      200:
166
        description: A list of eHoldings titles
165
        description: A list of eHoldings titles
(-)a/api/v1/swagger/paths/erm_eholdings_titles_resources.yaml (-1 lines)
Lines 41-47 Link Here
41
      - $ref: "../swagger.yaml#/parameters/per_page"
41
      - $ref: "../swagger.yaml#/parameters/per_page"
42
      - $ref: "../swagger.yaml#/parameters/q_param"
42
      - $ref: "../swagger.yaml#/parameters/q_param"
43
      - $ref: "../swagger.yaml#/parameters/q_body"
43
      - $ref: "../swagger.yaml#/parameters/q_body"
44
      - $ref: "../swagger.yaml#/parameters/q_header"
45
      - name: x-koha-embed
44
      - name: x-koha-embed
46
        in: header
45
        in: header
47
        required: false
46
        required: false
(-)a/api/v1/swagger/paths/erm_licenses.yaml (-1 lines)
Lines 50-56 Link Here
50
      - $ref: "../swagger.yaml#/parameters/per_page"
50
      - $ref: "../swagger.yaml#/parameters/per_page"
51
      - $ref: "../swagger.yaml#/parameters/q_param"
51
      - $ref: "../swagger.yaml#/parameters/q_param"
52
      - $ref: "../swagger.yaml#/parameters/q_body"
52
      - $ref: "../swagger.yaml#/parameters/q_body"
53
      - $ref: "../swagger.yaml#/parameters/q_header"
54
      - name: x-koha-embed
53
      - name: x-koha-embed
55
        in: header
54
        in: header
56
        required: false
55
        required: false
(-)a/api/v1/swagger/paths/erm_users.yaml (-1 lines)
Lines 14-20 Link Here
14
      - $ref: "../swagger.yaml#/parameters/per_page"
14
      - $ref: "../swagger.yaml#/parameters/per_page"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_header"
18
      - name: x-koha-embed
17
      - name: x-koha-embed
19
        in: header
18
        in: header
20
        required: false
19
        required: false
(-)a/api/v1/swagger/paths/holds.yaml (-2 lines)
Lines 87-93 Link Here
87
      - $ref: "../swagger.yaml#/parameters/per_page"
87
      - $ref: "../swagger.yaml#/parameters/per_page"
88
      - $ref: "../swagger.yaml#/parameters/q_param"
88
      - $ref: "../swagger.yaml#/parameters/q_param"
89
      - $ref: "../swagger.yaml#/parameters/q_body"
89
      - $ref: "../swagger.yaml#/parameters/q_body"
90
      - $ref: "../swagger.yaml#/parameters/q_header"
91
      - $ref: "../swagger.yaml#/parameters/request_id_header"
90
      - $ref: "../swagger.yaml#/parameters/request_id_header"
92
    produces:
91
    produces:
93
      - application/json
92
      - application/json
Lines 591-597 Link Here
591
      - $ref: "../swagger.yaml#/parameters/per_page"
590
      - $ref: "../swagger.yaml#/parameters/per_page"
592
      - $ref: "../swagger.yaml#/parameters/q_param"
591
      - $ref: "../swagger.yaml#/parameters/q_param"
593
      - $ref: "../swagger.yaml#/parameters/q_body"
592
      - $ref: "../swagger.yaml#/parameters/q_body"
594
      - $ref: "../swagger.yaml#/parameters/q_header"
595
      - $ref: "../swagger.yaml#/parameters/request_id_header"
593
      - $ref: "../swagger.yaml#/parameters/request_id_header"
596
    produces:
594
    produces:
597
      - application/json
595
      - application/json
(-)a/api/v1/swagger/paths/ill_requests.yaml (-1 lines)
Lines 13-19 Link Here
13
      - $ref: "../swagger.yaml#/parameters/order_by"
13
      - $ref: "../swagger.yaml#/parameters/order_by"
14
      - $ref: "../swagger.yaml#/parameters/q_param"
14
      - $ref: "../swagger.yaml#/parameters/q_param"
15
      - $ref: "../swagger.yaml#/parameters/q_body"
15
      - $ref: "../swagger.yaml#/parameters/q_body"
16
      - $ref: "../swagger.yaml#/parameters/q_header"
17
      - $ref: "../swagger.yaml#/parameters/request_id_header"
16
      - $ref: "../swagger.yaml#/parameters/request_id_header"
18
      - name: x-koha-embed
17
      - name: x-koha-embed
19
        in: header
18
        in: header
(-)a/api/v1/swagger/paths/import_batch_profiles.yaml (-1 lines)
Lines 18-24 Link Here
18
      - $ref: "../swagger.yaml#/parameters/per_page"
18
      - $ref: "../swagger.yaml#/parameters/per_page"
19
      - $ref: "../swagger.yaml#/parameters/q_param"
19
      - $ref: "../swagger.yaml#/parameters/q_param"
20
      - $ref: "../swagger.yaml#/parameters/q_body"
20
      - $ref: "../swagger.yaml#/parameters/q_body"
21
      - $ref: "../swagger.yaml#/parameters/q_header"
22
      - $ref: "../swagger.yaml#/parameters/request_id_header"
21
      - $ref: "../swagger.yaml#/parameters/request_id_header"
23
    consumes:
22
    consumes:
24
      - application/json
23
      - application/json
(-)a/api/v1/swagger/paths/items.yaml (-4 lines)
Lines 28-34 Link Here
28
      - $ref: "../swagger.yaml#/parameters/per_page"
28
      - $ref: "../swagger.yaml#/parameters/per_page"
29
      - $ref: "../swagger.yaml#/parameters/q_param"
29
      - $ref: "../swagger.yaml#/parameters/q_param"
30
      - $ref: "../swagger.yaml#/parameters/q_body"
30
      - $ref: "../swagger.yaml#/parameters/q_body"
31
      - $ref: "../swagger.yaml#/parameters/q_header"
32
      - $ref: "../swagger.yaml#/parameters/request_id_header"
31
      - $ref: "../swagger.yaml#/parameters/request_id_header"
33
    consumes:
32
    consumes:
34
      - application/json
33
      - application/json
Lines 240-246 Link Here
240
      - $ref: "../swagger.yaml#/parameters/per_page"
239
      - $ref: "../swagger.yaml#/parameters/per_page"
241
      - $ref: "../swagger.yaml#/parameters/q_param"
240
      - $ref: "../swagger.yaml#/parameters/q_param"
242
      - $ref: "../swagger.yaml#/parameters/q_body"
241
      - $ref: "../swagger.yaml#/parameters/q_body"
243
      - $ref: "../swagger.yaml#/parameters/q_header"
244
      - name: x-koha-embed
242
      - name: x-koha-embed
245
        in: header
243
        in: header
246
        required: false
244
        required: false
Lines 353-359 Link Here
353
      - $ref: "../swagger.yaml#/parameters/per_page"
351
      - $ref: "../swagger.yaml#/parameters/per_page"
354
      - $ref: "../swagger.yaml#/parameters/q_param"
352
      - $ref: "../swagger.yaml#/parameters/q_param"
355
      - $ref: "../swagger.yaml#/parameters/q_body"
353
      - $ref: "../swagger.yaml#/parameters/q_body"
356
      - $ref: "../swagger.yaml#/parameters/q_header"
357
      - $ref: "../swagger.yaml#/parameters/request_id_header"
354
      - $ref: "../swagger.yaml#/parameters/request_id_header"
358
    consumes:
355
    consumes:
359
      - application/json
356
      - application/json
Lines 415-421 Link Here
415
      - $ref: "../swagger.yaml#/parameters/per_page"
412
      - $ref: "../swagger.yaml#/parameters/per_page"
416
      - $ref: "../swagger.yaml#/parameters/q_param"
413
      - $ref: "../swagger.yaml#/parameters/q_param"
417
      - $ref: "../swagger.yaml#/parameters/q_body"
414
      - $ref: "../swagger.yaml#/parameters/q_body"
418
      - $ref: "../swagger.yaml#/parameters/q_header"
419
      - $ref: "../swagger.yaml#/parameters/request_id_header"
415
      - $ref: "../swagger.yaml#/parameters/request_id_header"
420
      - name: x-koha-embed
416
      - name: x-koha-embed
421
        in: header
417
        in: header
(-)a/api/v1/swagger/paths/jobs.yaml (-1 lines)
Lines 20-26 Link Here
20
      - $ref: "../swagger.yaml#/parameters/per_page"
20
      - $ref: "../swagger.yaml#/parameters/per_page"
21
      - $ref: "../swagger.yaml#/parameters/q_param"
21
      - $ref: "../swagger.yaml#/parameters/q_param"
22
      - $ref: "../swagger.yaml#/parameters/q_body"
22
      - $ref: "../swagger.yaml#/parameters/q_body"
23
      - $ref: "../swagger.yaml#/parameters/q_header"
24
      - $ref: "../swagger.yaml#/parameters/request_id_header"
23
      - $ref: "../swagger.yaml#/parameters/request_id_header"
25
    responses:
24
    responses:
26
      "200":
25
      "200":
(-)a/api/v1/swagger/paths/libraries.yaml (-2 lines)
Lines 93-99 Link Here
93
      - $ref: "../swagger.yaml#/parameters/per_page"
93
      - $ref: "../swagger.yaml#/parameters/per_page"
94
      - $ref: "../swagger.yaml#/parameters/q_param"
94
      - $ref: "../swagger.yaml#/parameters/q_param"
95
      - $ref: "../swagger.yaml#/parameters/q_body"
95
      - $ref: "../swagger.yaml#/parameters/q_body"
96
      - $ref: "../swagger.yaml#/parameters/q_header"
97
      - $ref: "../swagger.yaml#/parameters/request_id_header"
96
      - $ref: "../swagger.yaml#/parameters/request_id_header"
98
      - name: x-koha-embed
97
      - name: x-koha-embed
99
        in: header
98
        in: header
Lines 319-325 Link Here
319
      - $ref: "../swagger.yaml#/parameters/per_page"
318
      - $ref: "../swagger.yaml#/parameters/per_page"
320
      - $ref: "../swagger.yaml#/parameters/q_param"
319
      - $ref: "../swagger.yaml#/parameters/q_param"
321
      - $ref: "../swagger.yaml#/parameters/q_body"
320
      - $ref: "../swagger.yaml#/parameters/q_body"
322
      - $ref: "../swagger.yaml#/parameters/q_header"
323
      - $ref: "../swagger.yaml#/parameters/request_id_header"
321
      - $ref: "../swagger.yaml#/parameters/request_id_header"
324
    produces:
322
    produces:
325
      - application/json
323
      - application/json
(-)a/api/v1/swagger/paths/patrons.yaml (-1 lines)
Lines 345-351 Link Here
345
      - $ref: "../swagger.yaml#/parameters/per_page"
345
      - $ref: "../swagger.yaml#/parameters/per_page"
346
      - $ref: "../swagger.yaml#/parameters/q_param"
346
      - $ref: "../swagger.yaml#/parameters/q_param"
347
      - $ref: "../swagger.yaml#/parameters/q_body"
347
      - $ref: "../swagger.yaml#/parameters/q_body"
348
      - $ref: "../swagger.yaml#/parameters/q_header"
349
      - $ref: "../swagger.yaml#/parameters/request_id_header"
348
      - $ref: "../swagger.yaml#/parameters/request_id_header"
350
      - name: x-koha-embed
349
      - name: x-koha-embed
351
        in: header
350
        in: header
(-)a/api/v1/swagger/paths/patrons_account.yaml (-2 lines)
Lines 60-66 Link Here
60
      - $ref: "../swagger.yaml#/parameters/per_page"
60
      - $ref: "../swagger.yaml#/parameters/per_page"
61
      - $ref: "../swagger.yaml#/parameters/q_param"
61
      - $ref: "../swagger.yaml#/parameters/q_param"
62
      - $ref: "../swagger.yaml#/parameters/q_body"
62
      - $ref: "../swagger.yaml#/parameters/q_body"
63
      - $ref: "../swagger.yaml#/parameters/q_header"
64
    responses:
63
    responses:
65
      "200":
64
      "200":
66
        description: A list of credits
65
        description: A list of credits
Lines 149-155 Link Here
149
      - $ref: "../swagger.yaml#/parameters/per_page"
148
      - $ref: "../swagger.yaml#/parameters/per_page"
150
      - $ref: "../swagger.yaml#/parameters/q_param"
149
      - $ref: "../swagger.yaml#/parameters/q_param"
151
      - $ref: "../swagger.yaml#/parameters/q_body"
150
      - $ref: "../swagger.yaml#/parameters/q_body"
152
      - $ref: "../swagger.yaml#/parameters/q_header"
153
    responses:
151
    responses:
154
      "200":
152
      "200":
155
        description: A list of debits
153
        description: A list of debits
(-)a/api/v1/swagger/paths/patrons_extended_attributes.yaml (-1 lines)
Lines 14-20 Link Here
14
      - $ref: "../swagger.yaml#/parameters/per_page"
14
      - $ref: "../swagger.yaml#/parameters/per_page"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_header"
18
      - $ref: "../swagger.yaml#/parameters/request_id_header"
17
      - $ref: "../swagger.yaml#/parameters/request_id_header"
19
    produces:
18
    produces:
20
      - application/json
19
      - application/json
(-)a/api/v1/swagger/paths/patrons_holds.yaml (-1 lines)
Lines 14-20 Link Here
14
      - $ref: "../swagger.yaml#/parameters/per_page"
14
      - $ref: "../swagger.yaml#/parameters/per_page"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_header"
18
      - $ref: "../swagger.yaml#/parameters/request_id_header"
17
      - $ref: "../swagger.yaml#/parameters/request_id_header"
19
    produces:
18
    produces:
20
      - application/json
19
      - application/json
(-)a/api/v1/swagger/paths/quotes.yaml (-1 lines)
Lines 35-41 Link Here
35
      - $ref: "../swagger.yaml#/parameters/per_page"
35
      - $ref: "../swagger.yaml#/parameters/per_page"
36
      - $ref: "../swagger.yaml#/parameters/q_param"
36
      - $ref: "../swagger.yaml#/parameters/q_param"
37
      - $ref: "../swagger.yaml#/parameters/q_body"
37
      - $ref: "../swagger.yaml#/parameters/q_body"
38
      - $ref: "../swagger.yaml#/parameters/q_header"
39
      - $ref: "../swagger.yaml#/parameters/request_id_header"
38
      - $ref: "../swagger.yaml#/parameters/request_id_header"
40
    responses:
39
    responses:
41
      "200":
40
      "200":
(-)a/api/v1/swagger/paths/search_filters.yaml (-1 lines)
Lines 15-21 Link Here
15
      - $ref: "../swagger.yaml#/parameters/per_page"
15
      - $ref: "../swagger.yaml#/parameters/per_page"
16
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_param"
17
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_body"
18
      - $ref: "../swagger.yaml#/parameters/q_header"
19
      - $ref: "../swagger.yaml#/parameters/request_id_header"
18
      - $ref: "../swagger.yaml#/parameters/request_id_header"
20
    responses:
19
    responses:
21
      '200':
20
      '200':
(-)a/api/v1/swagger/paths/suggestions.yaml (-2 lines)
Lines 14-20 Link Here
14
      - $ref: "../swagger.yaml#/parameters/per_page"
14
      - $ref: "../swagger.yaml#/parameters/per_page"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
15
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
16
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_header"
18
      - $ref: "../swagger.yaml#/parameters/request_id_header"
17
      - $ref: "../swagger.yaml#/parameters/request_id_header"
19
    produces:
18
    produces:
20
      - application/json
19
      - application/json
Lines 246-252 Link Here
246
      - $ref: "../swagger.yaml#/parameters/per_page"
245
      - $ref: "../swagger.yaml#/parameters/per_page"
247
      - $ref: "../swagger.yaml#/parameters/q_param"
246
      - $ref: "../swagger.yaml#/parameters/q_param"
248
      - $ref: "../swagger.yaml#/parameters/q_body"
247
      - $ref: "../swagger.yaml#/parameters/q_body"
249
      - $ref: "../swagger.yaml#/parameters/q_header"
250
      - name: x-koha-embed
248
      - name: x-koha-embed
251
        in: header
249
        in: header
252
        required: false
250
        required: false
(-)a/api/v1/swagger/paths/tickets.yaml (-2 lines)
Lines 15-21 Link Here
15
      - $ref: "../swagger.yaml#/parameters/per_page"
15
      - $ref: "../swagger.yaml#/parameters/per_page"
16
      - $ref: "../swagger.yaml#/parameters/q_param"
16
      - $ref: "../swagger.yaml#/parameters/q_param"
17
      - $ref: "../swagger.yaml#/parameters/q_body"
17
      - $ref: "../swagger.yaml#/parameters/q_body"
18
      - $ref: "../swagger.yaml#/parameters/q_header"
19
      - $ref: "../swagger.yaml#/parameters/request_id_header"
18
      - $ref: "../swagger.yaml#/parameters/request_id_header"
20
      - name: x-koha-embed
19
      - name: x-koha-embed
21
        in: header
20
        in: header
Lines 228-234 Link Here
228
      - $ref: "../swagger.yaml#/parameters/per_page"
227
      - $ref: "../swagger.yaml#/parameters/per_page"
229
      - $ref: "../swagger.yaml#/parameters/q_param"
228
      - $ref: "../swagger.yaml#/parameters/q_param"
230
      - $ref: "../swagger.yaml#/parameters/q_body"
229
      - $ref: "../swagger.yaml#/parameters/q_body"
231
      - $ref: "../swagger.yaml#/parameters/q_header"
232
      - $ref: "../swagger.yaml#/parameters/request_id_header"
230
      - $ref: "../swagger.yaml#/parameters/request_id_header"
233
      - name: x-koha-embed
231
      - name: x-koha-embed
234
        in: header
232
        in: header
(-)a/api/v1/swagger/paths/transfer_limits.yaml (-1 lines)
Lines 33-39 Link Here
33
      - $ref: "../swagger.yaml#/parameters/per_page"
33
      - $ref: "../swagger.yaml#/parameters/per_page"
34
      - $ref: "../swagger.yaml#/parameters/q_param"
34
      - $ref: "../swagger.yaml#/parameters/q_param"
35
      - $ref: "../swagger.yaml#/parameters/q_body"
35
      - $ref: "../swagger.yaml#/parameters/q_body"
36
      - $ref: "../swagger.yaml#/parameters/q_header"
37
      - $ref: "../swagger.yaml#/parameters/request_id_header"
36
      - $ref: "../swagger.yaml#/parameters/request_id_header"
38
    produces:
37
    produces:
39
      - application/json
38
      - application/json
(-)a/api/v1/swagger/swagger.yaml (-7 lines)
Lines 595-606 parameters: Link Here
595
    required: false
595
    required: false
596
    schema:
596
    schema:
597
      type: object
597
      type: object
598
  q_header:
599
    description: Query filter sent as a request header
600
    in: header
601
    name: x-koha-query
602
    required: false
603
    type: string
604
  q_param:
598
  q_param:
605
    description: Query filter sent as a request parameter
599
    description: Query filter sent as a request parameter
606
    in: query
600
    in: query
Lines 711-717 info: Link Here
711
705
712
    * as a query parameter `q=`
706
    * as a query parameter `q=`
713
    * in the request body
707
    * in the request body
714
    * in a special header `x-koha-query`
715
708
716
    For simple field equality matches we can use `{ "fieldname": "value" }` where the fieldname
709
    For simple field equality matches we can use `{ "fieldname": "value" }` where the fieldname
717
    matches one of the fields as described in the particular endpoints response object.
710
    matches one of the fields as described in the particular endpoints response object.
(-)a/t/db_dependent/Koha/REST/Plugin/Objects.t (-35 / +24 lines)
Lines 81-87 get '/biblios' => sub { Link Here
81
    my $output = $c->req->params->to_hash;
81
    my $output = $c->req->params->to_hash;
82
    $output->{query} = $c->req->json if defined $c->req->json;
82
    $output->{query} = $c->req->json if defined $c->req->json;
83
    my $headers = $c->req->headers->to_hash;
83
    my $headers = $c->req->headers->to_hash;
84
    $output->{'x-koha-query'} = $headers->{'x-koha-query'} if defined $headers->{'x-koha-query'};
85
    $c->validation->output($output);
84
    $c->validation->output($output);
86
    my $biblios_set = Koha::Biblios->new;
85
    my $biblios_set = Koha::Biblios->new;
87
    $c->stash("koha.embed", {
86
    $c->stash("koha.embed", {
Lines 140-146 get '/cities/:city_id/rs' => sub { Link Here
140
};
139
};
141
140
142
# The tests
141
# The tests
143
use Test::More tests => 18;
142
use Test::More tests => 17;
144
use Test::Mojo;
143
use Test::Mojo;
145
144
146
use t::lib::Mocks;
145
use t::lib::Mocks;
Lines 456-485 subtest 'objects.search helper with q parameter' => sub { Link Here
456
    $schema->storage->txn_rollback;
455
    $schema->storage->txn_rollback;
457
};
456
};
458
457
459
subtest 'objects.search helper with x-koha-query header' => sub {
460
    plan tests => 4;
461
462
    $schema->storage->txn_begin;
463
464
    my $patron1 = $builder->build_object( { class => "Koha::Patrons" } );
465
    my $patron2 = $builder->build_object( { class => "Koha::Patrons" } );
466
    my $biblio1 = $builder->build_sample_biblio;
467
    my $biblio2 = $builder->build_sample_biblio;
468
    my $biblio3 = $builder->build_sample_biblio;
469
    my $suggestion1 = $builder->build_object( { class => "Koha::Suggestions", value => { suggestedby => $patron1->borrowernumber, biblionumber => $biblio1->biblionumber} } );
470
    my $suggestion2 = $builder->build_object( { class => "Koha::Suggestions", value => { suggestedby => $patron2->borrowernumber, biblionumber => $biblio2->biblionumber} } );
471
    my $suggestion3 = $builder->build_object( { class => "Koha::Suggestions", value => { suggestedby => $patron2->borrowernumber, biblionumber => $biblio3->biblionumber} } );
472
473
    my $t = Test::Mojo->new;
474
    $t->get_ok('/biblios' => {'x-koha-query' => '{"suggestions.suggester.patron_id": "'.$patron1->borrowernumber.'"}'})
475
      ->json_is('/count' => 1, 'there should be 1 biblio with suggestions of patron 1');
476
477
    $t->get_ok('/biblios' => {'x-koha-query' => '{"suggestions.suggester.patron_id": "'.$patron2->borrowernumber.'"}'})
478
      ->json_is('/count' => 2, 'there should be 2 biblios with suggestions of patron 2');
479
480
    $schema->storage->txn_rollback;
481
};
482
483
subtest 'objects.search helper with all query methods' => sub {
458
subtest 'objects.search helper with all query methods' => sub {
484
    plan tests => 6;
459
    plan tests => 6;
485
460
Lines 495-508 subtest 'objects.search helper with all query methods' => sub { Link Here
495
    my $suggestion3 = $builder->build_object( { class => "Koha::Suggestions", value => { suggestedby => $patron2->borrowernumber, biblionumber => $biblio3->biblionumber} } );
470
    my $suggestion3 = $builder->build_object( { class => "Koha::Suggestions", value => { suggestedby => $patron2->borrowernumber, biblionumber => $biblio3->biblionumber} } );
496
471
497
    my $t = Test::Mojo->new;
472
    my $t = Test::Mojo->new;
498
    $t->get_ok('/biblios?q={"suggestions.suggester.firstname": "'.$patron1->firstname.'"}' => {'x-koha-query' => '{"suggestions.suggester.patron_id": "'.$patron1->borrowernumber.'"}'} => json => {"suggestions.suggester.cardnumber" => $patron1->cardnumber})
473
    my $query = {
499
      ->json_is('/count' => 1, 'there should be 1 biblio with suggestions of patron 1');
474
        "suggestions.suggester.firstname" => $patron1->firstname,
500
475
        "suggestions.suggester.patron_id" => $patron1->id,
501
    $t->get_ok('/biblios?q={"suggestions.suggester.firstname": "'.$patron2->firstname.'"}' => {'x-koha-query' => '{"suggestions.suggester.patron_id": "'.$patron2->borrowernumber.'"}'} => json => {"suggestions.suggester.cardnumber" => $patron2->cardnumber})
476
    };
502
      ->json_is('/count' => 2, 'there should be 2 biblios with suggestions of patron 2');
477
    $t->get_ok(
503
478
        '/biblios?q=' . encode_json($query) => json => { "suggestions.suggester.cardnumber" => $patron1->cardnumber } )
504
    $t->get_ok('/biblios?q={"suggestions.suggester.firstname": "'.$patron1->firstname.'"}' => {'x-koha-query' => '{"suggestions.suggester.patron_id": "'.$patron2->borrowernumber.'"}'} => json => {"suggestions.suggester.cardnumber" => $patron2->cardnumber})
479
        ->json_is( '/count' => 1, 'there should be 1 biblio with suggestions of patron 1' );
505
      ->json_is('/count' => 0, 'there shouldn\'t be biblios where suggester has patron1 fistname and patron2 id');
480
481
    $query = {
482
        "suggestions.suggester.firstname" => $patron2->firstname,
483
        "suggestions.suggester.patron_id" => $patron2->id,
484
    };
485
    $t->get_ok(
486
        '/biblios?q=' . encode_json($query) => json => { "suggestions.suggester.cardnumber" => $patron2->cardnumber } )
487
        ->json_is( '/count' => 2, 'there should be 2 biblios with suggestions of patron 2' );
488
489
    $query = {
490
        "suggestions.suggester.firstname" => $patron1->firstname,
491
        "suggestions.suggester.patron_id" => $patron2->id,
492
    };
493
    $t->get_ok(
494
        '/biblios?q=' . encode_json($query) => json => { "suggestions.suggester.cardnumber" => $patron2->cardnumber } )
495
        ->json_is( '/count' => 0, 'there shouldn\'t be biblios where suggester has patron1 fistname and patron2 id' );
506
496
507
    $schema->storage->txn_rollback;
497
    $schema->storage->txn_rollback;
508
};
498
};
509
- 

Return to bug 33971