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

(-)a/Koha/REST/V1/AuthorisedValue.pm (+48 lines)
Line 0 Link Here
1
package Koha::REST::V1::AuthorisedValue;
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it under the
6
# terms of the GNU General Public License as published by the Free Software
7
# Foundation; either version 3 of the License, or (at your option) any later
8
# version.
9
#
10
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License along
15
# with Koha; if not, write to the Free Software Foundation, Inc.,
16
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
18
use Modern::Perl;
19
20
use Mojo::Base 'Mojolicious::Controller';
21
22
use C4::Auth qw( haspermission );
23
use Koha::AuthorizedValues;
24
25
BEGIN {
26
    warn "TEST";
27
}
28
29
sub list {
30
    my ( $c, $args, $cb ) = @_;
31
32
    my $user = $c->stash('koha.user');
33
    unless ( $user && haspermission( $user->userid, { catalogue => 1 } ) ) {
34
        return $c->$cb(
35
            {
36
                error => "You don't have the required permission"
37
            },
38
            403
39
        );
40
    }
41
42
    my $params       = $c->req->params->to_hash;
43
    my $av = Koha::Account::AuthorisedValues->search($params);
44
45
    return $c->$cb( $av->unblessed, 200 );
46
}
47
48
1;
(-)a/api/v1/swagger/definitions.json (+3 lines)
Lines 8-13 Link Here
8
  "hold": {
8
  "hold": {
9
    "$ref": "definitions/hold.json"
9
    "$ref": "definitions/hold.json"
10
  },
10
  },
11
  "authorised_value": {
12
    "$ref": "definitions/authorised_value.json"
13
  },
11
  "error": {
14
  "error": {
12
    "$ref": "definitions/error.json"
15
    "$ref": "definitions/error.json"
13
  }
16
  }
(-)a/api/v1/swagger/definitions/authorised_value.json (+25 lines)
Line 0 Link Here
1
{
2
  "type": "object",
3
  "properties": {
4
    "id": {
5
        "description": "The internal id for this authorised value"
6
    },
7
    "category": {
8
      "description": "The category of this authorised value"
9
    },
10
    "authorised_value": {
11
      "description": "The code for this authorised value"
12
    },
13
    "lib": {
14
      "description": "The staff interface description for this authorised value"
15
    },
16
    "lib_opac": {
17
      "type": ["string", "null"],
18
      "description": "The public interface description of this authorised value, if set"
19
    },
20
    "imageurl": {
21
      "type": ["string", "null"],
22
      "description": "The url of the image associated with this authorised value, if any"
23
    }
24
  }
25
}
(-)a/api/v1/swagger/paths.json (+3 lines)
Lines 10-14 Link Here
10
  },
10
  },
11
  "/patrons/{borrowernumber}": {
11
  "/patrons/{borrowernumber}": {
12
    "$ref": "paths/patrons.json#/~1patrons~1{borrowernumber}"
12
    "$ref": "paths/patrons.json#/~1patrons~1{borrowernumber}"
13
  },
14
  "/authorised_values": {
15
    "$ref": "paths/authorised_values.json#/~1authorised_values"
13
  }
16
  }
14
}
17
}
(-)a/api/v1/swagger/paths/authorised_values.json (-1 / +28 lines)
Line 0 Link Here
0
- 
1
{
2
  "/authorised_values": {
3
    "get": {
4
      "operationId": "listAuthorisedValues",
5
      "tags": ["authorised", "values"],
6
      "produces": [
7
        "application/json"
8
      ],
9
      "responses": {
10
        "200": {
11
          "description": "A list of authorised values",
12
          "schema": {
13
            "type": "array",
14
            "items": {
15
              "$ref": "../definitions.json#/authorised_value"
16
            }
17
          }
18
        },
19
        "403": {
20
          "description": "Access forbidden",
21
          "schema": {
22
            "$ref": "../definitions.json#/error"
23
          }
24
        }
25
      }
26
    }
27
  }
28
}

Return to bug 17390