---
/erm/eholdings/{provider}/resources:
  get:
    x-mojo-to: ERM::EHoldings::Resources#list
    operationId: listErmEHoldingsResources
    tags:
      - erm_eholdings_resources
    summary: List eholdings resources
    produces:
      - application/json
    parameters:
      - description: Provider name
        in: path
        name: provider
        required: true
        type: string
      - description: Case insensitive search on resource_id
        in: query
        name: resource_id
        required: false
        type: string
      - description: Case insensitive search on package_id
        in: query
        name: package_id
        required: false
        type: string
      - description: Case insensitive search on title vendor_id
        in: query
        name: vendor_id
        required: false
        type: integer
      - description: Case insensitive search on started_on
        in: query
        name: started_on
        required: false
        type: string
      - description: Case insensitive search on ended_on
        in: query
        name: ended_on
        required: false
        type: string
      - description: Case insensitive search on proxy
        in: query
        name: proxy
        required: false
        type: string
      - name: x-koha-embed
        in: header
        required: false
        description: Embed list sent as a request header
        type: array
        items:
          type: string
          enum:
            - package
            - title
      - $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"
    responses:
      200:
        description: A list of eHoldings resources
        schema:
          items:
            $ref: "../swagger.yaml#/definitions/erm_eholdings_resource"
          type: array
      "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:
        erm: 1
"/erm/eholdings/{provider}/resources/{resource_id}":
  get:
    x-mojo-to: ERM::EHoldings::Resources#get
    operationId: getErmEHoldingsResources
    tags:
      - erm_eholdings_resources
    summary: Get resources
    produces:
      - application/json
    parameters:
      - description: Provider name
        in: path
        name: provider
        required: true
        type: string
      - $ref: "../swagger.yaml#/parameters/eholdings_resource_id_pp"
      - name: x-koha-embed
        in: header
        required: false
        description: Embed list sent as a request header
        type: array
        items:
          type: string
          enum:
            - title
            - package
            - vendor
        collectionFormat: csv
    responses:
      200:
        description: An eHolding resource
        schema:
          items:
            $ref: "../swagger.yaml#/definitions/erm_eholdings_resource"
      "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: Ressource 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:
        erm: 1
  patch:
    x-mojo-to: ERM::EHoldings::Resources#edit
    operationId: editErmEHoldingsResources
    tags:
      - erm_eholdings_resources
    summary: Edit a resource
    produces:
      - application/json
    parameters:
      - description: Provider name
        in: path
        name: provider
        required: true
        type: string
      - description: A JSON object containing the fields to edit
        in: body
        name: body
        required: true
        schema:
          type: object
          properties:
            is_selected:
              description: Add or remove this resource from remote holdings
              type: boolean
          additionalProperties: false
      - $ref: "../swagger.yaml#/parameters/eholdings_resource_id_pp"
    responses:
      200:
        description: What has been modified
        schema:
          type: object
          properties:
            is_selected:
              description: Add or remove this resource from remote holdings
              type: boolean
          additionalProperties: false
      "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: Ressource 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:
        erm: 1
