View Source Electric.Phoenix (Electric Phoenix v0.2.0-rc-2)
Wrappers to ease integration of Electric’s Postgres syncing service with Phoenix applications.
There are currently 2 integration modes: Phoenix.LiveView
streams and configuration
gateway.
Phoenix.LiveView Streams
Electric.Phoenix.LiveView.electric_stream/4
integrates with
Phoenix.LiveView.stream/4
and provides a live updating collection of items.
Configuration Gateway
Using Electric.Phoenix.Plug
you can create endpoints that
return configuration information for your Electric Typescript clients. See
that module's documentation for
more information.
Installation
Add electric_phoenix
to your application dependencies:
def deps do
[
{:electric_phoenix, "~> 0.1"}
]
end
Configuration
In your config/config.exs
or config/runtime.exs
you must configure the
client for the Electric streaming API:
import Config
config :electric_phoenix, Electric.Client,
# one of `base_url` or `endpoint` is required
base_url: System.get_env("ELECTRIC_URL", "http://localhost:3000"),
# endpoint: System.get_env("ELECTRIC_ENDPOINT", "http://localhost:3000/v1/shape"),
# optional
database_id: System.get_env("ELECTRIC_DATABASE_ID", nil)
See the documentation for Electric.Client.new/1
for information on the client configuration.
Summary
Functions
Create a new Electric.Client
instance based on the application config.
Types
@type shape_definition() :: Ecto.Queryable.t() | Client.ShapeDefinition.t()
Functions
Create a new Electric.Client
instance based on the application config.
See Electric.Client.new/1
for the available
options.