ExTypesense.Key (ExTypesense v1.2.1)
View SourceTypesense allows you to create API Keys with fine-grained access control. You can restrict access on a per-collection, per-action, per-record or even per-field level or a mixture of these.
More here: https://typesense.org/docs/latest/api/api-keys.html
Summary
Functions
Typesense allows you to create API Keys with fine-grained access control. You can restrict access on a per-collection, per-action, per-record or even per-field level or a mixture of these.
Same as create_key/1
Same as create_key/2 but passes another connection.
Delete an API key given its ID.
Same as delete_key/1
Same as delete_key/2 but passes another connection.
Retrieve (metadata about) all keys.
Same as get_key/1
Same as get_key/2 but passes another connection.
Retrieve (metadata about) all keys.
Same as list_keys/0
Same as list_keys/1 but passes another connection.
Functions
@spec create_key(map()) :: {:ok, OpenApiTypesense.ApiKey.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Typesense allows you to create API Keys with fine-grained access control. You can restrict access on a per-collection, per-action, per-record or even per-field level or a mixture of these.
Examples
iex> body = %{
...> actions: ["documents:search"],
...> collections: ["companies"],
...> description: "Search-only companies key"
...> }
iex> ExTypesense.create_key(body)
@spec create_key(map() | OpenApiTypesense.Connection.t(), map() | keyword()) :: {:ok, OpenApiTypesense.ApiKey.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as create_key/1
ExTypesense.create_key(body, [])
ExTypesense.create_key(%{api_key: xyz, host: ...}, body)
ExTypesense.create_key(OpenApiTypesense.Connection.new(), body)
@spec create_key(map() | OpenApiTypesense.Connection.t(), map(), keyword()) :: {:ok, OpenApiTypesense.ApiKey.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as create_key/2 but passes another connection.
ExTypesense.create_key(%{api_key: xyz, host: ...}, body, [])
ExTypesense.create_key(OpenApiTypesense.Connection.new(), body, [])
@spec delete_key(integer()) :: {:ok, OpenApiTypesense.ApiKeyDeleteResponse.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Delete an API key given its ID.
@spec delete_key( map() | OpenApiTypesense.Connection.t() | integer(), integer() | keyword() ) :: {:ok, OpenApiTypesense.ApiKeyDeleteResponse.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as delete_key/1
ExTypesense.delete_key(6, [])
ExTypesense.delete_key(%{api_key: xyz, host: ...}, 7)
ExTypesense.delete_key(OpenApiTypesense.Connection.new(), 8)
@spec delete_key(map() | OpenApiTypesense.Connection.t(), integer(), keyword()) :: {:ok, OpenApiTypesense.ApiKeyDeleteResponse.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as delete_key/2 but passes another connection.
ExTypesense.delete_key(%{api_key: xyz, host: ...}, 7, [])
ExTypesense.delete_key(OpenApiTypesense.Connection.new(), 8, [])
@spec get_key(integer()) :: {:ok, OpenApiTypesense.ApiKey.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Retrieve (metadata about) all keys.
@spec get_key( map() | OpenApiTypesense.Connection.t() | integer(), integer() | keyword() ) :: {:ok, OpenApiTypesense.ApiKey.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as get_key/1
ExTypesense.get_key(6, [])
ExTypesense.get_key(%{api_key: xyz, host: ...}, 7)
ExTypesense.get_key(OpenApiTypesense.Connection.new(), 8)
@spec get_key(map() | OpenApiTypesense.Connection.t(), integer(), keyword()) :: {:ok, OpenApiTypesense.ApiKey.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as get_key/2 but passes another connection.
ExTypesense.get_key(%{api_key: xyz, host: ...}, 7, [])
ExTypesense.get_key(OpenApiTypesense.Connection.new(), 8, [])
@spec list_keys() :: {:ok, OpenApiTypesense.ApiKeysResponse.t()} | :error
Retrieve (metadata about) all keys.
@spec list_keys(map() | OpenApiTypesense.Connection.t() | keyword()) :: {:ok, OpenApiTypesense.ApiKeysResponse.t()} | :error
@spec list_keys(map() | OpenApiTypesense.Connection.t() | keyword()) :: {:ok, OpenApiTypesense.ApiKeysResponse.t()} | :error
Same as list_keys/0
ExTypesense.list_keys([])
ExTypesense.list_keys(%{api_key: xyz, host: ...})
ExTypesense.list_keys(OpenApiTypesense.Connection.new())
Same as list_keys/1 but passes another connection.
ExTypesense.list_keys(%{api_key: xyz, host: ...}, [])
ExTypesense.list_keys(OpenApiTypesense.Connection.new(), [])