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

(-)a/Koha/REST/V1/TopIssues.pm (+28 lines)
Line 0 Link Here
1
package Koha::REST::V1::TopIssues;
2
3
use Modern::Perl;
4
5
use Mojo::Base 'Mojolicious::Controller';
6
7
use C4::Context;
8
use C4::Circulation;
9
10
sub list {
11
    my $c = shift->openapi->valid_input or return;
12
    my $args = $c->req->params->to_hash // {};
13
14
    my $req = $c->req;
15
    my %params = (
16
        count => $args->{'count'},
17
        branch => $args->{'branch'},
18
        itemtype => $args->{'itemtype'},
19
        ccode => $args->{'ccode'},
20
        newness => $args->{'newness'},
21
    );
22
23
    my @results = GetTopIssues(\%params);
24
25
    return $c->render(status => 200, openapi => \@results);
26
}
27
28
1;
(-)a/api/v1/swagger/paths.json (+3 lines)
Lines 25-29 Link Here
25
  },
25
  },
26
  "/illrequests": {
26
  "/illrequests": {
27
    "$ref": "paths/illrequests.json#/~1illrequests"
27
    "$ref": "paths/illrequests.json#/~1illrequests"
28
  },
29
  "/topissues": {
30
    "$ref": "paths/topissues.json#/~1topissues"
28
  }
31
  }
29
}
32
}
(-)a/api/v1/swagger/paths/topissues.json (-1 / +95 lines)
Line 0 Link Here
0
- 
1
{
2
  "/topissues": {
3
    "get": {
4
      "x-mojo-to": "TopIssues#list",
5
      "operationId": "listTopIssues",
6
      "tags": ["issues"],
7
      "parameters": [
8
        {
9
          "name": "count",
10
          "in": "query",
11
          "type": "integer",
12
          "minimum": 1,
13
          "description": "Number of titles to retrieve"
14
        },
15
        {
16
          "name": "branch",
17
          "in": "query",
18
          "type": "string",
19
          "description": "Filter by branch code"
20
        },
21
        {
22
          "name": "itemtype",
23
          "in": "query",
24
          "type": "string",
25
          "description": "Filter by item type"
26
        },
27
        {
28
          "name": "ccode",
29
          "in": "query",
30
          "type": "string",
31
          "description": "Filter by collection code"
32
        },
33
        {
34
          "name": "newness",
35
          "in": "query",
36
          "type": "integer",
37
          "minimum": 1,
38
          "description": "Filter by newness (in days)"
39
        }
40
      ],
41
      "produces": [
42
        "application/json"
43
      ],
44
      "responses": {
45
        "200": {
46
          "description": "A borrower",
47
          "schema": {
48
            "type": "array",
49
            "items": {
50
              "type": "object",
51
              "properties": {
52
                "count": {
53
                  "description": "Number of issues for this title"
54
                },
55
                "copyrightdate": {
56
                  "description": "Copyright date"
57
                },
58
                "ccode": {
59
                  "description": "Collection code"
60
                },
61
                "itemtype": {
62
                  "description": "Item type"
63
                },
64
                "place": {
65
                  "description": "Publication place"
66
                },
67
                "author": {
68
                  "description": "Author"
69
                },
70
                "size": {
71
                  "description": "Material size"
72
                },
73
                "biblionumber": {
74
                  "description": "Biblio internal identifier"
75
                },
76
                "title": {
77
                  "description": "Title"
78
                },
79
                "publicationyear": {
80
                  "description": "Publication year"
81
                },
82
                "publishercode": {
83
                  "description": "Publisher code"
84
                },
85
                "pages": {
86
                  "description": "Number of pages"
87
                }
88
              }
89
            }
90
          }
91
        }
92
      }
93
    }
94
  }
95
}

Return to bug 14749