---
/advanced_editor/macros:
  get:
    x-mojo-to: AdvancedEditorMacro#list
    operationId: listMacro
    tags:
      - macros
    summary: List advanced editor macros
    produces:
      - application/json
    parameters:
      - name: name
        in: query
        description: Case insensative search on macro name
        required: false
        type: string
      - name: macro_text
        in: query
        description: Case insensative search on macro text
        required: false
        type: string
      - name: patron_id
        in: query
        description: Search on internal patron_id
        required: false
        type: string
      - name: shared
        in: query
        description: Search on shared macros
        required: false
        type: string
      - $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 macros
        schema:
          type: array
          items:
            $ref: "../swagger.yaml#/definitions/advancededitormacro"
      "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:
        editcatalogue: advanced_editor
  post:
    x-mojo-to: AdvancedEditorMacro#add
    operationId: addAdvancedEditorMacro
    tags:
      - macros
    summary: Add advanced editor macros
    parameters:
      - name: body
        in: body
        description: A JSON object containing informations about the new macro
        required: true
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
    produces:
      - application/json
    responses:
      "201":
        description: Macro added
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
      "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 error
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "503":
        description: Under maintenance
        schema:
          $ref: "../swagger.yaml#/definitions/error"
    x-koha-authorization:
      permissions:
        editcatalogue: advanced_editor
/advanced_editor/macros/shared:
  post:
    x-mojo-to: AdvancedEditorMacro#add_shared
    operationId: addsharedAdvancedEditorMacro
    tags:
      - macros
    summary: Add shared advanced editor macros
    parameters:
      - name: body
        in: body
        description: A JSON object containing informations about the new macro
        required: true
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
    produces:
      - application/json
    responses:
      "201":
        description: Macro added
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
      "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 error
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "503":
        description: Under maintenance
        schema:
          $ref: "../swagger.yaml#/definitions/error"
    x-koha-authorization:
      permissions:
        editcatalogue:
          advanced_editor: 1
          create_shared_macros: 1
"/advanced_editor/macros/{advancededitormacro_id}":
  get:
    x-mojo-to: AdvancedEditorMacro#get
    operationId: getAdvancedEditorMacro
    tags:
      - macros
    summary: Get advanced editor macro
    parameters:
      - $ref: "../swagger.yaml#/parameters/advancededitormacro_id_pp"
    produces:
      - application/json
    responses:
      "200":
        description: A macro
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
      "400":
        description: Bad request
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "403":
        description: Access forbidden
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "404":
        description: AdvancedEditorMacro 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:
        editcatalogue: advanced_editor
  put:
    x-mojo-to: AdvancedEditorMacro#update
    operationId: updateAdvancedEditorMacro
    tags:
      - macros
    summary: Update advanced editor macro
    parameters:
      - $ref: "../swagger.yaml#/parameters/advancededitormacro_id_pp"
      - name: body
        in: body
        description: An advanced editor macro object
        required: true
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
    produces:
      - application/json
    responses:
      "200":
        description: An advanced editor macro
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
      "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: Macro 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:
        editcatalogue: advanced_editor
  delete:
    x-mojo-to: AdvancedEditorMacro#delete
    operationId: deleteAdvancedEditorMacro
    tags:
      - macros
    summary: Delete advanced editor macro
    parameters:
      - $ref: "../swagger.yaml#/parameters/advancededitormacro_id_pp"
    produces:
      - application/json
    responses:
      "204":
        description: Advanced editor macro deleted
        schema:
          type: string
      "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: Macro 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:
        editcatalogue: advanced_editor
"/advanced_editor/macros/shared/{advancededitormacro_id}":
  get:
    x-mojo-to: AdvancedEditorMacro#get_shared
    operationId: getsharedAdvancedEditorMacro
    tags:
      - macros
    summary: Get shared advanced editor macro
    parameters:
      - $ref: "../swagger.yaml#/parameters/advancededitormacro_id_pp"
    produces:
      - application/json
    responses:
      "200":
        description: A macro
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
      "400":
        description: Bad request
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "403":
        description: Access forbidden
        schema:
          $ref: "../swagger.yaml#/definitions/error"
      "404":
        description: AdvancedEditorMacro 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:
        editcatalogue: advanced_editor
  put:
    x-mojo-to: AdvancedEditorMacro#update_shared
    operationId: updatesharedAdvancedEditorMacro
    tags:
      - macros
    summary: Update shared advanced editor macro
    parameters:
      - $ref: "../swagger.yaml#/parameters/advancededitormacro_id_pp"
      - name: body
        in: body
        description: An advanced editor macro object
        required: true
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
    produces:
      - application/json
    responses:
      "200":
        description: An advanced editor macro
        schema:
          $ref: "../swagger.yaml#/definitions/advancededitormacro"
      "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: Macro 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:
        editcatalogue:
          advanced_editor: 1
          create_shared_macros: 1
  delete:
    x-mojo-to: AdvancedEditorMacro#delete_shared
    operationId: deletesharedAdvancedEditorMacro
    tags:
      - macros
    summary: Delete shared advanced editor macro
    parameters:
      - $ref: "../swagger.yaml#/parameters/advancededitormacro_id_pp"
    produces:
      - application/json
    responses:
      "204":
        description: Advanced editor macro deleted
        schema:
          type: string
      "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: Macro 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:
        editcatalogue:
          advanced_editor: 1
          delete_shared_macros: 1
