Current section
Files
Jump to
Current section
Files
lib/xdk/activity.ex
# AUTO-GENERATED FILE - DO NOT EDIT
# This file was automatically generated by the XDK build tool.
# Any manual changes will be overwritten on the next generation.
defmodule Xdk.Activity do
@moduledoc "Auto-generated client for activity operations"
@doc """
Activity Stream
GET /2/activity/stream
Stream of X Activities
"""
@spec stream(Xdk.t(), opts :: keyword()) :: Enumerable.t()
def stream(client, opts \\ []) do
query =
[
{"backfill_minutes", Keyword.get(opts, :backfill_minutes)},
{"start_time", Keyword.get(opts, :start_time)},
{"end_time", Keyword.get(opts, :end_time)}
]
|> Xdk.Query.build()
Xdk.Streaming.ndjson_stream(client, :get, "/2/activity/stream", query: query)
end
@doc """
Update X activity subscription
PUT /2/activity/subscriptions/{subscription_id}
Updates a subscription for an X activity event
"""
@spec update_subscription(Xdk.t(), subscription_id :: String.t(), body :: map()) ::
{:ok, map()} | {:error, Xdk.Errors.error()}
def update_subscription(client, subscription_id, body) do
Xdk.request(client, :put, "/2/activity/subscriptions/{subscription_id}",
params: %{
"subscription_id" => subscription_id
},
json: body
)
end
@doc """
Deletes X activity subscription
DELETE /2/activity/subscriptions/{subscription_id}
Deletes a subscription for an X activity event
"""
@spec delete_subscription(Xdk.t(), subscription_id :: String.t()) ::
{:ok, map()} | {:error, Xdk.Errors.error()}
def delete_subscription(client, subscription_id) do
Xdk.request(client, :delete, "/2/activity/subscriptions/{subscription_id}",
params: %{
"subscription_id" => subscription_id
}
)
end
@doc """
Get X activity subscriptions
GET /2/activity/subscriptions
Get a list of active subscriptions for XAA
"""
@spec get_subscriptions(Xdk.t(), opts :: keyword()) ::
{:ok, map()} | {:error, Xdk.Errors.error()}
def get_subscriptions(client, opts \\ []) do
query =
[
{"max_results", Keyword.get(opts, :max_results)},
{"pagination_token", Keyword.get(opts, :pagination_token)}
]
|> Xdk.Query.build()
Xdk.request(client, :get, "/2/activity/subscriptions", query: query)
end
@doc """
Create X activity subscription
POST /2/activity/subscriptions
Creates a subscription for an X activity event
"""
@spec create_subscription(Xdk.t(), body :: map()) :: {:ok, map()} | {:error, Xdk.Errors.error()}
def create_subscription(client, body) do
Xdk.request(client, :post, "/2/activity/subscriptions", json: body)
end
end