Class: OmnifocusMcp::Resources::FlaggedResource

Inherits:
Base
  • Object
show all
Defined in:
lib/omnifocus_mcp/resources/flagged_resource.rb

Overview

All flagged OmniFocus items.

Constant Summary collapse

FIELDS =
%w[id name dueDate projectName tagNames taskStatus].freeze

Instance Method Summary collapse

Methods inherited from Base

#content, #items_or_empty

Instance Method Details

#payloadObject



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/omnifocus_mcp/resources/flagged_resource.rb', line 16

def payload
  OmnifocusMcp.logger.warn("[resource:flagged] Reading flagged items")

  params = Tools::Params::QueryOmnifocusParams.from_hash(
    entity: "tasks",
    filters: { flagged: true },
    fields: FIELDS
  )
  Tools::Operations::QueryOmnifocus.call(params).fold(
    on_ok: ->(match) { snake_case_keys(match.items || []) },
    on_error: ->(err) { { error: err } }
  )
end