Class: ModerationAPI::Resources::Queue::Items

Inherits:
Object
  • Object
show all
Defined in:
lib/moderation_api/resources/queue/items.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Items

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Items.

Parameters:



126
127
128
# File 'lib/moderation_api/resources/queue/items.rb', line 126

def initialize(client:)
  @client = client
end

Instance Method Details

#list(id, after_date: nil, author_id: nil, before_date: nil, conversation_ids: nil, filtered_action_ids: nil, include_resolved: nil, labels: nil, page_number: nil, page_size: nil, sort_direction: nil, sort_field: nil, request_options: {}) ⇒ ModerationAPI::Models::Queue::ItemListResponse

Get paginated list of items in a moderation queue with filtering options

Parameters:

Returns:

See Also:



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/moderation_api/resources/queue/items.rb', line 40

def list(id, params = {})
  parsed, options = ModerationAPI::Queue::ItemListParams.dump_request(params)
  query = ModerationAPI::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["queue/%1$s/items", id],
    query: query.transform_keys(
      after_date: "afterDate",
      author_id: "authorId",
      before_date: "beforeDate",
      conversation_ids: "conversationIds",
      filtered_action_ids: "filteredActionIds",
      include_resolved: "includeResolved",
      page_number: "pageNumber",
      page_size: "pageSize",
      sort_direction: "sortDirection",
      sort_field: "sortField"
    ),
    model: ModerationAPI::Models::Queue::ItemListResponse,
    options: options
  )
end

#resolve(item_id, id:, comment: nil, request_options: {}) ⇒ ModerationAPI::Models::Queue::ItemResolveResponse

Mark a queue item as resolved with a specific moderation action

Parameters:

  • item_id (String)

    Path param: The item ID to resolve

  • id (String)

    Path param: The queue ID

  • comment (String)

    Body param: Optional comment

  • request_options (ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/moderation_api/resources/queue/items.rb', line 78

def resolve(item_id, params)
  parsed, options = ModerationAPI::Queue::ItemResolveParams.dump_request(params)
  id =
    parsed.delete(:id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :post,
    path: ["queue/%1$s/items/%2$s/resolve", id, item_id],
    body: parsed,
    model: ModerationAPI::Models::Queue::ItemResolveResponse,
    options: options
  )
end

#unresolve(item_id, id:, comment: nil, request_options: {}) ⇒ ModerationAPI::Models::Queue::ItemUnresolveResponse

Mark a previously resolved queue item as unresolved/pending

Parameters:

  • item_id (String)

    Path param: The item ID to unresolve

  • id (String)

    Path param: The queue ID

  • comment (String)

    Body param: Optional reason for unresolving the item

  • request_options (ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/moderation_api/resources/queue/items.rb', line 108

def unresolve(item_id, params)
  parsed, options = ModerationAPI::Queue::ItemUnresolveParams.dump_request(params)
  id =
    parsed.delete(:id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :post,
    path: ["queue/%1$s/items/%2$s/unresolve", id, item_id],
    body: parsed,
    model: ModerationAPI::Models::Queue::ItemUnresolveResponse,
    options: options
  )
end