malware ignore list:
  help: Show malware ignore list
  type: dict
  return_type: IgnoreListAgentResponse
  cli:
    users:
      - root
  schema:
    since:
      type: integer
      coerce: int
      default: 0
      help: Show entries added after this unix timestamp.
    to:
      type: integer
      coerce: int
      default_setter: now
      help: Show entries added before this unix timestamp.
    limit:
      type: integer
      default: 50
      coerce: int
      help: Page size
    offset:
      type: integer
      default: 0
      coerce: int
      help: Page offset
    search:
      type: string
      nullable: true
      help: Search by file path.
    user:
      type: string
      nullable: true
      help: |
        Admins can filter results by user.
        Users can only see the paths relevant to them.
    order_by:
      type: list
      schema:
        type: order_by
        coerce: order_by
      nullable: true
      help: |
        List of fields to order by, each followed by a `+` (ascending) or `-` (descending).
        E.g. `["resource_type+","added_date-"]` would order by `resource_type` ascending and `added_date` descending.

malware ignore add:
  help: Add paths to malware ignore list
  type: dict
  return_type: NumberAgentResponse
  cli:
    users:
      - root
  schema:
    resource_type:
      type: string
      default: 'file'
      help: |
        Type of resource to ignore.
        Possible values: `file`, `db`.
    paths:
      type: list
      schema:
        type: string
        is_absolute_path: true
      required: true
      positional: true
      help: Paths to add to ignore list

    # DEPRECATED: UI old style
    items:
      rename: paths
      help: DEPRECATED

    user:
      type: string
      nullable: true
      help: (internal)

malware ignore delete:
  help: Remove paths from malware ignore list
  type: dict
  return_type: NumberAgentResponse
  cli:
    users:
      - root
  schema:
    ids:
      type: list
      schema:
        type: integer
        coerce: int
      required: true
      positional: true
      help: Entries to remove. The IDs can be obtained via `malware ignore list`.
    user:
      type: string
      nullable: true
      help: (internal)
    skip_rescan:
      type: boolean
      default: false
      help: |
        Skip rescanning the files that were removed from the ignore list.
        By default, every path that is removed from the ignore list is immediately rescanned.

malware ignore delete-ui:
  help: (internal)
  type: dict
  return_type: NumberAgentResponse
  schema:
    ids:
      type: list
      schema:
        type: integer
        coerce: int
      required: true
      positional: true
      help: IDs from ignore list to remove
    user:
      type: string
      nullable: true
