defmodule EasyPost.Webhook do
@doc """
Create a `Webhook`.
"""
@spec create(map) :: EasyPost.Operation.t()
def create(params) do
%EasyPost.Operation{ method: :post, params: params, path: "/webhooks" }
end
@doc """
Delete a `Webhook`.
"""
@spec delete(String.t()) :: EasyPost.Operation.t()
def delete(id) do
%EasyPost.Operation{ method: :delete, path: "/webhooks/#{id}" }
end
@doc """
Retrieve a `Webhook`.
"""
@spec get(String.t()) :: EasyPost.Operation.t()
def get(id) do
%EasyPost.Operation{ method: :get, path: "/webhooks/#{id}" }
end
@doc """
Retrieve a list of `Webhook`'s.
"""
@spec list :: EasyPost.Operation.t()
def list do
%EasyPost.Operation{ method: :get, path: "/webhooks" }
end
@doc """
Update a `Webhook`.
"""
@spec update(String.t(), map) :: EasyPost.Operation.t()
def update(id, params) do
%EasyPost.Operation{ method: :put, params: params, path: "/webhooks/#{id}" }
end
end