---
"/rotas":
  get:
    x-mojo-to: StockRotation::Rotas#list
    operationId: listRotas
    tags:
      - stockrotation
    summary: List rotas
    produces:
      - application/json
    parameters:
      - $ref: "../swagger.yaml#/parameters/match"
      - $ref: "../swagger.yaml#/parameters/order_by"
      - $ref: "../swagger.yaml#/parameters/page"
      - $ref: "../swagger.yaml#/parameters/per_page"
      - $ref: "../swagger.yaml#/parameters/q_param"
      - $ref: "../swagger.yaml#/parameters/q_body"
      - $ref: "../swagger.yaml#/parameters/request_id_header"
    responses:
      "200":
        description: A list of stockrotation rotas
        schema:
          type: array
          items:
            $ref: "../swagger.yaml#/definitions/rota"
      "400":
        description: |
          Bad request. Possible `error_code` attribute values:

            * `invalid_query`
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "403":
        description: Access forbidden
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "500":
        description: |
          Internal server error. Possible `error_code` attribute values:

          * `internal_server_error`
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "503":
        description: Under maintenance
        schema:
          $ref: "../swagger.yaml#/definitions/error"
    x-koha-authorization:
      permissions:
        catalogue: "1"
  post:
    x-mojo-to: StockRotation::Rotas#add
    operationId: addRota
    tags:
      - stockrotation
    summary: Add rota
    parameters:
      - name: body
        in: body
        description: A JSON object containing informations about the new hold
        required: true
        schema:
          $ref: "../swagger.yaml#/definitions/rota"
    produces:
      - application/json
    responses:
      "201":
        description: Rota added
        schema:
          $ref: "../swagger.yaml#/definitions/rota"
      "400":
        description: Bad request
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "401":
        description: Authentication required
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "403":
        description: Access forbidden
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "500":
        description: |
          Internal server error. Possible `error_code` attribute values:

          * `internal_server_error`
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "503":
        description: Under maintenance
        schema:
          $ref: "../swagger.yaml#/definitions/error"
    x-koha-authorization:
      permissions:
        stockrotation: "1"
"/rotas/{rota_id}":
  get:
    x-mojo-to: StockRotation::Rotas#get
    operationId: getRota
    tags:
      - stockrotation
    summary: Get rota
    parameters:
      - $ref: "../swagger.yaml#/parameters/rota_id_pp"
    produces:
      - application/json
    responses:
      "200":
        description: A rota
        schema:
          $ref: "../swagger.yaml#/definitions/rota"
      "400":
        description: Bad request
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "404":
        description: Rota not found
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "500":
        description: |
          Internal server error. Possible `error_code` attribute values:

          * `internal_server_error`
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "503":
        description: Under maintenance
        schema:
          $ref: "../swagger.yaml#/definitions/error"
    x-koha-authorization:
      permissions:
        catalogue: "1"
  put:
    x-mojo-to: StockRotation::Rotas#update
    operationId: updateRota
    tags:
      - stockrotation
    summary: Update rota
    parameters:
      - $ref: "../swagger.yaml#/parameters/rota_id_pp"
      - name: body
        in: body
        description: A rota object
        required: true
        schema:
          $ref: "../swagger.yaml#/definitions/rota"
    produces:
      - application/json
    responses:
      "200":
        description: A rota
        schema:
          $ref: "../swagger.yaml#/definitions/rota"
      "400":
        description: Bad request
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "401":
        description: Authentication required
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "403":
        description: Access forbidden
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "404":
        description: Rota not found
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "500":
        description: Internal error
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "503":
        description: Under maintenance
        schema:
          $ref: "../swagger.yaml#/definitions/error"
    x-koha-authorization:
      permissions:
        stockrotation: "1"
  delete:
    x-mojo-to: StockRotation::Rotas#delete
    operationId: deleteRota
    tags:
      - stockrotation
    summary: Delete rota
    parameters:
      - $ref: "../swagger.yaml#/parameters/rota_id_pp"
    produces:
      - application/json
    responses:
      "204":
        description: Rota deleted
      "400":
        description: Bad request
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "401":
        description: Authentication required
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "403":
        description: Access forbidden
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "404":
        description: Rota not found
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "500":
        description: Internal error
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "503":
        description: Under maintenance
        schema:
          $ref: "../swagger.yaml#/definitions/error"
    x-koha-authorization:
      permissions:
        stockrotation: "1"
"/rotas/{rota_id}/stages/{stage_id}/position":
  put:
    x-mojo-to: StockRotation::Stage#move
    operationId: moveStage
    summary: Update stage
    tags:
      - stockrotation
    parameters:
      - name: rota_id
        in: path
        required: true
        description: A rotas ID
        type: integer
      - name: stage_id
        in: path
        required: true
        description: A stages ID
        type: integer
      - name: position
        in: body
        required: true
        description: A stages position in the rota
        schema:
          type: integer
    produces:
      - application/json
    responses:
      "200":
        description: OK
      "400":
        description: Bad request
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "401":
        description: Authentication required
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "403":
        description: Access forbidden
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "404":
        description: Position not found
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "500":
        description: |
          Internal server error. Possible `error_code` attribute values:

          * `internal_server_error`
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "503":
        description: Under maintenance
        schema:
          $ref: "../swagger.yaml#/definitions/error"
    x-koha-authorization:
      permissions:
        stockrotation: "1"
